VTK
vtkWebGLDataSet.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkWebGLDataSet.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 vtkWebGLDataSet_h
22 #define vtkWebGLDataSet_h
23 
24 #include "vtkObject.h"
25 #include "vtkWebGLExporterModule.h" // needed for export macro
26 
27 #include "vtkWebGLObject.h" // Needed for the enum
28 #include <string> // needed for md5
29 
30 class VTKWEBGLEXPORTER_EXPORT vtkWebGLDataSet : public vtkObject
31 {
32 public:
33  static vtkWebGLDataSet* New();
34  vtkTypeMacro(vtkWebGLDataSet, vtkObject)
35  void PrintSelf(ostream &os, vtkIndent indent) override;
36 
37  void SetVertices(float* v, int size);
38  void SetIndexes(short* i, int size);
39  void SetNormals(float* n);
40  void SetColors(unsigned char* c);
41  void SetPoints(float* p, int size);
42  void SetTCoords(float *t);
43  void SetMatrix(float* m);
44  void SetType(WebGLObjectTypes t);
45 
46  unsigned char* GetBinaryData();
47  int GetBinarySize();
48  void GenerateBinaryData();
49  bool HasChanged();
50 
51  std::string GetMD5();
52 
53 protected:
55  ~vtkWebGLDataSet() override;
56 
61 
62  float* Matrix;
63  float* vertices;
64  float* normals;
65  short* indexes;
66  float* points;
67  float* tcoords;
68  unsigned char* colors;
69  unsigned char* binary; // Data in binary
70  int binarySize; // Size of the data in binary
71  bool hasChanged;
73 
74 private:
75  vtkWebGLDataSet(const vtkWebGLDataSet&) = delete;
76  void operator=(const vtkWebGLDataSet&) = delete;
77 };
78 
79 #endif
vtkWebGLDataSet::MD5
std::string MD5
Definition: vtkWebGLDataSet.h:72
vtkWebGLDataSet::NumberOfPoints
int NumberOfPoints
Definition: vtkWebGLDataSet.h:58
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:59
vtkWebGLDataSet::binarySize
int binarySize
Definition: vtkWebGLDataSet.h:70
vtkWebGLObject.h
vtkWebGLDataSet::Matrix
float * Matrix
Definition: vtkWebGLDataSet.h:62
vtkWebGLDataSet::normals
float * normals
Definition: vtkWebGLDataSet.h:64
vtkWebGLDataSet::binary
unsigned char * binary
Definition: vtkWebGLDataSet.h:69
vtkWebGLDataSet::NumberOfIndexes
int NumberOfIndexes
Definition: vtkWebGLDataSet.h:59
vtkWebGLDataSet::webGLType
WebGLObjectTypes webGLType
Definition: vtkWebGLDataSet.h:60
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkX3D::size
Definition: vtkX3D.h:253
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkWebGLDataSet::points
float * points
Definition: vtkWebGLDataSet.h:66
vtkObject.h
vtkX3D::string
Definition: vtkX3D.h:490
vtkWebGLDataSet::hasChanged
bool hasChanged
Definition: vtkWebGLDataSet.h:71
vtkWebGLDataSet::NumberOfVertices
int NumberOfVertices
Definition: vtkWebGLDataSet.h:57
vtkWebGLDataSet::indexes
short * indexes
Definition: vtkWebGLDataSet.h:65
vtkWebGLDataSet::tcoords
float * tcoords
Definition: vtkWebGLDataSet.h:67
WebGLObjectTypes
WebGLObjectTypes
Definition: vtkWebGLObject.h:32
vtkWebGLDataSet::colors
unsigned char * colors
Definition: vtkWebGLDataSet.h:68
vtkWebGLDataSet
Definition: vtkWebGLDataSet.h:30
vtkWebGLDataSet::vertices
float * vertices
Definition: vtkWebGLDataSet.h:63