61 #ifndef vtkVolumeProperty_h
62 #define vtkVolumeProperty_h
67 #include "vtkRenderingCoreModule.h"
72 #include <unordered_map>
116 vtkSetClampMacro(IndependentComponents,
vtkTypeBool, 0, 1);
118 vtkBooleanMacro(IndependentComponents,
vtkTypeBool);
127 vtkGetMacro(InterpolationType,
int);
130 const char* GetInterpolationTypeAsString(
void);
138 virtual void SetComponentWeight(
int index,
double value);
139 virtual double GetComponentWeight(
int index);
163 int GetColorChannels(
int index);
204 void SetScalarOpacityUnitDistance(
int index,
double distance);
207 this->SetScalarOpacityUnitDistance(0, distance);
209 double GetScalarOpacityUnitDistance(
int index);
246 vtkSetClampMacro(TransferFunctionMode,
int, 0, 1);
247 vtkGetMacro(TransferFunctionMode,
int);
271 virtual void SetDisableGradientOpacity(
int index,
int value);
277 virtual int GetDisableGradientOpacity(
int index);
291 switch (this->TransferFunctionMode)
294 return (this->GradientOpacity[
index] !=
nullptr);
329 int GetShade(
int index);
331 void ShadeOn(
int index);
333 void ShadeOff(
int index);
343 double GetAmbient(
int index);
353 double GetDiffuse(
int index);
363 double GetSpecular(
int index);
371 void SetSpecularPower(
int index,
double value);
373 double GetSpecularPower(
int index);
400 vtkSetClampMacro(ScatteringAnisotropy,
float, -1.0, 1.0);
401 vtkGetMacro(ScatteringAnisotropy,
float);
451 vtkSetMacro(UseClippedVoxelIntensity,
int);
452 vtkGetMacro(UseClippedVoxelIntensity,
int);
453 vtkBooleanMacro(UseClippedVoxelIntensity,
int);
466 vtkSetMacro(ClippedVoxelIntensity,
double);
467 vtkGetMacro(ClippedVoxelIntensity,
double);
516 std::size_t GetNumberOfLabels();
522 std::set<int> GetLabelMapLabels();
535 virtual void CreateDefaultGradientOpacity(
int index);
542 float ScatteringAnisotropy = 0.0;
592 std::unordered_map<int, vtkColorTransferFunction*>
LabelColor;
609 return "Nearest Neighbor";
abstract interface for implicit functions
void SetTransferFunctionModeTo2D()
Color-opacity transfer function mode.
int GetShade()
Set/Get the shading of a volume.
vtkSmartPointer< vtkImplicitFunction > SliceFunction
Function used for slice.
vtkColorTransferFunction * GetRGBTransferFunction()
helper object to manage setting and generating contour values
virtual void DisableGradientOpacityOn()
Enable/Disable the gradient opacity function for the given component.
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
double GetDiffuse()
Set/Get the diffuse lighting coefficient.
void SetAmbient(double value)
Set/Get the ambient lighting coefficient.
Defines a 1D piecewise function.
void SetSpecularPower(double value)
Set/Get the specular power.
vtkTypeUInt32 vtkMTimeType
vtkTypeBool IndependentComponents
void SetColor(vtkColorTransferFunction *function)
vtkPiecewiseFunction * GetGrayTransferFunction()
bool HasLabelGradientOpacity()
record modification and/or execution time
#define VTK_LINEAR_INTERPOLATION
double ClippedVoxelIntensity
void SetScalarOpacity(vtkPiecewiseFunction *function)
double GetSpecular()
Set/Get the specular lighting coefficient.
vtkImageData * GetTransferFunction2D()
Color-opacity transfer function mode.
void SetGradientOpacity(vtkPiecewiseFunction *function)
std::unordered_map< int, vtkPiecewiseFunction * > LabelGradientOpacity
void SetColor(vtkPiecewiseFunction *function)
double GetScalarOpacityUnitDistance()
Set/Get the unit distance on which the scalar opacity transfer function is defined.
TransferMode
Color-opacity transfer function mode.
void SetTransferFunctionModeTo1D()
Color-opacity transfer function mode.
vtkPiecewiseFunction * GetScalarOpacity()
vtkTimeStamp GetRGBTransferFunctionMTime()
const char * GetInterpolationTypeAsString(void)
Return the interpolation type as a descriptive character string.
vtkPiecewiseFunction * GetStoredGradientOpacity()
Enable/Disable the gradient opacity function for the given component.
vtkTimeStamp GetScalarOpacityMTime()
a simple class to control print indentation
topologically and geometrically regular array of data
bool HasGradientOpacity(int index=0)
Check whether or not we have the gradient opacity.
vtkTimeStamp GetGrayTransferFunctionMTime()
void ShadeOff()
Set/Get the shading of a volume.
virtual vtkMTimeType GetMTime()
Return this object's modified time.
void SetInterpolationTypeToNearest()
Set the interpolation type for sampling a volume.
represents the common properties for rendering a volume.
virtual void SetDisableGradientOpacity(int value)
Enable/Disable the gradient opacity function for the given component.
void SetSpecular(double value)
Set/Get the specular lighting coefficient.
vtkTimeStamp LabelGradientOpacityMTime
int UseClippedVoxelIntensity
void SetShade(int value)
Set/Get the shading of a volume.
Defines a transfer function for mapping a property to an RGB color value.
vtkTimeStamp GetTransferFunction2DMTime()
void SetTransferFunction2D(vtkImageData *function)
Color-opacity transfer function mode.
vtkTimeStamp LabelScalarOpacityMTime
std::set< int > LabelMapLabels
vtkNew< vtkContourValues > IsoSurfaceValues
Contour values for isosurface blend mode.
void SetDiffuse(double value)
Set/Get the diffuse lighting coefficient.
void SetInterpolationTypeToLinear()
Set the interpolation type for sampling a volume.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
virtual int GetDisableGradientOpacity()
Enable/Disable the gradient opacity function for the given component.
vtkTimeStamp GetGradientOpacityMTime()
virtual void DisableGradientOpacityOff(int index)
Enable/Disable the gradient opacity function for the given component.
virtual void DisableGradientOpacityOn(int index)
Enable/Disable the gradient opacity function for the given component.
vtkTimeStamp LabelColorMTime
#define VTK_NEAREST_INTERPOLATION
void ShadeOn()
Set/Get the shading of a volume.
std::unordered_map< int, vtkColorTransferFunction * > LabelColor
Label map transfer functions.
virtual void DisableGradientOpacityOff()
Enable/Disable the gradient opacity function for the given component.
void SetScalarOpacityUnitDistance(double distance)
Set/Get the unit distance on which the scalar opacity transfer function is defined.
vtkPiecewiseFunction * GetGradientOpacity()
double GetAmbient()
Set/Get the ambient lighting coefficient.
double GetSpecularPower()
Set/Get the specular power.
std::unordered_map< int, vtkPiecewiseFunction * > LabelScalarOpacity