49#ifndef vtkVolumeProperty_h 
   50#define vtkVolumeProperty_h 
   55#include "vtkRenderingCoreModule.h"  
   60#include <unordered_map>  
   62VTK_ABI_NAMESPACE_BEGIN
 
  116  vtkGetMacro(InterpolationType, 
int);
 
  119  const char* GetInterpolationTypeAsString();
 
  196    this->SetScalarOpacityUnitDistance(0, distance);
 
  235  vtkSetClampMacro(TransferFunctionMode, 
int, 0, 1);
 
  236  vtkGetMacro(TransferFunctionMode, 
int);
 
  280    switch (this->TransferFunctionMode)
 
  283        return (this->GradientOpacity[index] != 
nullptr);
 
  389  vtkSetClampMacro(ScatteringAnisotropy, 
float, -1.0, 1.0);
 
  390  vtkGetMacro(ScatteringAnisotropy, 
float);
 
  440  vtkSetMacro(UseClippedVoxelIntensity, 
int);
 
  441  vtkGetMacro(UseClippedVoxelIntensity, 
int);
 
  442  vtkBooleanMacro(UseClippedVoxelIntensity, 
int);
 
  455  vtkSetMacro(ClippedVoxelIntensity, 
double);
 
  456  vtkGetMacro(ClippedVoxelIntensity, 
double);
 
  531  float ScatteringAnisotropy = 0.0;
 
  581  std::unordered_map<int, vtkColorTransferFunction*> 
LabelColor;
 
  598    return "Nearest Neighbor";
 
Defines a transfer function for mapping a property to an RGB color value.
 
helper object to manage setting and generating contour values
 
topologically and geometrically regular array of data
 
abstract interface for implicit functions
 
a simple class to control print indentation
 
Allocate and hold a VTK object.
 
abstract base class for most VTK objects
 
Defines a 1D piecewise function.
 
Hold a reference to a vtkObjectBase instance.
 
record modification and/or execution time
 
represents the common properties for rendering a volume.
 
void SetSpecular(int index, double value)
Set/Get the specular lighting coefficient.
 
void SetDiffuse(double value)
Set/Get the diffuse lighting coefficient.
 
void SetAmbient(int index, double value)
Set/Get the ambient lighting coefficient.
 
vtkMTimeType GetMTime() override
Get the modified time for this object (or the properties registered with this object).
 
double GetAmbient(int index)
Set/Get the ambient lighting coefficient.
 
virtual double GetComponentWeight(int index)
Set/Get the scalar component weights.
 
vtkPiecewiseFunction * GetLabelGradientOpacity(int label)
Set/Get the gradient opacity function for a label in the label map.
 
vtkTimeStamp LabelGradientOpacityMTime
 
vtkImageData * GetTransferFunction2D(int index)
Color-opacity transfer function mode.
 
vtkPiecewiseFunction * GetStoredGradientOpacity()
Enable/Disable the gradient opacity function for the given component.
 
vtkTimeStamp GetRGBTransferFunctionMTime()
 
void SetShade(int index, int value)
Set/Get the shading of a volume.
 
void ShadeOn()
Set/Get the shading of a volume.
 
void SetScalarOpacityUnitDistance(double distance)
Set/Get the unit distance on which the scalar opacity transfer function is defined.
 
void SetLabelScalarOpacity(int label, vtkPiecewiseFunction *function)
Set/Get the opacity transfer function for a label in the label map.
 
vtkImageData * GetTransferFunction2D()
Color-opacity transfer function mode.
 
std::size_t GetNumberOfLabels()
Get the number of labels that are provided with transfer functions using either SetLabelColor,...
 
virtual int GetDisableGradientOpacity(int index)
Enable/Disable the gradient opacity function for the given component.
 
void SetTransferFunction2D(vtkImageData *function)
Color-opacity transfer function mode.
 
void SetSpecular(double value)
Set/Get the specular lighting coefficient.
 
vtkPiecewiseFunction * GetGrayTransferFunction()
 
void SetColor(vtkPiecewiseFunction *function)
 
vtkTimeStamp GetGrayTransferFunctionMTime(int index)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Get the time that the GrayTransferFunction wa...
 
vtkTimeStamp LabelColorMTime
 
double GetSpecular()
Set/Get the specular lighting coefficient.
 
vtkGetSmartPointerMacro(SliceFunction, vtkImplicitFunction)
Get/Set the function used for slicing.
 
vtkContourValues * GetIsoSurfaceValues()
Get contour values for isosurface blending mode.
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
vtkSmartPointer< vtkImplicitFunction > SliceFunction
Function used for slice.
 
double GetSpecularPower(int index)
Set/Get the specular power.
 
vtkPiecewiseFunction * GetStoredGradientOpacity(int index)
Enable/Disable the gradient opacity function for the given component.
 
vtkColorTransferFunction * GetRGBTransferFunction()
 
void SetTransferFunction2D(int index, vtkImageData *function)
Set/Get a 2D transfer function.
 
vtkTimeStamp GetScalarOpacityMTime()
 
void SetGradientOpacity(int index, vtkPiecewiseFunction *function)
Set the opacity of a volume to an opacity transfer function based on gradient magnitude for the given...
 
void SetTransferFunctionModeTo1D()
Color-opacity transfer function mode.
 
double GetSpecularPower()
Set/Get the specular power.
 
virtual void DisableGradientOpacityOn(int index)
Enable/Disable the gradient opacity function for the given component.
 
void SetSpecularPower(double value)
Set/Get the specular power.
 
double GetScalarOpacityUnitDistance()
Set/Get the unit distance on which the scalar opacity transfer function is defined.
 
void SetTransferFunctionModeTo2D()
Color-opacity transfer function mode.
 
double ClippedVoxelIntensity
 
virtual void DisableGradientOpacityOff(int index)
Enable/Disable the gradient opacity function for the given component.
 
void ShadeOn(int index)
Set/Get the shading of a volume.
 
void ShadeOff(int index)
Set/Get the shading of a volume.
 
const char * GetInterpolationTypeAsString()
Return the interpolation type as a descriptive character string.
 
void SetShade(int value)
Set/Get the shading of a volume.
 
void SetScalarOpacityUnitDistance(int index, double distance)
Set/Get the unit distance on which the scalar opacity transfer function is defined.
 
vtkPiecewiseFunction * GetScalarOpacity()
 
bool HasLabelGradientOpacity()
 
std::unordered_map< int, vtkPiecewiseFunction * > LabelScalarOpacity
 
vtkPiecewiseFunction * GetScalarOpacity(int index)
Get the scalar opacity transfer function for the given component.
 
int UseClippedVoxelIntensity
 
virtual void SetComponentWeight(int index, double value)
Set/Get the scalar component weights.
 
double GetDiffuse()
Set/Get the diffuse lighting coefficient.
 
virtual void SetDisableGradientOpacity(int index, int value)
Enable/Disable the gradient opacity function for the given component.
 
vtkTypeBool IndependentComponents
 
void SetAmbient(double value)
Set/Get the ambient lighting coefficient.
 
vtkTimeStamp GetGrayTransferFunctionMTime()
 
std::set< int > LabelMapLabels
 
virtual void DisableGradientOpacityOff()
Enable/Disable the gradient opacity function for the given component.
 
vtkPiecewiseFunction * GetGradientOpacity()
 
virtual void SetDisableGradientOpacity(int value)
Enable/Disable the gradient opacity function for the given component.
 
void SetLabelColor(int label, vtkColorTransferFunction *function)
Set/Get the color transfer function for a label in the label map.
 
std::set< int > GetLabelMapLabels()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Get access to the internal set that keeps tra...
 
int GetShade()
Set/Get the shading of a volume.
 
void UpdateMTimes()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE UpdateMTimes performs a Modified() on all Tim...
 
void SetInterpolationTypeToNearest()
Set the interpolation type for sampling a volume.
 
int GetColorChannels(int index)
Get the number of color channels in the transfer function for the given component.
 
vtkPiecewiseFunction * GetLabelScalarOpacity(int label)
Set/Get the opacity transfer function for a label in the label map.
 
virtual void DisableGradientOpacityOn()
Enable/Disable the gradient opacity function for the given component.
 
void DeepCopy(vtkVolumeProperty *p)
 
TransferMode
Color-opacity transfer function mode.
 
vtkTimeStamp GetRGBTransferFunctionMTime(int index)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Get the time that the RGBTransferFunction was...
 
static vtkVolumeProperty * New()
 
void SetLabelGradientOpacity(int label, vtkPiecewiseFunction *function)
Set/Get the gradient opacity function for a label in the label map.
 
bool HasGradientOpacity(int index=0)
Check whether or not we have the gradient opacity.
 
void SetSpecularPower(int index, double value)
Set/Get the specular power.
 
vtkTimeStamp GetTransferFunction2DMTime(int index)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Get the time when the TransferFunction2D was ...
 
void SetScalarOpacity(int index, vtkPiecewiseFunction *function)
Set the opacity of a volume to an opacity transfer function based on scalar value for the component i...
 
int GetShade(int index)
Set/Get the shading of a volume.
 
void SetColor(int index, vtkColorTransferFunction *function)
Set the color of a volume to an RGB transfer function for the component indicated by index.
 
vtkNew< vtkContourValues > IsoSurfaceValues
Contour values for isosurface blend mode.
 
std::unordered_map< int, vtkColorTransferFunction * > LabelColor
Label map transfer functions.
 
void ShadeOff()
Set/Get the shading of a volume.
 
vtkTimeStamp GetTransferFunction2DMTime()
 
void SetColor(int index, vtkPiecewiseFunction *function)
Set the color of a volume to a gray level transfer function for the component indicated by index.
 
vtkColorTransferFunction * GetLabelColor(int label)
Set/Get the color transfer function for a label in the label map.
 
vtkPiecewiseFunction * GetGrayTransferFunction(int index)
Get the gray transfer function.
 
void SetInterpolationTypeToLinear()
Set the interpolation type for sampling a volume.
 
std::unordered_map< int, vtkPiecewiseFunction * > LabelGradientOpacity
 
vtkColorTransferFunction * GetRGBTransferFunction(int index)
Get the RGB transfer function for the given component.
 
double GetAmbient()
Set/Get the ambient lighting coefficient.
 
void SetGradientOpacity(vtkPiecewiseFunction *function)
 
vtkSetSmartPointerMacro(SliceFunction, vtkImplicitFunction)
Get/Set the function used for slicing.
 
void SetScalarOpacity(vtkPiecewiseFunction *function)
 
double GetDiffuse(int index)
Set/Get the diffuse lighting coefficient.
 
virtual int GetDisableGradientOpacity()
Enable/Disable the gradient opacity function for the given component.
 
void SetColor(vtkColorTransferFunction *function)
 
~vtkVolumeProperty() override
 
double GetScalarOpacityUnitDistance(int index)
Set/Get the unit distance on which the scalar opacity transfer function is defined.
 
vtkTimeStamp GetGradientOpacityMTime(int index)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Get the time that the gradient opacity transf...
 
virtual void CreateDefaultGradientOpacity(int index)
 
vtkTimeStamp GetScalarOpacityMTime(int index)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Get the time that the scalar opacity transfer...
 
vtkTimeStamp GetGradientOpacityMTime()
 
void SetDiffuse(int index, double value)
Set/Get the diffuse lighting coefficient.
 
vtkPiecewiseFunction * GetGradientOpacity(int index)
Get the gradient magnitude opacity transfer function for the given component.
 
vtkTimeStamp LabelScalarOpacityMTime
 
double GetSpecular(int index)
Set/Get the specular lighting coefficient.
 
#define VTK_NEAREST_INTERPOLATION
 
#define VTK_LINEAR_INTERPOLATION
 
vtkTypeUInt32 vtkMTimeType