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
22VTK_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];
represents an object (geometry & properties) in a rendered scene
Helper class for vtkCompositePolyDataMapper2 that is a subclass of vtkOpenGLPolyDataMapper.
vtkCompositeMapperHelper2()
vtkCompositeMapperHelperData * AddData(vtkPolyData *pd, unsigned int flatIndex)
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.
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
std::vector< vtkPolyData * > GetRenderedList() const
Accessor to the ordered list of PolyData that we last drew.
vtkCompositePolyDataMapper2 * Parent
bool GetNeedToRebuildBufferObjects(vtkRenderer *ren, vtkActor *act) override
Does the VBO/IBO need to be rebuilt.
static vtkCompositeMapperHelper2 * New()
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.
void PrintSelf(ostream &os, vtkIndent indent) override
std::vector< std::vector< unsigned int > > PickPixels
used by the hardware selector
~vtkCompositeMapperHelper2() override
vtkNew< vtkOpenGLCellToVTKCellMap > CellCellMap
vtkColor3d SelectionColor
mapper for composite dataset consisting of polygonal data.
general representation of visualization data
a simple class to control print indentation
Allocate and hold a VTK object.
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)