14#ifndef vtkOpenGLLowMemoryBatchedPolyDataMapper_h
15#define vtkOpenGLLowMemoryBatchedPolyDataMapper_h
23#include "vtkRenderingOpenGL2Module.h"
30VTK_ABI_NAMESPACE_BEGIN
78 GLBatchElement* glBatchElement, std::vector<unsigned int>& mypixels);
100 vtkRenderer* renderer,
vtkActor* actor, std::string& vsSource, std::string& fsSource)
override;
represents an object (geometry & properties) in a rendered scene
Fast, simple class for representing and operating on 3D bounds.
a class that renders hierarchical polygonal data
abstract superclass for arrays of numeric data
general representation of visualization data
a simple class to control print indentation
vtkCompositePolyDataMapperDelegator::BatchElement BatchElement
An OpenGL mapper for batched rendering of vtkPolyData.
std::vector< std::vector< unsigned int > > PickPixels
virtual void SetShaderValues(GLBatchElement *glBatchElement)
Applies rendering attributes for the corresponding polydata in the glBatchElement.
bool IsShaderNormalSourceUpToDate(vtkActor *actor) override
std::map< vtkAbstractArray *, vtkDataArray * > ColorArrayMap
void SetParent(vtkCompositePolyDataMapper *parent)
std::vector< vtkPolyData * > GetRenderedList() const
Accessor to the ordered list of PolyData that we last drew.
int CanUseTextureMapForColoring(vtkDataObject *) override
Returns if we can use texture maps for scalar coloring.
void RenderPiece(vtkRenderer *renderer, vtkActor *actor) override
Implemented by sub classes.
void DrawPrimitives(vtkRenderer *renderer, vtkActor *, PrimitiveInformation &primitive)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkBoundingBox PointsBBox
bool IsDataObjectUpToDate() override
void AddBatchElement(unsigned int flatIndex, BatchElement &&batchElement)
API to add and query a GLBatchElement instance per vtkPolyData.
std::map< std::uintptr_t, std::unique_ptr< GLBatchElement > > VTKPolyDataToGLBatchElement
vtkMTimeType GetMTime() override
Returns the maximum of our and Parent vtkCompositePolyDataMapper's MTime.
static vtkOpenGLLowMemoryBatchedPolyDataMapper * New()
void ClearUnmarkedBatchElements()
bool IsShaderColorSourceUpToDate(vtkActor *actor) override
vtkDataArray * GetColors(vtkPolyData *mesh) override
void RenderPieceDraw(vtkRenderer *renderer, vtkActor *actor) override
virtual void ProcessCompositePixelBuffers(vtkHardwareSelector *sel, vtkProp *prop, GLBatchElement *glBatchElement, std::vector< unsigned int > &mypixels)
void UpdateShaders(vtkRenderer *renderer, vtkActor *actor) override
void UpdateShiftScale(vtkRenderer *renderer, vtkActor *actor) override
void ReplaceShaderColor(vtkRenderer *renderer, vtkActor *actor, std::string &vsSource, std::string &fsSource) override
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 ...
vtkOpenGLLowMemoryBatchedPolyDataMapper()
bool BindArraysToTextureBuffers(vtkRenderer *renderer, vtkActor *actor, vtkCellGraphicsPrimitiveMap::CellTypeMapperOffsets &offsets) override
BatchElement * GetBatchElement(vtkPolyData *polydata)
API to add and query a GLBatchElement instance per vtkPolyData.
void ClearBatchElements()
API to add and query a GLBatchElement instance per vtkPolyData.
void UnmarkBatchElements()
~vtkOpenGLLowMemoryBatchedPolyDataMapper() override
PolyDataMapper using OpenGL to render surface meshes.
concrete dataset represents vertices, lines, polygons, and triangle strips
abstract superclass for all actors, volumes and annotations
abstract specification for renderers
vtkTypeUInt32 vtkMTimeType