14#ifndef vtkOpenGLLowMemoryBatchedPolyDataMapper_h
15#define vtkOpenGLLowMemoryBatchedPolyDataMapper_h
23#include "vtkRenderingOpenGL2Module.h"
30VTK_ABI_NAMESPACE_BEGIN
78 GLBatchElement* glBatchElement, std::vector<unsigned int>& mypixels);
101 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
vtkSmartPointer< vtkOpenGLTexture > BlockTexturePrototype
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.
void RenderPieceStart(vtkRenderer *renderer, vtkActor *actor) override
static vtkOpenGLLowMemoryBatchedPolyDataMapper * New()
void ClearUnmarkedBatchElements()
bool IsShaderColorSourceUpToDate(vtkActor *actor) override
std::vector< TextureInfo > GetTextures(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
Hold a reference to a vtkObjectBase instance.
vtkTypeUInt32 vtkMTimeType