VTK
vtkWebGLPolyData.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkWebGLPolyData.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
21 #ifndef vtkWebGLPolyData_h
22 #define vtkWebGLPolyData_h
23 
24 #include "vtkWebGLObject.h"
25 #include "vtkWebGLExporterModule.h" // needed for export macro
26 
27 class vtkActor;
28 class vtkMatrix4x4;
29 class vtkMapper;
30 class vtkPointData;
31 class vtkPolyData;
32 class vtkTriangleFilter;
33 
34 class VTKWEBGLEXPORTER_EXPORT vtkWebGLPolyData : public vtkWebGLObject
35 {
36 public:
37  static vtkWebGLPolyData* New();
39  void PrintSelf(ostream &os, vtkIndent indent) override;
40 
41  void GenerateBinaryData() override;
42  unsigned char* GetBinaryData(int part) override;
43  int GetBinarySize(int part) override;
44  int GetNumberOfParts() override;
45 
46  void GetPoints(vtkTriangleFilter* polydata, vtkActor* actor, int maxSize);
47 
48  void GetLinesFromPolygon(vtkMapper* mapper, vtkActor* actor, int lineMaxSize, double* edgeColor);
49  void GetLines(vtkTriangleFilter* polydata, vtkActor* actor, int lineMaxSize);
50  void GetColorsFromPolyData(unsigned char* color, vtkPolyData* polydata, vtkActor* actor);
51 
52  // Get following data from the actor
53  void GetPolygonsFromPointData(vtkTriangleFilter* polydata, vtkActor* actor, int maxSize);
54  void GetPolygonsFromCellData(vtkTriangleFilter* polydata, vtkActor* actor, int maxSize);
55  void GetColorsFromPointData(unsigned char* color, vtkPointData* pointdata, vtkPolyData* polydata, vtkActor* actor);
56 
57  void SetMesh(float* _vertices, int _numberOfVertices, int* _index, int _numberOfIndexes, float* _normals, unsigned char* _colors, float* _tcoords, int maxSize);
58  void SetLine(float* _points, int _numberOfPoints, int* _index, int _numberOfIndex, unsigned char* _colors, int maxSize);
59  void SetPoints(float* points, int numberOfPoints, unsigned char* colors, int maxSize);
61 
62 protected:
64  ~vtkWebGLPolyData() override;
65 
66 private:
67  vtkWebGLPolyData(const vtkWebGLPolyData&) = delete;
68  void operator=(const vtkWebGLPolyData&) = delete;
69 
70  class vtkInternal;
71  vtkInternal* Internal;
72 };
73 
74 #endif
vtkWebGLPolyData::New
static vtkWebGLPolyData * New()
vtkWebGLPolyData::GetBinarySize
int GetBinarySize(int part) override
vtkWebGLPolyData::GetColorsFromPolyData
void GetColorsFromPolyData(unsigned char *color, vtkPolyData *polydata, vtkActor *actor)
vtkWebGLPolyData::GenerateBinaryData
void GenerateBinaryData() override
vtkPointData
represent and manipulate point attribute data
Definition: vtkPointData.h:38
vtkWebGLObject.h
vtkWebGLPolyData::SetMesh
void SetMesh(float *_vertices, int _numberOfVertices, int *_index, int _numberOfIndexes, float *_normals, unsigned char *_colors, float *_tcoords, int maxSize)
vtkWebGLPolyData::GetColorsFromPointData
void GetColorsFromPointData(unsigned char *color, vtkPointData *pointdata, vtkPolyData *polydata, vtkActor *actor)
vtkX3D::color
@ color
Definition: vtkX3D.h:221
vtkX3D::points
@ points
Definition: vtkX3D.h:446
vtkWebGLPolyData::GetNumberOfParts
int GetNumberOfParts() override
vtkWebGLPolyData::GetLinesFromPolygon
void GetLinesFromPolygon(vtkMapper *mapper, vtkActor *actor, int lineMaxSize, double *edgeColor)
vtkMapper
abstract class specifies interface to map data to graphics primitives
Definition: vtkMapper.h:87
vtkWebGLPolyData::SetPoints
void SetPoints(float *points, int numberOfPoints, unsigned char *colors, int maxSize)
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:52
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:42
vtkTriangleFilter
convert input polygons and strips to triangles
Definition: vtkTriangleFilter.h:38
vtkWebGLObject
Definition: vtkWebGLObject.h:39
vtkWebGLPolyData::GetPolygonsFromCellData
void GetPolygonsFromCellData(vtkTriangleFilter *polydata, vtkActor *actor, int maxSize)
vtkWebGLPolyData
Definition: vtkWebGLPolyData.h:35
vtkWebGLPolyData::~vtkWebGLPolyData
~vtkWebGLPolyData() override
vtkWebGLPolyData::GetPolygonsFromPointData
void GetPolygonsFromPointData(vtkTriangleFilter *polydata, vtkActor *actor, int maxSize)
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:86
vtkWebGLPolyData::GetBinaryData
unsigned char * GetBinaryData(int part) override
vtkWebGLPolyData::GetPoints
void GetPoints(vtkTriangleFilter *polydata, vtkActor *actor, int maxSize)
vtkWebGLPolyData::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkWebGLPolyData::GetLines
void GetLines(vtkTriangleFilter *polydata, vtkActor *actor, int lineMaxSize)
vtkWebGLPolyData::vtkWebGLPolyData
vtkWebGLPolyData()
vtkWebGLPolyData::SetTransformationMatrix
void SetTransformationMatrix(vtkMatrix4x4 *m)
vtkWebGLPolyData::SetLine
void SetLine(float *_points, int _numberOfPoints, int *_index, int _numberOfIndex, unsigned char *_colors, int maxSize)