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;
99 virtual void SetShift(
const std::vector<double>& shift);
100 virtual void SetShift(
double x,
double y,
double z);
102 virtual void SetScale(
double x,
double y,
double z);
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);
183 static vtkTypeBool GlobalCoordShiftAndScaleEnabled;
186 VTK_ABI_NAMESPACE_END
a virtual camera for 3D rendering
abstract superclass for arrays of numeric data
a simple class to control print indentation
manage vertex buffer objects shared within a context
void UpdateShiftScale(vtkDataArray *da)
virtual bool GetCoordShiftAndScaleEnabled()
void SetCache(vtkOpenGLVertexBufferObjectCache *cache)
static void GlobalCoordShiftAndScaleEnabledOn()
virtual void SetScale(double x, double y, double z)
virtual void SetCoordShiftAndScaleMethod(int meth)
static vtkTypeBool GetGlobalCoordShiftAndScaleEnabled()
~vtkOpenGLVertexBufferObject() override
unsigned int NumberOfTuples
unsigned int NumberOfComponents
void UploadDataArray(vtkDataArray *array)
virtual const std::vector< double > & GetScale()
virtual void SetScale(const std::vector< double > &scale)
virtual void SetShift(double x, double y, double z)
static void SetGlobalCoordShiftAndScaleEnabled(vtkTypeBool val)
std::vector< float > & GetPackedVBO()
virtual const std::vector< double > & GetShift()
static void GlobalCoordShiftAndScaleEnabledOff()
std::vector< float > PackedVBO
int CoordShiftAndScaleMethod
virtual void SetShift(const std::vector< double > &shift)
virtual int GetCoordShiftAndScaleMethod()
static vtkOpenGLVertexBufferObject * New()
std::vector< double > Scale
virtual void SetCamera(vtkCamera *cam)
bool CoordShiftAndScaleEnabled
void AppendDataArray(vtkDataArray *array)
std::vector< double > Shift
virtual void SetProp3D(vtkProp3D *prop3d)
vtkWeakPointer< vtkProp3D > Prop3D
unsigned int DataTypeSize
vtkOpenGLVertexBufferObjectCache * Cache
vtkOpenGLVertexBufferObject()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkWeakPointer< vtkCamera > Camera
ShiftScaleMethodType
Methods for VBO coordinate shift+scale-computation.
represents an 3D object for placement in a rendered scene
record modification and/or execution time
OpenGL vertex buffer object.