4 #ifndef vtkCompositeMapperHelper2_h
5 #define vtkCompositeMapperHelper2_h
9 #include "vtkRenderingOpenGL2Module.h"
13 #ifndef GL_ES_VERSION_3_0
15 #define vtkOpenGLPolyDataMapperImplementation vtkOpenGLPolyDataMapper
18 #define vtkOpenGLPolyDataMapperImplementation vtkOpenGLES30PolyDataMapper
22 VTK_ABI_NAMESPACE_BEGIN
104 std::map<vtkPolyData*, vtkCompositeMapperHelperData*>
Data;
115 GLenum
mode,
int pointSize);
144 std::vector<float>& norms);
162 std::vector<unsigned int> IndexArray[PrimitiveEnd];
181 VTK_ABI_NAMESPACE_END
represents an object (geometry & properties) in a rendered scene
Helper class for vtkCompositePolyDataMapper2 that is a subclass of vtkOpenGLPolyDataMapper.
vtkCompositeMapperHelper2()
void UpdateShaders(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act) override
Make sure appropriate shaders are defined, compiled and bound.
void ProcessSelectorPixelBuffers(vtkHardwareSelector *sel, std::vector< unsigned int > &pixeloffsets, vtkProp *prop) override
allows a mapper to update a selections color buffers Called from a prop which in turn is called from ...
void RenderPiece(vtkRenderer *ren, vtkActor *act) override
Implemented by sub classes.
void DrawIBO(vtkRenderer *ren, vtkActor *actor, int primType, vtkOpenGLHelper &CellBO, GLenum mode, int pointSize)
std::vector< unsigned int > VertexOffsets
void UpdateCameraShiftScale(vtkRenderer *ren, vtkActor *actor) override
handle updating shift scale based on pose changes
virtual void ProcessCompositePixelBuffers(vtkHardwareSelector *sel, vtkProp *prop, vtkCompositeMapperHelperData *hdata, std::vector< unsigned int > &mypixels)
std::map< vtkAbstractArray *, vtkDataArray * > ColorArrayMap
virtual void SetShaderValues(vtkShaderProgram *prog, vtkCompositeMapperHelperData *hdata, size_t primOffset)
void ReplaceShaderColor(std::map< vtkShader::Type, vtkShader * > shaders, vtkRenderer *ren, vtkActor *act) override
Perform string replacements on the shader templates, called from ReplaceShaderValues.
static vtkCompositeMapperHelper2 * New()
virtual void AppendOneBufferObject(vtkRenderer *ren, vtkActor *act, vtkCompositeMapperHelperData *hdata, vtkIdType &flat_index, std::vector< unsigned char > &colors, std::vector< float > &norms)
void RenderPieceDraw(vtkRenderer *ren, vtkActor *act) override
vtkCompositePolyDataMapper2 * Parent
bool GetNeedToRebuildBufferObjects(vtkRenderer *ren, vtkActor *act) override
Does the VBO/IBO need to be rebuilt.
void BuildBufferObjects(vtkRenderer *ren, vtkActor *act) override
Build the VBO/IBO, called by UpdateBufferObjects.
void SetParent(vtkCompositePolyDataMapper2 *p)
std::map< vtkPolyData *, vtkCompositeMapperHelperData * > Data
int CanUseTextureMapForColoring(vtkDataObject *) override
Returns if we can use texture maps for scalar coloring.
vtkHardwareSelector * CurrentSelector
void BuildSelectionIBO(vtkPolyData *poly, std::vector< unsigned int >(&indices)[4], vtkIdType offset) override
Build the selection IBOs, called by UpdateBufferObjects.
vtkCompositeMapperHelperData * AddData(vtkPolyData *pd, unsigned int flatIndex)
void PrintSelf(ostream &os, vtkIndent indent) override
std::vector< std::vector< unsigned int > > PickPixels
used by the hardware selector
~vtkCompositeMapperHelper2() override
std::vector< vtkPolyData * > GetRenderedList() const
Accessor to the ordered list of PolyData that we last drew.
vtkNew< vtkOpenGLCellToVTKCellMap > CellCellMap
vtkColor3d SelectionColor
mapper for composite dataset consisting of polygonal data.
a class that renders hierarchical polygonal data
general representation of visualization data
a simple class to control print indentation
concrete dataset represents vertices, lines, polygons, and triangle strips
abstract superclass for all actors, volumes and annotations
abstract specification for renderers
The ShaderProgram uses one or more Shader objects.
#define vtkOpenGLPolyDataMapperImplementation
#define VTK_DEPRECATED_IN_9_3_0(reason)