3 #ifndef vtkOpenGLVertexBufferObject_h
4 #define vtkOpenGLVertexBufferObject_h
8 #include "vtkRenderingOpenGL2Module.h"
11 VTK_ABI_NAMESPACE_BEGIN
57 static constexpr
int DISABLE_SHIFT_SCALE = ShiftScaleMethod::DISABLE_SHIFT_SCALE;
58 static constexpr
int AUTO_SHIFT_SCALE = ShiftScaleMethod::AUTO_SHIFT_SCALE;
59 static constexpr
int ALWAYS_AUTO_SHIFT_SCALE = ShiftScaleMethod::ALWAYS_AUTO_SHIFT_SCALE;
60 static constexpr
int MANUAL_SHIFT_SCALE = ShiftScaleMethod::MANUAL_SHIFT_SCALE;
61 static constexpr
int AUTO_SHIFT = ShiftScaleMethod::AUTO_SHIFT;
62 static constexpr
int NEAR_PLANE_SHIFT_SCALE = ShiftScaleMethod::NEAR_PLANE_SHIFT_SCALE;
63 static constexpr
int FOCAL_POINT_SHIFT_SCALE = ShiftScaleMethod::FOCAL_POINT_SHIFT_SCALE;
97 virtual bool GetCoordShiftAndScaleEnabled();
98 virtual int GetCoordShiftAndScaleMethod();
99 virtual void SetCoordShiftAndScaleMethod(
int meth);
100 virtual void SetShift(
const std::vector<double>& shift);
101 virtual void SetShift(
double x,
double y,
double z);
102 virtual void SetScale(
const std::vector<double>&
scale);
103 virtual void SetScale(
double x,
double y,
double z);
104 virtual const std::vector<double>& GetShift();
105 virtual const std::vector<double>& GetScale();
118 static void SetGlobalCoordShiftAndScaleEnabled(
vtkTypeBool val);
121 static vtkTypeBool GetGlobalCoordShiftAndScaleEnabled();
125 void SetDataType(
int v);
126 vtkGetMacro(DataType,
int);
129 vtkGetMacro(DataTypeSize,
unsigned int);
132 vtkGetMacro(NumberOfTuples,
unsigned int);
135 vtkGetMacro(NumberOfComponents,
unsigned int);
138 vtkSetMacro(Stride,
unsigned int);
139 vtkGetMacro(Stride,
unsigned int);
153 virtual void SetProp3D(
vtkProp3D* prop3d);
184 static vtkTypeBool GlobalCoordShiftAndScaleEnabled;
187 VTK_ABI_NAMESPACE_END
unsigned int NumberOfTuples
OpenGL vertex buffer object.
record modification and/or execution time
vtkOpenGLVertexBufferObjectCache * Cache
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
manage vertex buffer objects shared within a context
represents an 3D object for placement in a rendered scene
static void GlobalCoordShiftAndScaleEnabledOff()
int CoordShiftAndScaleMethod
static void GlobalCoordShiftAndScaleEnabledOn()
a simple class to control print indentation
a virtual camera for 3D rendering
abstract superclass for arrays of numeric data
ShiftScaleMethodType
Methods for VBO coordinate shift+scale-computation.
static vtkOpenGLBufferObject * New()
bool CoordShiftAndScaleEnabled
unsigned int DataTypeSize
std::vector< float > & GetPackedVBO()
std::vector< float > PackedVBO
unsigned int NumberOfComponents
vtkWeakPointer< vtkCamera > Camera
std::vector< double > Scale
std::vector< double > Shift
vtkWeakPointer< vtkProp3D > Prop3D