3#ifndef vtkOpenGLVertexBufferObject_h
4#define vtkOpenGLVertexBufferObject_h
8#include "vtkRenderingOpenGL2Module.h"
11VTK_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;
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);
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);
184 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()
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
virtual const std::vector< double > & GetShift()
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)
static void GlobalCoordShiftAndScaleEnabledOff()
std::vector< float > PackedVBO
int CoordShiftAndScaleMethod
virtual void SetShift(const std::vector< double > &shift)
virtual int GetCoordShiftAndScaleMethod()
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
ShiftScaleMethodType
Methods for VBO coordinate shift+scale-computation.
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.