14#ifndef vtkOpenGLVertexBufferObject_h
15#define vtkOpenGLVertexBufferObject_h
18#include "vtkRenderingOpenGL2Module.h"
87 FOCAL_POINT_SHIFT_SCALE
124 virtual void SetShift(
const std::vector<double>& shift);
125 virtual void SetShift(
double x,
double y,
double z);
126 virtual void SetScale(
const std::vector<double>& scale);
127 virtual void SetScale(
double x,
double y,
double z);
150 vtkGetMacro(DataType,
int);
153 vtkGetMacro(DataTypeSize,
unsigned int);
156 vtkGetMacro(NumberOfTuples,
unsigned int);
159 vtkGetMacro(NumberOfComponents,
unsigned int);
162 vtkSetMacro(Stride,
unsigned int);
163 vtkGetMacro(Stride,
unsigned int);
208 static vtkTypeBool GlobalCoordShiftAndScaleEnabled;
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()
virtual ShiftScaleMethod GetCoordShiftAndScaleMethod()
void SetCache(vtkOpenGLVertexBufferObjectCache *cache)
static void GlobalCoordShiftAndScaleEnabledOn()
virtual void SetScale(double x, double y, double z)
static vtkTypeBool GetGlobalCoordShiftAndScaleEnabled()
~vtkOpenGLVertexBufferObject() override
unsigned int NumberOfTuples
virtual const std::vector< double > & GetShift()
unsigned int NumberOfComponents
virtual void SetCoordShiftAndScaleMethod(ShiftScaleMethod meth)
void UploadDataArray(vtkDataArray *array)
virtual const std::vector< double > & GetScale()
ShiftScaleMethod
Methods for VBO coordinate shift+scale-computation.
@ DISABLE_SHIFT_SCALE
Do not shift/scale point coordinates. Ever!
@ ALWAYS_AUTO_SHIFT_SCALE
Always shift scale using auto computed values.
@ MANUAL_SHIFT_SCALE
Manual shift/scale (for use with AppendVBO)
@ AUTO_SHIFT
Only Apply the shift.
@ NEAR_PLANE_SHIFT_SCALE
Shift scale based on camera settings.
@ AUTO_SHIFT_SCALE
The default, automatic computation.
virtual void SetScale(const std::vector< double > &scale)
virtual void SetShift(double x, double y, double z)
static void SetGlobalCoordShiftAndScaleEnabled(vtkTypeBool val)
static void GlobalCoordShiftAndScaleEnabledOff()
std::vector< float > PackedVBO
virtual void SetShift(const std::vector< double > &shift)
ShiftScaleMethod CoordShiftAndScaleMethod
std::vector< double > Scale
virtual void SetCamera(vtkCamera *cam)
bool CoordShiftAndScaleEnabled
void AppendDataArray(vtkDataArray *array)
std::vector< double > Shift
static vtkOpenGLVertexBufferObject * New()
virtual void SetProp3D(vtkProp3D *prop3d)
vtkWeakPointer< vtkProp3D > Prop3D
unsigned int DataTypeSize
std::vector< float > & GetPackedVBO()
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
represents an 3D object for placement in a rendered scene
record modification and/or execution time
a weak reference to a vtkObject.
OpenGL vertex buffer object.