VTK
vtkOpenGLPolyDataMapper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOpenGLPolyDataMapper.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 =========================================================================*/
27 #ifndef vtkOpenGLPolyDataMapper_h
28 #define vtkOpenGLPolyDataMapper_h
29 
30 #include "vtkRenderingOpenGLModule.h" // For export macro
31 #include "vtkPolyDataMapper.h"
32 
33 #include "vtkOpenGL.h" // Needed for GLenum
34 
35 class vtkCellArray;
36 class vtkPoints;
37 class vtkProperty;
38 class vtkRenderWindow;
39 class vtkOpenGLRenderer;
40 class vtkOpenGLTexture;
41 #if !defined(VTK_LEGACY_REMOVE)
43 {
44 public:
45  static vtkOpenGLPolyDataMapper *New();
47  virtual void PrintSelf(ostream& os, vtkIndent indent);
48 
50  virtual void RenderPiece(vtkRenderer *ren, vtkActor *a);
51 
56 
58  virtual int Draw(vtkRenderer *ren, vtkActor *a);
59 
60 protected:
63 
64  void DrawPoints(int idx,
65  vtkPoints *p,
66  vtkDataArray *n,
68  vtkDataArray *t,
69  vtkIdType &cellNum,
70  int &noAbort,
71  vtkCellArray *ca,
72  vtkRenderer *ren);
73 
74  void DrawLines(int idx,
75  vtkPoints *p,
76  vtkDataArray *n,
78  vtkDataArray *t,
79  vtkIdType &cellNum,
80  int &noAbort,
81  vtkCellArray *ca,
82  vtkRenderer *ren);
83 
84  void DrawPolygons(int idx,
85  vtkPoints *p,
86  vtkDataArray *n,
88  vtkDataArray *t,
89  vtkIdType &cellNum,
90  int &noAbort,
91  GLenum rep,
92  vtkCellArray *ca,
93  vtkRenderer *ren);
94 
95  void DrawTStrips(int idx,
96  vtkPoints *p,
97  vtkDataArray *n,
99  vtkDataArray *t,
100  vtkIdType &cellNum,
101  int &noAbort,
102  GLenum rep,
103  vtkCellArray *ca,
104  vtkRenderer *ren);
105 
107  int ListId;
109 
110 private:
111  vtkOpenGLPolyDataMapper(const vtkOpenGLPolyDataMapper&); // Not implemented.
112  void operator=(const vtkOpenGLPolyDataMapper&); // Not implemented.
113 };
114 #endif // VTK_LEGACY_REMOVE
115 #endif
a PolyDataMapper for the OpenGL library
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
virtual void ReleaseGraphicsResources(vtkWindow *)
Definition: vtkMapper.h:109
represent surface properties of a geometric object
Definition: vtkProperty.h:63
abstract specification for renderers
Definition: vtkRenderer.h:63
int vtkIdType
Definition: vtkType.h:275
virtual void RenderPiece(vtkRenderer *ren, vtkActor *act)=0
vtkOpenGLTexture * InternalColorTexture
OpenGL texture map.
window superclass for vtkRenderWindow
Definition: vtkWindow.h:36
a simple class to control print indentation
Definition: vtkIndent.h:38
#define VTKRENDERINGOPENGL_EXPORT
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
dynamic, self-adjusting array of unsigned char
map vtkPolyData to graphics primitives
object to represent cell connectivity
Definition: vtkCellArray.h:49
create a window for renderers to draw into
void PrintSelf(ostream &os, vtkIndent indent)
static vtkPolyDataMapper * New()
OpenGL renderer.
represent and manipulate 3D points
Definition: vtkPoints.h:38