VTK
vtkAbstractVolumeMapper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAbstractVolumeMapper.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
26 #ifndef vtkAbstractVolumeMapper_h
27 #define vtkAbstractVolumeMapper_h
28 
29 #include "vtkRenderingCoreModule.h" // For export macro
30 #include "vtkAbstractMapper3D.h"
31 
32 class vtkRenderer;
33 class vtkVolume;
34 class vtkWindow;
35 class vtkDataSet;
36 
38 {
39 public:
41  void PrintSelf( ostream& os, vtkIndent indent );
42 
44 
45  vtkDataSet *GetDataSetInput();
46  vtkDataObject *GetDataObjectInput();
48 
50 
52  virtual double *GetBounds();
53  virtual void GetBounds(double bounds[6])
54  { this->vtkAbstractMapper3D::GetBounds(bounds); };
56 
58 
67  vtkSetMacro(ScalarMode,int);
68  vtkGetMacro(ScalarMode,int);
70  this->SetScalarMode(VTK_SCALAR_MODE_DEFAULT);};
72  this->SetScalarMode(VTK_SCALAR_MODE_USE_POINT_DATA);};
74  this->SetScalarMode(VTK_SCALAR_MODE_USE_CELL_DATA);};
76  this->SetScalarMode(VTK_SCALAR_MODE_USE_POINT_FIELD_DATA);};
78  this->SetScalarMode(VTK_SCALAR_MODE_USE_CELL_FIELD_DATA);};
80 
82 
86  virtual void SelectScalarArray(int arrayNum);
87  virtual void SelectScalarArray(const char* arrayName);
89 
91 
92  virtual char* GetArrayName() { return this->ArrayName; }
93  virtual int GetArrayId() { return this->ArrayId; }
94  virtual int GetArrayAccessMode() { return this->ArrayAccessMode; }
96 
98  const char *GetScalarModeAsString();
99 
100 //BTX
102 
103  virtual float GetGradientMagnitudeScale() {return 1.0f;};
104  virtual float GetGradientMagnitudeBias() {return 0.0f;};
105  virtual float GetGradientMagnitudeScale(int) {return 1.0f;};
106  virtual float GetGradientMagnitudeBias(int) {return 0.0f;};
108 
109 
112  virtual void Render(vtkRenderer *ren, vtkVolume *vol)=0;
113 
119 
120 //ETX
121 
122 protected:
125 
126  // see algorithm for more info
128 
130  char *ArrayName;
131  int ArrayId;
133 
134 private:
135  vtkAbstractVolumeMapper(const vtkAbstractVolumeMapper&); // Not implemented.
136  void operator=(const vtkAbstractVolumeMapper&); // Not implemented.
137 };
138 
139 
140 #endif
141 
142 
virtual float GetGradientMagnitudeBias(int)
represents a volume (data & properties) in a rendered scene
Definition: vtkVolume.h:49
#define VTK_SCALAR_MODE_USE_CELL_FIELD_DATA
virtual void GetBounds(double bounds[6])
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:61
virtual void ReleaseGraphicsResources(vtkWindow *)
Abstract class for a volume mapper.
abstract specification for renderers
Definition: vtkRenderer.h:63
window superclass for vtkRenderWindow
Definition: vtkWindow.h:36
#define VTK_SCALAR_MODE_USE_POINT_DATA
virtual float GetGradientMagnitudeScale()
a simple class to control print indentation
Definition: vtkIndent.h:38
#define VTK_SCALAR_MODE_USE_POINT_FIELD_DATA
virtual double * GetBounds()=0
abstract class specifies interface to map 3D data
virtual int FillInputPortInformation(int port, vtkInformation *info)
#define VTKRENDERINGCORE_EXPORT
void PrintSelf(ostream &os, vtkIndent indent)
#define VTK_SCALAR_MODE_USE_CELL_DATA
virtual float GetGradientMagnitudeScale(int)
general representation of visualization data
Definition: vtkDataObject.h:64
#define VTK_SCALAR_MODE_DEFAULT
virtual float GetGradientMagnitudeBias()