VTK
vtkMesaPolyDataMapper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkMesaPolyDataMapper.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 __vtkMesaPolyDataMapper_h
30 #define __vtkMesaPolyDataMapper_h
31 
32 #include "vtkPolyDataMapper.h"
33 #include "MangleMesaInclude/gl.h" // Needed for GLenum
34 
35 class vtkCellArray;
36 class vtkPoints;
37 class vtkProperty;
38 class vtkRenderWindow;
39 class vtkMesaRenderer;
40 class vtkTimerLog;
41 class vtkOpenGLTexture;
42 
44 {
45 public:
46  static vtkMesaPolyDataMapper *New();
48  virtual void PrintSelf(ostream& os, vtkIndent indent);
49 
51  virtual void RenderPiece(vtkRenderer *ren, vtkActor *a);
52 
57 
59  virtual int Draw(vtkRenderer *ren, vtkActor *a);
60 
61 protected:
64 
65  void DrawPoints(int idx,
66  vtkPoints *p,
67  vtkDataArray *n,
69  vtkDataArray *t,
70  vtkIdType &cellNum,
71  int &noAbort,
72  vtkCellArray *ca,
73  vtkRenderer *ren);
74 
75  void DrawLines(int idx,
76  vtkPoints *p,
77  vtkDataArray *n,
79  vtkDataArray *t,
80  vtkIdType &cellNum,
81  int &noAbort,
82  vtkCellArray *ca,
83  vtkRenderer *ren);
84 
85  void DrawPolygons(int idx,
86  vtkPoints *p,
87  vtkDataArray *n,
89  vtkDataArray *t,
90  vtkIdType &cellNum,
91  int &noAbort,
92  GLenum rep,
93  vtkCellArray *ca,
94  vtkRenderer *ren);
95 
96  void DrawTStrips(int idx,
97  vtkPoints *p,
98  vtkDataArray *n,
100  vtkDataArray *t,
101  vtkIdType &cellNum,
102  int &noAbort,
103  GLenum rep,
104  vtkCellArray *ca,
105  vtkRenderer *ren);
106 
108  int ListId;
110  vtkRenderWindow *RenderWindow; // RenderWindow used for the previous render
111 private:
112  vtkMesaPolyDataMapper(const vtkMesaPolyDataMapper&); // Not implemented.
113  void operator=(const vtkMesaPolyDataMapper&); // Not implemented.
114 };
115 
116 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:49
virtual void ReleaseGraphicsResources(vtkWindow *)
Definition: vtkMapper.h:105
represent surface properties of a geometric object
Definition: vtkProperty.h:61
a PolyDataMapper for the Mesa library
abstract specification for renderers
Definition: vtkRenderer.h:69
int vtkIdType
Definition: vtkType.h:255
virtual void RenderPiece(vtkRenderer *ren, vtkActor *act)=0
OpenGL texture map.
Timer support and logging.
Definition: vtkTimerLog.h:82
window superclass for vtkRenderWindow
Definition: vtkWindow.h:35
a simple class to control print indentation
Definition: vtkIndent.h:37
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:53
OpenGL renderer.
dynamic, self-adjusting array of unsigned char
#define VTK_RENDERING_EXPORT
map vtkPolyData to graphics primitives
object to represent cell connectivity
Definition: vtkCellArray.h:48
create a window for renderers to draw into
void PrintSelf(ostream &os, vtkIndent indent)
vtkRenderWindow * RenderWindow
static vtkPolyDataMapper * New()
vtkOpenGLTexture * InternalColorTexture
represent and manipulate 3D points
Definition: vtkPoints.h:38