vtkMapper.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00058 #ifndef __vtkMapper_h
00059 #define __vtkMapper_h
00060
00061 #include "vtkAbstractMapper3D.h"
00062 #include "vtkScalarsToColors.h"
00063
00064 #define VTK_RESOLVE_OFF 0
00065 #define VTK_RESOLVE_POLYGON_OFFSET 1
00066 #define VTK_RESOLVE_SHIFT_ZBUFFER 2
00067
00068 #define VTK_GET_ARRAY_BY_ID 0
00069 #define VTK_GET_ARRAY_BY_NAME 1
00070
00071 class vtkWindow;
00072 class vtkRenderer;
00073 class vtkActor;
00074 class vtkDataSet;
00075
00076 class VTK_RENDERING_EXPORT vtkMapper : public vtkAbstractMapper3D
00077 {
00078 public:
00079 vtkTypeRevisionMacro(vtkMapper,vtkAbstractMapper3D);
00080 void PrintSelf(ostream& os, vtkIndent indent);
00081
00083 void ShallowCopy(vtkAbstractMapper *m);
00084
00087 unsigned long GetMTime();
00088
00091 virtual void Render(vtkRenderer *ren, vtkActor *a) = 0;
00092
00096 virtual void ReleaseGraphicsResources(vtkWindow *) {};
00097
00099
00100 void SetLookupTable(vtkScalarsToColors *lut);
00101 vtkScalarsToColors *GetLookupTable();
00103
00106 virtual void CreateDefaultLookupTable();
00107
00109
00111 vtkSetMacro(ScalarVisibility,int);
00112 vtkGetMacro(ScalarVisibility,int);
00113 vtkBooleanMacro(ScalarVisibility,int);
00115
00117
00124 vtkSetMacro(ColorMode,int);
00125 vtkGetMacro(ColorMode,int);
00126 void SetColorModeToDefault()
00127 {this->SetColorMode(VTK_COLOR_MODE_DEFAULT);};
00128 void SetColorModeToMapScalars()
00129 {this->SetColorMode(VTK_COLOR_MODE_MAP_SCALARS);};
00131
00133 const char *GetColorModeAsString();
00134
00136
00142 vtkSetMacro(UseLookupTableScalarRange,int);
00143 vtkGetMacro(UseLookupTableScalarRange,int);
00144 vtkBooleanMacro(UseLookupTableScalarRange,int);
00146
00148
00151 vtkSetVector2Macro(ScalarRange,float);
00152 vtkGetVectorMacro(ScalarRange,float,2);
00154
00156
00161 vtkSetMacro(ImmediateModeRendering,int);
00162 vtkGetMacro(ImmediateModeRendering,int);
00163 vtkBooleanMacro(ImmediateModeRendering,int);
00165
00167
00172 static void SetGlobalImmediateModeRendering(int val);
00173 static void GlobalImmediateModeRenderingOn()
00174 {vtkMapper::SetGlobalImmediateModeRendering(1);};
00175 static void GlobalImmediateModeRenderingOff()
00176 {vtkMapper::SetGlobalImmediateModeRendering(0);};
00177 static int GetGlobalImmediateModeRendering();
00179
00181
00191 vtkSetMacro(ScalarMode,int);
00192 vtkGetMacro(ScalarMode,int);
00193 void SetScalarModeToDefault() {
00194 this->SetScalarMode(VTK_SCALAR_MODE_DEFAULT);};
00195 void SetScalarModeToUsePointData() {
00196 this->SetScalarMode(VTK_SCALAR_MODE_USE_POINT_DATA);};
00197 void SetScalarModeToUseCellData() {
00198 this->SetScalarMode(VTK_SCALAR_MODE_USE_CELL_DATA);};
00199 void SetScalarModeToUsePointFieldData() {
00200 this->SetScalarMode(VTK_SCALAR_MODE_USE_POINT_FIELD_DATA);};
00201 void SetScalarModeToUseCellFieldData() {
00202 this->SetScalarMode(VTK_SCALAR_MODE_USE_CELL_FIELD_DATA);};
00204
00206
00209 void SelectColorArray(int arrayNum);
00210 void SelectColorArray(const char* arrayName);
00212
00214
00216 void ColorByArrayComponent(int arrayNum, int component);
00217 void ColorByArrayComponent(const char* arrayName, int component);
00219
00221
00222 char* GetArrayName() { return this->ArrayName; }
00223 int GetArrayId() { return this->ArrayId; }
00224 int GetArrayAccessMode() { return this->ArrayAccessMode; }
00225 int GetArrayComponent() { return this->ArrayComponent; }
00227
00229 const char *GetScalarModeAsString();
00230
00232
00242 static void SetResolveCoincidentTopology(int val);
00243 static int GetResolveCoincidentTopology();
00244 static void SetResolveCoincidentTopologyToDefault();
00245 static void SetResolveCoincidentTopologyToOff()
00246 {SetResolveCoincidentTopology(VTK_RESOLVE_OFF);}
00247 static void SetResolveCoincidentTopologyToPolygonOffset()
00248 {SetResolveCoincidentTopology(VTK_RESOLVE_POLYGON_OFFSET);}
00249 static void SetResolveCoincidentTopologyToShiftZBuffer()
00250 {SetResolveCoincidentTopology(VTK_RESOLVE_SHIFT_ZBUFFER);}
00252
00254
00257 static void SetResolveCoincidentTopologyPolygonOffsetParameters(float factor,
00258 float units);
00259 static void GetResolveCoincidentTopologyPolygonOffsetParameters(float& factor,
00260 float& units);
00262
00264
00266 static void SetResolveCoincidentTopologyZShift(double val);
00267 static double GetResolveCoincidentTopologyZShift();
00269
00271
00273 virtual float *GetBounds();
00274 virtual void GetBounds(float bounds[6])
00275 {this->vtkAbstractMapper3D::GetBounds(bounds);};
00277
00279
00282 void SetRenderTime(float time) {this->RenderTime = time;}
00283 vtkGetMacro(RenderTime, float);
00285
00286
00288
00290 vtkDataSet *GetInput();
00291
00293
00295
00299 vtkDataSet *GetInputAsDataSet()
00300 {return this->GetInput();}
00302
00308 vtkUnsignedCharArray *MapScalars(float alpha);
00309
00311 virtual void Update();
00312
00313 protected:
00314 vtkMapper();
00315 ~vtkMapper();
00316
00317 vtkUnsignedCharArray *Colors;
00318
00319 vtkScalarsToColors *LookupTable;
00320 int ScalarVisibility;
00321 vtkTimeStamp BuildTime;
00322 float ScalarRange[2];
00323 int UseLookupTableScalarRange;
00324 int ImmediateModeRendering;
00325 int ColorMode;
00326 int ScalarMode;
00327
00328 float RenderTime;
00329
00330
00331 int ArrayId;
00332 char ArrayName[256];
00333 int ArrayComponent;
00334 int ArrayAccessMode;
00335 private:
00336 vtkMapper(const vtkMapper&);
00337 void operator=(const vtkMapper&);
00338 };
00339
00340 #endif