forked from Kitware/VTK
-
Notifications
You must be signed in to change notification settings - Fork 0
/
vtkWebGLPolyData.h
74 lines (57 loc) · 2.58 KB
/
vtkWebGLPolyData.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/*=========================================================================
Program: Visualization Toolkit
Module: vtkWebGLPolyData.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/**
* @class vtkWebGLPolyData
*
* PolyData representation for WebGL.
*/
#ifndef vtkWebGLPolyData_h
#define vtkWebGLPolyData_h
#include "vtkWebGLObject.h"
#include "vtkWebGLExporterModule.h" // needed for export macro
class vtkActor;
class vtkMatrix4x4;
class vtkMapper;
class vtkPointData;
class vtkPolyData;
class vtkTriangleFilter;
class VTKWEBGLEXPORTER_EXPORT vtkWebGLPolyData : public vtkWebGLObject
{
public:
static vtkWebGLPolyData* New();
vtkTypeMacro(vtkWebGLPolyData, vtkWebGLObject);
void PrintSelf(ostream &os, vtkIndent indent);
void GenerateBinaryData();
unsigned char* GetBinaryData(int part);
int GetBinarySize(int part);
int GetNumberOfParts();
void GetPoints(vtkTriangleFilter* polydata, vtkActor* actor, int maxSize);
void GetLinesFromPolygon(vtkMapper* mapper, vtkActor* actor, int lineMaxSize, double* edgeColor);
void GetLines(vtkTriangleFilter* polydata, vtkActor* actor, int lineMaxSize);
void GetColorsFromPolyData(unsigned char* color, vtkPolyData* polydata, vtkActor* actor);
// Get following data from the actor
void GetPolygonsFromPointData(vtkTriangleFilter* polydata, vtkActor* actor, int maxSize);
void GetPolygonsFromCellData(vtkTriangleFilter* polydata, vtkActor* actor, int maxSize);
void GetColorsFromPointData(unsigned char* color, vtkPointData* pointdata, vtkPolyData* polydata, vtkActor* actor);
void SetMesh(float* _vertices, int _numberOfVertices, int* _index, int _numberOfIndexes, float* _normals, unsigned char* _colors, float* _tcoords, int maxSize);
void SetLine(float* _points, int _numberOfPoints, int* _index, int _numberOfIndex, unsigned char* _colors, int maxSize);
void SetPoints(float* points, int numberOfPoints, unsigned char* colors, int maxSize);
void SetTransformationMatrix(vtkMatrix4x4* m);
protected:
vtkWebGLPolyData();
~vtkWebGLPolyData();
private:
vtkWebGLPolyData(const vtkWebGLPolyData&) VTK_DELETE_FUNCTION;
void operator=(const vtkWebGLPolyData&) VTK_DELETE_FUNCTION;
class vtkInternal;
vtkInternal* Internal;
};
#endif