Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkOpenGLPolyDataMapper.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkOpenGLPolyDataMapper.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 __vtkOpenGLPolyDataMapper_h
00027 #define __vtkOpenGLPolyDataMapper_h
00028 
00029 #include "vtkPolyDataMapper.h"
00030 
00031 #include "vtkOpenGL.h" // Needed for GLenum
00032 
00033 class vtkCellArray;
00034 class vtkPoints;
00035 class vtkProperty;
00036 class vtkRenderWindow;
00037 class vtkOpenGLRenderer;
00038 class vtkOpenGLTexture;
00039 
00040 class VTK_RENDERING_EXPORT vtkOpenGLPolyDataMapper : public vtkPolyDataMapper
00041 {
00042 public:
00043   static vtkOpenGLPolyDataMapper *New();
00044   vtkTypeRevisionMacro(vtkOpenGLPolyDataMapper,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   vtkOpenGLPolyDataMapper();
00060   ~vtkOpenGLPolyDataMapper();
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 
00108 private:
00109   vtkOpenGLPolyDataMapper(const vtkOpenGLPolyDataMapper&);  // Not implemented.
00110   void operator=(const vtkOpenGLPolyDataMapper&);  // Not implemented.
00111 };
00112 
00113 #endif

Generated on Mon Jan 21 23:07:35 2008 for VTK by  doxygen 1.4.3-20050530