VTK  9.1.0
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=========================================================================*/
27#ifndef vtkAbstractVolumeMapper_h
28#define vtkAbstractVolumeMapper_h
29
30#include "vtkAbstractMapper3D.h"
31#include "vtkRenderingCoreModule.h" // For export macro
32
33class vtkRenderer;
34class vtkVolume;
35class vtkWindow;
36class vtkDataSet;
37
38class VTKRENDERINGCORE_EXPORT vtkAbstractVolumeMapper : public vtkAbstractMapper3D
39{
40public:
42 void PrintSelf(ostream& os, vtkIndent indent) override;
43
45
51
53
57 double* GetBounds() VTK_SIZEHINT(6) override;
58 void GetBounds(double bounds[6]) override { this->vtkAbstractMapper3D::GetBounds(bounds); }
60
62
73 vtkSetMacro(ScalarMode, int);
74 vtkGetMacro(ScalarMode, int);
75 vtkSetMacro(ArrayAccessMode, int);
76 void SetScalarModeToDefault() { this->SetScalarMode(VTK_SCALAR_MODE_DEFAULT); }
80 {
81 this->SetScalarMode(VTK_SCALAR_MODE_USE_POINT_FIELD_DATA);
82 }
84 {
85 this->SetScalarMode(VTK_SCALAR_MODE_USE_CELL_FIELD_DATA);
86 }
88
90
96 virtual void SelectScalarArray(int arrayNum);
97 virtual void SelectScalarArray(const char* arrayName);
99
103 virtual char* GetArrayName() { return this->ArrayName; }
104 virtual int GetArrayId() { return this->ArrayId; }
105 virtual int GetArrayAccessMode() { return this->ArrayAccessMode; }
106
111
113
116 virtual float GetGradientMagnitudeScale() { return 1.0f; }
117 virtual float GetGradientMagnitudeBias() { return 0.0f; }
118 virtual float GetGradientMagnitudeScale(int) { return 1.0f; }
119 virtual float GetGradientMagnitudeBias(int) { return 0.0f; }
121
127 virtual void Render(vtkRenderer* ren, vtkVolume* vol) = 0;
128
136
137protected:
140
141 // see algorithm for more info
142 int FillInputPortInformation(int port, vtkInformation* info) override;
143
148
149private:
151 void operator=(const vtkAbstractVolumeMapper&) = delete;
152};
153
154#endif
abstract class specifies interface to map 3D data
virtual double * GetBounds()=0
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax,...
Abstract class for a volume mapper.
virtual vtkDataObject * GetDataObjectInput()
Set/Get the input data.
virtual vtkDataSet * GetDataSetInput()
Set/Get the input data.
double * GetBounds() override
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax,...
virtual void Render(vtkRenderer *ren, vtkVolume *vol)=0
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
virtual float GetGradientMagnitudeScale()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE.
const char * GetScalarModeAsString()
Return the method for obtaining scalar data.
~vtkAbstractVolumeMapper() override
virtual float GetGradientMagnitudeBias(int)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetScalarModeToUseCellFieldData()
Control how the mapper works with scalar point data and cell attribute data.
void SetScalarModeToUseCellData()
Control how the mapper works with scalar point data and cell attribute data.
virtual float GetGradientMagnitudeScale(int)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE.
virtual void SelectScalarArray(const char *arrayName)
When ScalarMode is set to UsePointFieldData or UseCellFieldData, you can specify which scalar array t...
void SetScalarModeToUsePointData()
Control how the mapper works with scalar point data and cell attribute data.
virtual void SelectScalarArray(int arrayNum)
When ScalarMode is set to UsePointFieldData or UseCellFieldData, you can specify which scalar array t...
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void SetScalarModeToDefault()
Control how the mapper works with scalar point data and cell attribute data.
void SetScalarModeToUsePointFieldData()
Control how the mapper works with scalar point data and cell attribute data.
virtual float GetGradientMagnitudeBias()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE.
void ReleaseGraphicsResources(vtkWindow *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
virtual char * GetArrayName()
Get the array name or number and component to use for rendering.
general representation of visualization data
abstract class to specify dataset behavior
Definition: vtkDataSet.h:166
a simple class to control print indentation
Definition: vtkIndent.h:113
Store vtkAlgorithm input/output information.
abstract specification for renderers
Definition: vtkRenderer.h:182
represents a volume (data & properties) in a rendered scene
Definition: vtkVolume.h:144
window superclass for vtkRenderWindow
Definition: vtkWindow.h:39
#define VTK_SCALAR_MODE_DEFAULT
#define VTK_SCALAR_MODE_USE_POINT_DATA
#define VTK_SCALAR_MODE_USE_CELL_DATA
#define VTK_SCALAR_MODE_USE_CELL_FIELD_DATA
#define VTK_SCALAR_MODE_USE_POINT_FIELD_DATA
#define VTK_SIZEHINT(...)