VTK
vtkCompositePolyDataMapper2.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCompositePolyDataMapper2.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
28 #ifndef vtkCompositePolyDataMapper2_h
29 #define vtkCompositePolyDataMapper2_h
30 
31 #include "vtkRenderingOpenGL2Module.h" // For export macro
33 
34 class VTKRENDERINGOPENGL2_EXPORT vtkCompositePolyDataMapper2 : public vtkGenericCompositePolyDataMapper2
35 {
36 public:
39  void PrintSelf(ostream& os, vtkIndent indent);
40 
42  virtual void Render(vtkRenderer *ren, vtkActor *act);
43 
44  virtual void RenderPiece(vtkRenderer *ren, vtkActor *act);
45  virtual void RenderPieceDraw(vtkRenderer *ren, vtkActor *act);
46  virtual void RenderEdges(vtkRenderer *ren, vtkActor *act);
47 
48 protected:
51 
53 
55  virtual void ReplaceShaderColor(
56  std::map<vtkShader::Type, vtkShader *> shaders,
57  vtkRenderer *ren, vtkActor *act);
59 
61 
62  virtual void BuildBufferObjects(vtkRenderer *ren, vtkActor *act);
64  vtkActor *act, vtkPolyData *pd, unsigned int flat_index,
65  std::vector<unsigned char> &colors,
66  std::vector<float> &norms);
68 
69  std::vector<unsigned int> VertexOffsets;
70  std::vector<unsigned int> IndexOffsets;
71  std::vector<unsigned int> IndexArray;
72  std::vector<unsigned int> EdgeIndexArray;
73  std::vector<unsigned int> EdgeIndexOffsets;
74  unsigned int MaximumFlatIndex;
75 
77  {
78  public:
79  unsigned int StartVertex;
80  unsigned int StartIndex;
81  unsigned int StartEdgeIndex;
82  unsigned int EndVertex;
83  unsigned int EndIndex;
84  unsigned int EndEdgeIndex;
85  double Opacity;
87  bool Visibility;
89  unsigned int PickId;
90  };
91 
92  std::vector<RenderValue> RenderValues;
94 
95  bool UseGeneric; // use the generic render
97 
98  // free up memory
100 
102  vtkActor *actor,
103  vtkDataObject *dobj,
104  unsigned int &flat_index,
105  unsigned int &lastVertex,
106  unsigned int &lastIndex,
107  unsigned int &lastEdgeIndex);
108 
110 
120 
121 private:
123  const vtkCompositePolyDataMapper2&); // Not implemented.
124  void operator=(const vtkCompositePolyDataMapper2&); // Not implemented.
125 };
126 
127 #endif
vtkCompositePolyDataMapper2::Render
virtual void Render(vtkRenderer *ren, vtkActor *act)
vtkCompositePolyDataMapper2::IndexOffsets
std::vector< unsigned int > IndexOffsets
Definition: vtkCompositePolyDataMapper2.h:70
vtkCompositePolyDataMapper2::RenderValue::EndVertex
unsigned int EndVertex
Definition: vtkCompositePolyDataMapper2.h:82
vtkCompositePolyDataMapper2::CanUseTextureMapForColoringValue
int CanUseTextureMapForColoringValue
Definition: vtkCompositePolyDataMapper2.h:118
vtkCompositePolyDataMapper2::UseGeneric
bool UseGeneric
Definition: vtkCompositePolyDataMapper2.h:95
vtkCompositePolyDataMapper2::GenericTestTime
vtkTimeStamp GenericTestTime
Definition: vtkCompositePolyDataMapper2.h:96
vtkCompositePolyDataMapper2::MaximumFlatIndex
unsigned int MaximumFlatIndex
Definition: vtkCompositePolyDataMapper2.h:74
vtkCompositePolyDataMapper2::ReplaceShaderColor
virtual void ReplaceShaderColor(std::map< vtkShader::Type, vtkShader * > shaders, vtkRenderer *ren, vtkActor *act)
vtkCompositePolyDataMapper2::RenderValuesBuildTime
vtkTimeStamp RenderValuesBuildTime
Definition: vtkCompositePolyDataMapper2.h:93
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:35
vtkCompositePolyDataMapper2::~vtkCompositePolyDataMapper2
~vtkCompositePolyDataMapper2()
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkCompositePolyDataMapper2::VertexOffsets
std::vector< unsigned int > VertexOffsets
Definition: vtkCompositePolyDataMapper2.h:69
vtkCompositePolyDataMapper2::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkCompositePolyDataMapper2::RenderPiece
virtual void RenderPiece(vtkRenderer *ren, vtkActor *act)
vtkgl::input
GLenum GLenum GLenum input
Definition: vtkgl.h:15941
vtkCompositePolyDataMapper2
mapper for composite dataset consisting of polygonal data.
Definition: vtkCompositePolyDataMapper2.h:37
vtkCompositePolyDataMapper2::CanUseTextureMapForColoringSet
bool CanUseTextureMapForColoringSet
Definition: vtkCompositePolyDataMapper2.h:117
vtkCompositePolyDataMapper2::EdgeIndexOffsets
std::vector< unsigned int > EdgeIndexOffsets
Definition: vtkCompositePolyDataMapper2.h:73
vtkCompositePolyDataMapper2::RenderEdges
virtual void RenderEdges(vtkRenderer *ren, vtkActor *act)
vtkGenericCompositePolyDataMapper2.h
vtkgl::shaders
const GLuint * shaders
Definition: vtkgl.h:14179
vtkCompositePolyDataMapper2::EdgeIndexArray
std::vector< unsigned int > EdgeIndexArray
Definition: vtkCompositePolyDataMapper2.h:72
vtkCompositePolyDataMapper2::BuildRenderValues
void BuildRenderValues(vtkRenderer *renderer, vtkActor *actor, vtkDataObject *dobj, unsigned int &flat_index, unsigned int &lastVertex, unsigned int &lastIndex, unsigned int &lastEdgeIndex)
vtkCompositePolyDataMapper2::RenderValue
Definition: vtkCompositePolyDataMapper2.h:77
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:51
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkCompositePolyDataMapper2::RenderValue::EndEdgeIndex
unsigned int EndEdgeIndex
Definition: vtkCompositePolyDataMapper2.h:84
vtkCompositePolyDataMapper2::RenderValue::OverridesColor
bool OverridesColor
Definition: vtkCompositePolyDataMapper2.h:86
vtkCompositePolyDataMapper2::RenderValue::Visibility
bool Visibility
Definition: vtkCompositePolyDataMapper2.h:87
vtkCompositePolyDataMapper2::RenderValue::StartVertex
unsigned int StartVertex
Definition: vtkCompositePolyDataMapper2.h:79
vtkCompositePolyDataMapper2::RenderValue::PickId
unsigned int PickId
Definition: vtkCompositePolyDataMapper2.h:89
vtkCompositePolyDataMapper2::BuildBufferObjects
virtual void BuildBufferObjects(vtkRenderer *ren, vtkActor *act)
vtkCompositePolyDataMapper2::AppendOneBufferObject
virtual void AppendOneBufferObject(vtkRenderer *ren, vtkActor *act, vtkPolyData *pd, unsigned int flat_index, std::vector< unsigned char > &colors, std::vector< float > &norms)
vtkCompositePolyDataMapper2::RenderValue::StartEdgeIndex
unsigned int StartEdgeIndex
Definition: vtkCompositePolyDataMapper2.h:81
vtkCompositePolyDataMapper2::IndexArray
std::vector< unsigned int > IndexArray
Definition: vtkCompositePolyDataMapper2.h:71
vtkCompositePolyDataMapper2::New
static vtkCompositePolyDataMapper2 * New()
vtkColor3d
Definition: vtkColor.h:200
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:64
vtkCompositePolyDataMapper2::RenderValue::Color
vtkColor3d Color
Definition: vtkCompositePolyDataMapper2.h:88
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
vtkCompositePolyDataMapper2::RenderValue::Opacity
double Opacity
Definition: vtkCompositePolyDataMapper2.h:85
vtkCompositePolyDataMapper2::RenderValues
std::vector< RenderValue > RenderValues
Definition: vtkCompositePolyDataMapper2.h:92
vtkCompositePolyDataMapper2::FreeStructures
void FreeStructures()
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:65
vtkCompositePolyDataMapper2::CanUseTextureMapForColoring
virtual int CanUseTextureMapForColoring(vtkDataObject *input)
vtkGenericCompositePolyDataMapper2
mapper for composite dataset consisting of polygonal data.
Definition: vtkGenericCompositePolyDataMapper2.h:39
vtkCompositePolyDataMapper2::vtkCompositePolyDataMapper2
vtkCompositePolyDataMapper2()
vtkCompositePolyDataMapper2::RenderPieceDraw
virtual void RenderPieceDraw(vtkRenderer *ren, vtkActor *act)
vtkCompositePolyDataMapper2::RenderValue::EndIndex
unsigned int EndIndex
Definition: vtkCompositePolyDataMapper2.h:83
vtkCompositePolyDataMapper2::RenderValue::StartIndex
unsigned int StartIndex
Definition: vtkCompositePolyDataMapper2.h:80