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 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 =========================================================================*/ 00027 #ifndef __vtkAbstractMapper_h 00028 #define __vtkAbstractMapper_h 00029 00030 #include "vtkProcessObject.h" 00031 00032 #define VTK_SCALAR_MODE_DEFAULT 0 00033 #define VTK_SCALAR_MODE_USE_POINT_DATA 1 00034 #define VTK_SCALAR_MODE_USE_CELL_DATA 2 00035 #define VTK_SCALAR_MODE_USE_POINT_FIELD_DATA 3 00036 #define VTK_SCALAR_MODE_USE_CELL_FIELD_DATA 4 00037 00038 #define VTK_GET_ARRAY_BY_ID 0 00039 #define VTK_GET_ARRAY_BY_NAME 1 00040 00041 class vtkDataArray; 00042 class vtkDataSet; 00043 class vtkPlane; 00044 class vtkPlaneCollection; 00045 class vtkPlanes; 00046 class vtkTimerLog; 00047 class vtkWindow; 00048 00049 class VTK_COMMON_EXPORT vtkAbstractMapper : public vtkProcessObject 00050 { 00051 public: 00052 vtkTypeRevisionMacro(vtkAbstractMapper,vtkProcessObject); 00053 void PrintSelf(ostream& os, vtkIndent indent); 00054 00056 virtual unsigned long GetMTime(); 00057 00061 virtual void ReleaseGraphicsResources(vtkWindow *) {}; 00062 00064 00065 vtkGetMacro( TimeToDraw, double ); 00067 00069 00071 void AddClippingPlane(vtkPlane *plane); 00072 void RemoveClippingPlane(vtkPlane *plane); 00073 void RemoveAllClippingPlanes(); 00075 00077 00078 virtual void SetClippingPlanes(vtkPlaneCollection*); 00079 vtkGetObjectMacro(ClippingPlanes,vtkPlaneCollection); 00081 00084 void SetClippingPlanes(vtkPlanes *planes); 00085 00087 void ShallowCopy(vtkAbstractMapper *m); 00088 00090 00095 static vtkDataArray *GetScalars(vtkDataSet *input, int scalarMode, 00096 int arrayAccessMode, int arrayId, 00097 const char *arrayName, int& component); 00098 // Description: 00099 // Get the number of consumers 00100 vtkGetMacro(NumberOfConsumers,int); 00102 00104 00105 void AddConsumer(vtkObject *c); 00106 void RemoveConsumer(vtkObject *c); 00107 vtkObject *GetConsumer(int i); 00108 int IsConsumer(vtkObject *c); 00110 00111 protected: 00112 vtkAbstractMapper(); 00113 ~vtkAbstractMapper(); 00114 00115 vtkTimerLog *Timer; 00116 double TimeToDraw; 00117 vtkWindow *LastWindow; // Window used for the previous render 00118 vtkPlaneCollection *ClippingPlanes; 00119 00120 // how many consumers does this object have 00121 int NumberOfConsumers; 00122 vtkObject **Consumers; 00123 00124 private: 00125 vtkAbstractMapper(const vtkAbstractMapper&); // Not implemented. 00126 void operator=(const vtkAbstractMapper&); // Not implemented. 00127 }; 00128 00129 #endif 00130 00131