VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 =========================================================================*/
29 #ifndef __vtkOpenGLPolyDataMapper_h
30 #define __vtkOpenGLPolyDataMapper_h
31 
32 #include "vtkRenderingOpenGLModule.h" // For export macro
33 #include "vtkPolyDataMapper.h"
34 
35 #include "vtkOpenGL.h" // Needed for GLenum
36 
37 class vtkCellArray;
38 class vtkPoints;
39 class vtkProperty;
40 class vtkRenderWindow;
41 class vtkOpenGLRenderer;
42 class vtkOpenGLTexture;
43 
45 {
46 public:
47  static vtkOpenGLPolyDataMapper *New();
49  virtual void PrintSelf(ostream& os, vtkIndent indent);
50 
52  virtual void RenderPiece(vtkRenderer *ren, vtkActor *a);
53 
58 
60  virtual int Draw(vtkRenderer *ren, vtkActor *a);
61 
62 protected:
65 
66  void DrawPoints(int idx,
67  vtkPoints *p,
68  vtkDataArray *n,
70  vtkDataArray *t,
71  vtkIdType &cellNum,
72  int &noAbort,
73  vtkCellArray *ca,
74  vtkRenderer *ren);
75 
76  void DrawLines(int idx,
77  vtkPoints *p,
78  vtkDataArray *n,
80  vtkDataArray *t,
81  vtkIdType &cellNum,
82  int &noAbort,
83  vtkCellArray *ca,
84  vtkRenderer *ren);
85 
86  void DrawPolygons(int idx,
87  vtkPoints *p,
88  vtkDataArray *n,
90  vtkDataArray *t,
91  vtkIdType &cellNum,
92  int &noAbort,
93  GLenum rep,
94  vtkCellArray *ca,
95  vtkRenderer *ren);
96 
97  void DrawTStrips(int idx,
98  vtkPoints *p,
99  vtkDataArray *n,
101  vtkDataArray *t,
102  vtkIdType &cellNum,
103  int &noAbort,
104  GLenum rep,
105  vtkCellArray *ca,
106  vtkRenderer *ren);
107 
109  int ListId;
111 
112 private:
113  vtkOpenGLPolyDataMapper(const vtkOpenGLPolyDataMapper&); // Not implemented.
114  void operator=(const vtkOpenGLPolyDataMapper&); // Not implemented.
115 };
116 
117 #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:106
represent surface properties of a geometric object
Definition: vtkProperty.h:63
abstract specification for renderers
Definition: vtkRenderer.h:63
int vtkIdType
Definition: vtkType.h:268
GLdouble GLdouble t
Definition: vtkgl.h:11602
virtual void RenderPiece(vtkRenderer *ren, vtkActor *act)=0
OpenGL texture map.
window superclass for vtkRenderWindow
Definition: vtkWindow.h:33
a simple class to control print indentation
Definition: vtkIndent.h:38
const GLubyte * c
Definition: vtkgl.h:15720
#define VTKRENDERINGOPENGL_EXPORT
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:53
dynamic, self-adjusting array of unsigned char
GLboolean GLboolean GLboolean GLboolean a
Definition: vtkgl.h:12312
map vtkPolyData to graphics primitives
object to represent cell connectivity
Definition: vtkCellArray.h:49
create a window for renderers to draw into
typedef GLenum(APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target)
void PrintSelf(ostream &os, vtkIndent indent)
static vtkPolyDataMapper * New()
GLclampd n
Definition: vtkgl.h:14370
OpenGL renderer.
vtkOpenGLTexture * InternalColorTexture
represent and manipulate 3D points
Definition: vtkPoints.h:39
GLfloat GLfloat p
Definition: vtkgl.h:15717