Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Rendering/vtkMapper.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00073 #ifndef __vtkMapper_h
00074 #define __vtkMapper_h
00075
00076 #include "vtkAbstractMapper3D.h"
00077 #include "vtkScalarsToColors.h"
00078
00079 #define VTK_RESOLVE_OFF 0
00080 #define VTK_RESOLVE_POLYGON_OFFSET 1
00081 #define VTK_RESOLVE_SHIFT_ZBUFFER 2
00082
00083 #define VTK_GET_ARRAY_BY_ID 0
00084 #define VTK_GET_ARRAY_BY_NAME 1
00085
00086 class vtkWindow;
00087 class vtkRenderer;
00088 class vtkActor;
00089 class vtkDataSet;
00090
00091 class VTK_RENDERING_EXPORT vtkMapper : public vtkAbstractMapper3D
00092 {
00093 public:
00094 vtkTypeRevisionMacro(vtkMapper,vtkAbstractMapper3D);
00095 void PrintSelf(ostream& os, vtkIndent indent);
00096
00098 void ShallowCopy(vtkAbstractMapper *m);
00099
00102 unsigned long GetMTime();
00103
00106 virtual void Render(vtkRenderer *ren, vtkActor *a) = 0;
00107
00111 virtual void ReleaseGraphicsResources(vtkWindow *) {};
00112
00114
00115 void SetLookupTable(vtkScalarsToColors *lut);
00116 vtkScalarsToColors *GetLookupTable();
00118
00121 virtual void CreateDefaultLookupTable();
00122
00124
00126 vtkSetMacro(ScalarVisibility,int);
00127 vtkGetMacro(ScalarVisibility,int);
00128 vtkBooleanMacro(ScalarVisibility,int);
00130
00132
00139 vtkSetMacro(ColorMode,int);
00140 vtkGetMacro(ColorMode,int);
00141 void SetColorModeToDefault()
00142 {this->SetColorMode(VTK_COLOR_MODE_DEFAULT);};
00143 void SetColorModeToMapScalars()
00144 {this->SetColorMode(VTK_COLOR_MODE_MAP_SCALARS);};
00146
00148 const char *GetColorModeAsString();
00149
00151
00157 vtkSetMacro(UseLookupTableScalarRange,int);
00158 vtkGetMacro(UseLookupTableScalarRange,int);
00159 vtkBooleanMacro(UseLookupTableScalarRange,int);
00161
00163
00166 vtkSetVector2Macro(ScalarRange,float);
00167 vtkGetVectorMacro(ScalarRange,float,2);
00169
00171
00176 vtkSetMacro(ImmediateModeRendering,int);
00177 vtkGetMacro(ImmediateModeRendering,int);
00178 vtkBooleanMacro(ImmediateModeRendering,int);
00180
00182
00187 static void SetGlobalImmediateModeRendering(int val);
00188 static void GlobalImmediateModeRenderingOn()
00189 {vtkMapper::SetGlobalImmediateModeRendering(1);};
00190 static void GlobalImmediateModeRenderingOff()
00191 {vtkMapper::SetGlobalImmediateModeRendering(0);};
00192 static int GetGlobalImmediateModeRendering();
00194
00196
00206 vtkSetMacro(ScalarMode,int);
00207 vtkGetMacro(ScalarMode,int);
00208 void SetScalarModeToDefault() {
00209 this->SetScalarMode(VTK_SCALAR_MODE_DEFAULT);};
00210 void SetScalarModeToUsePointData() {
00211 this->SetScalarMode(VTK_SCALAR_MODE_USE_POINT_DATA);};
00212 void SetScalarModeToUseCellData() {
00213 this->SetScalarMode(VTK_SCALAR_MODE_USE_CELL_DATA);};
00214 void SetScalarModeToUsePointFieldData() {
00215 this->SetScalarMode(VTK_SCALAR_MODE_USE_POINT_FIELD_DATA);};
00216 void SetScalarModeToUseCellFieldData() {
00217 this->SetScalarMode(VTK_SCALAR_MODE_USE_CELL_FIELD_DATA);};
00219
00221
00224 void SelectColorArray(int arrayNum);
00225 void SelectColorArray(const char* arrayName);
00227
00229
00231 void ColorByArrayComponent(int arrayNum, int component);
00232 void ColorByArrayComponent(const char* arrayName, int component);
00234
00236
00237 char* GetArrayName() { return this->ArrayName; }
00238 int GetArrayId() { return this->ArrayId; }
00239 int GetArrayAccessMode() { return this->ArrayAccessMode; }
00240 int GetArrayComponent() { return this->ArrayComponent; }
00242
00244 const char *GetScalarModeAsString();
00245
00247
00257 static void SetResolveCoincidentTopology(int val);
00258 static int GetResolveCoincidentTopology();
00259 static void SetResolveCoincidentTopologyToDefault();
00260 static void SetResolveCoincidentTopologyToOff()
00261 {SetResolveCoincidentTopology(VTK_RESOLVE_OFF);}
00262 static void SetResolveCoincidentTopologyToPolygonOffset()
00263 {SetResolveCoincidentTopology(VTK_RESOLVE_POLYGON_OFFSET);}
00264 static void SetResolveCoincidentTopologyToShiftZBuffer()
00265 {SetResolveCoincidentTopology(VTK_RESOLVE_SHIFT_ZBUFFER);}
00267
00269
00272 static void SetResolveCoincidentTopologyPolygonOffsetParameters(float factor,
00273 float units);
00274 static void GetResolveCoincidentTopologyPolygonOffsetParameters(float& factor,
00275 float& units);
00277
00279
00281 static void SetResolveCoincidentTopologyZShift(double val);
00282 static double GetResolveCoincidentTopologyZShift();
00284
00286
00288 virtual float *GetBounds();
00289 virtual void GetBounds(float bounds[6])
00290 {this->vtkAbstractMapper3D::GetBounds(bounds);};
00292
00294
00297 void SetRenderTime(float time) {this->RenderTime = time;}
00298 vtkGetMacro(RenderTime, float);
00300
00301
00303
00304 specialized mapper classes to return more specific data types. */
00305 vtkDataSet *GetInput();
00306
00308
00310
00311 specialized data type that the subclass may return from GetInput().
00312 This method is provided for use in the wrapper languages, C++
00313 programmers should use GetInput() instead. */
00314 vtkDataSet *GetInputAsDataSet()
00315 {return this->GetInput();}
00317
00323 vtkUnsignedCharArray *MapScalars(float alpha);
00324
00326 virtual void Update();
00327
00328 protected:
00329 vtkMapper();
00330 ~vtkMapper();
00331
00332 vtkUnsignedCharArray *Colors;
00333
00334 vtkScalarsToColors *LookupTable;
00335 int ScalarVisibility;
00336 vtkTimeStamp BuildTime;
00337 float ScalarRange[2];
00338 int UseLookupTableScalarRange;
00339 int ImmediateModeRendering;
00340 int ColorMode;
00341 int ScalarMode;
00342
00343 float RenderTime;
00344
00345
00346 int ArrayId;
00347 char ArrayName[256];
00348 int ArrayComponent;
00349 int ArrayAccessMode;
00350 private:
00351 vtkMapper(const vtkMapper&);
00352 void operator=(const vtkMapper&);
00353 };
00354
00355 #endif