Go to the documentation of this file.
21 #ifndef vtkOpenGLPolyDataMapper_h
22 #define vtkOpenGLPolyDataMapper_h
25 #include "vtkRenderingOpenGL2Module.h"
77 vtkGetMacro(PopulateSelectionSettings,
int);
112 vtkSetStringMacro(PointIdArrayName);
113 vtkGetStringMacro(PointIdArrayName);
114 vtkSetStringMacro(CellIdArrayName);
115 vtkGetStringMacro(CellIdArrayName);
124 vtkSetStringMacro(ProcessIdArrayName);
125 vtkGetStringMacro(ProcessIdArrayName);
138 vtkSetStringMacro(CompositeIdArrayName);
139 vtkGetStringMacro(CompositeIdArrayName);
151 void AddShaderReplacement(
157 void ClearShaderReplacement(
162 void ClearAllShaderReplacements();
172 vtkSetStringMacro(VertexShaderCode);
173 vtkGetStringMacro(VertexShaderCode);
174 vtkSetStringMacro(FragmentShaderCode);
175 vtkGetStringMacro(FragmentShaderCode);
176 vtkSetStringMacro(GeometryShaderCode);
177 vtkGetStringMacro(GeometryShaderCode);
186 std::vector<float> &buffData);
199 this->HaveAppleBugForce = 1;
204 this->HaveAppleBugForce = 2;
220 void SetVBOShiftScaleMethod(
int m);
243 static void MakeCellCellMap(
244 std::vector<vtkIdType> &cellCellMap,
262 const char* vertexAttributeName,
263 const char* dataArrayName,
264 int fieldAssociation,
265 int componentno = -1)
override;
274 const char* dataArrayName,
int fieldAssociation,
int componentno = -1)
override;
291 std::vector<unsigned int> &pixeloffsets,
301 const char* vertexAttributeName,
302 const char* dataArrayName,
303 const char *texturename,
304 int fieldAssociation,
308 std::string GetTextureCoordinateName(
const char *tname);
322 void GetCoincidentParameters(
336 virtual void UpdateShaders(
342 virtual bool GetNeedToRebuildShaders(
348 virtual void BuildShaders(
349 std::map<vtkShader::Type, vtkShader *> shaders,
355 virtual void GetShaderTemplate(
356 std::map<vtkShader::Type, vtkShader *> shaders,
362 virtual void ReplaceShaderValues(
363 std::map<vtkShader::Type, vtkShader *> shaders,
371 virtual void ReplaceShaderRenderPass(
372 std::map<vtkShader::Type, vtkShader *> shaders,
374 virtual void ReplaceShaderColor(
375 std::map<vtkShader::Type, vtkShader *> shaders,
377 virtual void ReplaceShaderLight(
378 std::map<vtkShader::Type, vtkShader *> shaders,
380 virtual void ReplaceShaderTCoord(
381 std::map<vtkShader::Type, vtkShader *> shaders,
383 virtual void ReplaceShaderPicking(
384 std::map<vtkShader::Type, vtkShader *> shaders,
386 virtual void ReplaceShaderPrimID(
387 std::map<vtkShader::Type, vtkShader *> shaders,
389 virtual void ReplaceShaderNormal(
390 std::map<vtkShader::Type, vtkShader *> shaders,
392 virtual void ReplaceShaderClip(
393 std::map<vtkShader::Type, vtkShader *> shaders,
395 virtual void ReplaceShaderPositionVC(
396 std::map<vtkShader::Type, vtkShader *> shaders,
398 virtual void ReplaceShaderCoincidentOffset(
399 std::map<vtkShader::Type, vtkShader *> shaders,
401 virtual void ReplaceShaderDepth(
402 std::map<vtkShader::Type, vtkShader *> shaders,
458 virtual bool HaveTextures(
vtkActor *actor);
461 virtual unsigned int GetNumberOfTextures(
vtkActor *actor);
468 virtual std::vector<std::pair<vtkTexture *, std::string> > GetTextures(
vtkActor *actor);
512 virtual void BuildCellTextures(
518 void AppendCellTextures(
523 std::vector<unsigned char> &colors,
524 std::vector<float> &normals,
540 std::map<const vtkShader::ReplacementSpec, vtkShader::ReplacementValue>
564 int GetOpenGLMode(
int representation,
int primType);
568 int GetPointPickingPrimitiveSize(
int primType);
map vtkPolyData to graphics primitives
represent and manipulate 3D points
bool GetHaveAppleBug()
Get the value of HaveAppleBug.
char * CompositeIdArrayName
bool ForceTextureCoordinates
virtual void MapDataArrayToMultiTextureAttribute(const char *textureName, const char *dataArrayName, int fieldAssociation, int componentno=-1)
std::string CellTextureBuildString
void SetPopulateSelectionSettings(int v)
std::string CellMapsBuildString
virtual void RenderPiece(vtkRenderer *ren, vtkActor *act)=0
Implemented by sub classes.
virtual void RemoveVertexAttributeMapping(const char *vertexAttributeName)
Remove a vertex attribute mapping.
record modification and/or execution time
std::vector< vtkIdType > CellCellMap
std::map< const vtkOpenGLHelper *, int > LastLightCount
virtual void Modified()
Update the modification time for this object.
std::vector< float > AppleBugPrimIDs
std::map< std::string, ExtraAttributeValue > ExtraAttributes
vtkNew< vtkMatrix4x4 > VBOShiftScale
represent and manipulate 3x3 transformation matrices
std::string VBOBuildString
window superclass for vtkRenderWindow
vtkTextureObject * CellNormalTexture
Asynchronously measures GPU execution time for a single event.
vtkOpenGLHelper * LastBoundBO
handles properties associated with a texture map
std::map< const vtkOpenGLHelper *, int > LastLightComplexity
char * FragmentShaderCode
vtkTimeStamp VBOBuildTime
manage vertex buffer objects shared within a mapper
virtual void ProcessSelectorPixelBuffers(vtkHardwareSelector *, std::vector< unsigned int > &, vtkProp *)
allows a mapper to update a selections color buffers Called from a prop which in turn is called from ...
vtkPolyData * CurrentInput
char * GeometryShaderCode
vtkOpenGLBufferObject * CellNormalBuffer
void ShallowCopy(vtkAbstractMapper *m)
Make a shallow copy of this mapper.
represents an object (geometry & properties) in a rendered scene
a simple class to control print indentation
abstracts an OpenGL texture object.
represent and manipulate 4x4 transformation matrices
std::map< const vtkShader::ReplacementSpec, vtkShader::ReplacementValue > UserShaderReplacements
bool DrawingEdgesOrVertices
std::vector< vtkIdType > PointCellMap
object to represent cell connectivity
Type
Available shader types.
vtkGenericOpenGLResourceFreeCallback * ResourceCallback
vtkNew< vtkTransform > VBOInverseTransform
int PopulateSelectionSettings
bool GetSupportsSelection() override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
std::map< const vtkOpenGLHelper *, vtkTimeStamp > LightComplexityChanged
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this mapper.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract superclass for all actors, volumes and annotations
vtkMatrix4x4 * TempMatrix4
vtkOpenGLVertexBufferObjectGroup * VBOs
static vtkPolyDataMapper * New()
virtual void MapDataArrayToVertexAttribute(const char *vertexAttributeName, const char *dataArrayName, int fieldAssociation, int componentno=-1)
Select a data array from the point/cell data and map it to a generic vertex attribute.
virtual bool GetIsOpaque()
Returns if the mapper does not expect to have translucent geometry.
std::string IBOBuildString
void ForceHaveAppleBugOn()
vtkOpenGLRenderTimer * TimerQuery
vtkOpenGLTexture * InternalColorTexture
abstract specification for renderers
vtkNew< vtkInformation > LastRenderPassInfo
unsigned int TimerQueryCounter
concrete dataset represents vertices, lines, polygons, and triangle strips
void ForceHaveAppleBugOff()
Override the normal test for the apple bug.
virtual void ComputeBounds()
Called in GetBounds().
vtkOpenGLBufferObject * AppleBugPrimIDBuffer
vtkMatrix3x3 * TempMatrix3
PolyDataMapper using OpenGL to render.
char * ProcessIdArrayName
vtkOpenGLBufferObject * CellScalarBuffer
vtkTimeStamp SelectionStateChanged
virtual void RemoveAllVertexAttributeMappings()
Remove all vertex attributes.
abstract class specifies interface to map data
vtkTextureObject * CellScalarTexture
vtkTypeUInt32 vtkMTimeType