15#ifndef vtkCompositeMapperHelper2_h
16#define vtkCompositeMapperHelper2_h
21#include "vtkRenderingOpenGL2Module.h"
100 std::map<vtkPolyData*, vtkCompositeMapperHelperData*>
Data;
111 GLenum mode,
int pointSize);
140 std::vector<float>& norms);
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
Implemented by sub classes.
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
Methods invoked by print to print information about the object including superclasses.
std::vector< std::vector< unsigned int > > PickPixels
used by the hardware selector
~vtkCompositeMapperHelper2() override
unsigned int StartIndex[vtkOpenGLPolyDataMapper::PrimitiveEnd]
unsigned int NextIndex[vtkOpenGLPolyDataMapper::PrimitiveEnd]
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.
PolyDataMapper using OpenGL to render.
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.