VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkMesaPolyDataMapper.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00026 #ifndef __vtkMesaPolyDataMapper_h 00027 #define __vtkMesaPolyDataMapper_h 00028 00029 #include "vtkPolyDataMapper.h" 00030 #include "MangleMesaInclude/gl.h" // Needed for GLenum 00031 00032 class vtkCellArray; 00033 class vtkPoints; 00034 class vtkProperty; 00035 class vtkRenderWindow; 00036 class vtkMesaRenderer; 00037 class vtkTimerLog; 00038 class vtkOpenGLTexture; 00039 00040 class VTK_RENDERING_EXPORT vtkMesaPolyDataMapper : public vtkPolyDataMapper 00041 { 00042 public: 00043 static vtkMesaPolyDataMapper *New(); 00044 vtkTypeRevisionMacro(vtkMesaPolyDataMapper,vtkPolyDataMapper); 00045 virtual void PrintSelf(ostream& os, vtkIndent indent); 00046 00048 virtual void RenderPiece(vtkRenderer *ren, vtkActor *a); 00049 00053 void ReleaseGraphicsResources(vtkWindow *); 00054 00056 virtual int Draw(vtkRenderer *ren, vtkActor *a); 00057 00058 protected: 00059 vtkMesaPolyDataMapper(); 00060 ~vtkMesaPolyDataMapper(); 00061 00062 void DrawPoints(int idx, 00063 vtkPoints *p, 00064 vtkDataArray *n, 00065 vtkUnsignedCharArray *c, 00066 vtkDataArray *t, 00067 vtkIdType &cellNum, 00068 int &noAbort, 00069 vtkCellArray *ca, 00070 vtkRenderer *ren); 00071 00072 void DrawLines(int idx, 00073 vtkPoints *p, 00074 vtkDataArray *n, 00075 vtkUnsignedCharArray *c, 00076 vtkDataArray *t, 00077 vtkIdType &cellNum, 00078 int &noAbort, 00079 vtkCellArray *ca, 00080 vtkRenderer *ren); 00081 00082 void DrawPolygons(int idx, 00083 vtkPoints *p, 00084 vtkDataArray *n, 00085 vtkUnsignedCharArray *c, 00086 vtkDataArray *t, 00087 vtkIdType &cellNum, 00088 int &noAbort, 00089 GLenum rep, 00090 vtkCellArray *ca, 00091 vtkRenderer *ren); 00092 00093 void DrawTStrips(int idx, 00094 vtkPoints *p, 00095 vtkDataArray *n, 00096 vtkUnsignedCharArray *c, 00097 vtkDataArray *t, 00098 vtkIdType &cellNum, 00099 int &noAbort, 00100 GLenum rep, 00101 vtkCellArray *ca, 00102 vtkRenderer *ren); 00103 00104 vtkIdType TotalCells; 00105 int ListId; 00106 vtkOpenGLTexture* InternalColorTexture; 00107 vtkRenderWindow *RenderWindow; // RenderWindow used for the previous render 00108 private: 00109 vtkMesaPolyDataMapper(const vtkMesaPolyDataMapper&); // Not implemented. 00110 void operator=(const vtkMesaPolyDataMapper&); // Not implemented. 00111 }; 00112 00113 #endif