VTK  9.3.20240425
vtkWebGLPolyData.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
8#ifndef vtkWebGLPolyData_h
9#define vtkWebGLPolyData_h
10
11#include "vtkWebGLExporterModule.h" // needed for export macro
12#include "vtkWebGLObject.h"
13
14VTK_ABI_NAMESPACE_BEGIN
15class vtkActor;
16class vtkMatrix4x4;
17class vtkMapper;
18class vtkPointData;
19class vtkPolyData;
21
22class VTKWEBGLEXPORTER_EXPORT vtkWebGLPolyData : public vtkWebGLObject
23{
24public:
27 void PrintSelf(ostream& os, vtkIndent indent) override;
28
29 void GenerateBinaryData() override;
30 unsigned char* GetBinaryData(int part) override;
31 int GetBinarySize(int part) override;
32 int GetNumberOfParts() override;
33
34 void GetPoints(vtkTriangleFilter* polydata, vtkActor* actor, int maxSize);
35
36 void GetLinesFromPolygon(vtkMapper* mapper, vtkActor* actor, int lineMaxSize, double* edgeColor);
37 void GetLines(vtkTriangleFilter* polydata, vtkActor* actor, int lineMaxSize);
38 void GetColorsFromPolyData(unsigned char* color, vtkPolyData* polydata, vtkActor* actor);
39
40 // Get following data from the actor
41 void GetPolygonsFromPointData(vtkTriangleFilter* polydata, vtkActor* actor, int maxSize);
42 void GetPolygonsFromCellData(vtkTriangleFilter* polydata, vtkActor* actor, int maxSize);
44 unsigned char* color, vtkPointData* pointdata, vtkPolyData* polydata, vtkActor* actor);
45
46 void SetMesh(float* _vertices, int _numberOfVertices, int* _index, int _numberOfIndexes,
47 float* _normals, unsigned char* _colors, float* _tcoords, int maxSize);
48 void SetLine(float* _points, int _numberOfPoints, int* _index, int _numberOfIndex,
49 unsigned char* _colors, int maxSize);
50 void SetPoints(float* points, int numberOfPoints, unsigned char* colors, int maxSize);
52
53protected:
56
57private:
58 vtkWebGLPolyData(const vtkWebGLPolyData&) = delete;
59 void operator=(const vtkWebGLPolyData&) = delete;
60
61 class vtkInternal;
62 vtkInternal* Internal;
63};
64
65VTK_ABI_NAMESPACE_END
66#endif
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:151
a simple class to control print indentation
Definition vtkIndent.h:108
abstract class specifies interface to map data to graphics primitives
Definition vtkMapper.h:137
represent and manipulate 4x4 transformation matrices
represent and manipulate point attribute data
concrete dataset represents vertices, lines, polygons, and triangle strips
convert input polygons and strips to triangles
vtkWebGLObject represent and manipulate an WebGL object and its data.
PolyData representation for WebGL.
void SetMesh(float *_vertices, int _numberOfVertices, int *_index, int _numberOfIndexes, float *_normals, unsigned char *_colors, float *_tcoords, int maxSize)
void GetColorsFromPolyData(unsigned char *color, vtkPolyData *polydata, vtkActor *actor)
void GenerateBinaryData() override
void GetLines(vtkTriangleFilter *polydata, vtkActor *actor, int lineMaxSize)
int GetBinarySize(int part) override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void GetColorsFromPointData(unsigned char *color, vtkPointData *pointdata, vtkPolyData *polydata, vtkActor *actor)
void GetPolygonsFromCellData(vtkTriangleFilter *polydata, vtkActor *actor, int maxSize)
void GetPoints(vtkTriangleFilter *polydata, vtkActor *actor, int maxSize)
void GetLinesFromPolygon(vtkMapper *mapper, vtkActor *actor, int lineMaxSize, double *edgeColor)
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 GetPolygonsFromPointData(vtkTriangleFilter *polydata, vtkActor *actor, int maxSize)
int GetNumberOfParts() override
void SetTransformationMatrix(vtkMatrix4x4 *m)
unsigned char * GetBinaryData(int part) override
~vtkWebGLPolyData() override
static vtkWebGLPolyData * New()