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

dox/Common/vtkAbstractMapper.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkAbstractMapper.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00031 #ifndef __vtkAbstractMapper_h 00032 #define __vtkAbstractMapper_h 00033 00034 #include "vtkProcessObject.h" 00035 00036 #define VTK_SCALAR_MODE_DEFAULT 0 00037 #define VTK_SCALAR_MODE_USE_POINT_DATA 1 00038 #define VTK_SCALAR_MODE_USE_CELL_DATA 2 00039 #define VTK_SCALAR_MODE_USE_POINT_FIELD_DATA 3 00040 #define VTK_SCALAR_MODE_USE_CELL_FIELD_DATA 4 00041 00042 #define VTK_GET_ARRAY_BY_ID 0 00043 #define VTK_GET_ARRAY_BY_NAME 1 00044 00045 class vtkDataArray; 00046 class vtkDataSet; 00047 class vtkPlane; 00048 class vtkPlaneCollection; 00049 class vtkPlanes; 00050 class vtkTimerLog; 00051 class vtkWindow; 00052 00053 class VTK_COMMON_EXPORT vtkAbstractMapper : public vtkProcessObject 00054 { 00055 public: 00056 vtkTypeRevisionMacro(vtkAbstractMapper,vtkProcessObject); 00057 void PrintSelf(ostream& os, vtkIndent indent); 00058 00060 virtual unsigned long GetMTime(); 00061 00065 virtual void ReleaseGraphicsResources(vtkWindow *) {}; 00066 00068 00069 vtkGetMacro( TimeToDraw, float ); 00071 00073 00075 void AddClippingPlane(vtkPlane *plane); 00076 void RemoveClippingPlane(vtkPlane *plane); 00077 void RemoveAllClippingPlanes(); 00079 00081 00082 virtual void SetClippingPlanes(vtkPlaneCollection*); 00083 vtkGetObjectMacro(ClippingPlanes,vtkPlaneCollection); 00085 00088 void SetClippingPlanes(vtkPlanes *planes); 00089 00091 void ShallowCopy(vtkAbstractMapper *m); 00092 00094 00099 static vtkDataArray *GetScalars(vtkDataSet *input, int scalarMode, 00100 int arrayAccessMode, int arrayId, 00101 const char *arrayName, int& component); 00102 // Description: 00103 // Get the number of consumers 00104 vtkGetMacro(NumberOfConsumers,int); 00106 00108 00109 void AddConsumer(vtkObject *c); 00110 void RemoveConsumer(vtkObject *c); 00111 vtkObject *GetConsumer(int i); 00112 int IsConsumer(vtkObject *c); 00114 00115 protected: 00116 vtkAbstractMapper(); 00117 ~vtkAbstractMapper(); 00118 00119 vtkTimerLog *Timer; 00120 float TimeToDraw; 00121 vtkWindow *LastWindow; // Window used for the previous render 00122 vtkPlaneCollection *ClippingPlanes; 00123 00124 // how many consumers does this object have 00125 int NumberOfConsumers; 00126 vtkObject **Consumers; 00127 00128 private: 00129 vtkAbstractMapper(const vtkAbstractMapper&); // Not implemented. 00130 void operator=(const vtkAbstractMapper&); // Not implemented. 00131 }; 00132 00133 #endif 00134 00135