3 #ifndef vtkOpenGLVertexBufferObject_h
4 #define vtkOpenGLVertexBufferObject_h
8 #include "vtkRenderingOpenGL2Module.h"
11 VTK_ABI_NAMESPACE_BEGIN
56 static constexpr
int DISABLE_SHIFT_SCALE = ShiftScaleMethod::DISABLE_SHIFT_SCALE;
57 static constexpr
int AUTO_SHIFT_SCALE = ShiftScaleMethod::AUTO_SHIFT_SCALE;
58 static constexpr
int ALWAYS_AUTO_SHIFT_SCALE = ShiftScaleMethod::ALWAYS_AUTO_SHIFT_SCALE;
59 static constexpr
int MANUAL_SHIFT_SCALE = ShiftScaleMethod::MANUAL_SHIFT_SCALE;
60 static constexpr
int AUTO_SHIFT = ShiftScaleMethod::AUTO_SHIFT;
61 static constexpr
int NEAR_PLANE_SHIFT_SCALE = ShiftScaleMethod::NEAR_PLANE_SHIFT_SCALE;
62 static constexpr
int FOCAL_POINT_SHIFT_SCALE = ShiftScaleMethod::FOCAL_POINT_SHIFT_SCALE;
96 virtual bool GetCoordShiftAndScaleEnabled();
97 virtual int GetCoordShiftAndScaleMethod();
98 virtual void SetCoordShiftAndScaleMethod(
int meth);
99 virtual void SetShift(
const std::vector<double>& shift);
100 virtual void SetShift(
double x,
double y,
double z);
101 virtual void SetScale(
const std::vector<double>&
scale);
102 virtual void SetScale(
double x,
double y,
double z);
103 virtual const std::vector<double>& GetShift();
104 virtual const std::vector<double>& GetScale();
117 static void SetGlobalCoordShiftAndScaleEnabled(
vtkTypeBool val);
120 static vtkTypeBool GetGlobalCoordShiftAndScaleEnabled();
124 void SetDataType(
int v);
125 vtkGetMacro(DataType,
int);
128 vtkGetMacro(DataTypeSize,
unsigned int);
131 vtkGetMacro(NumberOfTuples,
unsigned int);
134 vtkGetMacro(NumberOfComponents,
unsigned int);
137 vtkSetMacro(Stride,
unsigned int);
138 vtkGetMacro(Stride,
unsigned int);
152 virtual void SetProp3D(
vtkProp3D* prop3d);
183 static vtkTypeBool GlobalCoordShiftAndScaleEnabled;
186 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