6 #ifndef __vtkMRMLVolumePropertyNode_h 7 #define __vtkMRMLVolumePropertyNode_h 10 #include "vtkSlicerVolumeRenderingModuleMRMLExport.h" 16 class vtkColorTransferFunction;
18 class vtkPiecewiseFunction;
19 class vtkVolumeProperty;
25 #define COUNT_CROPPING_REGION_PLANES 6 40 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
44 vtkGetObjectMacro(VolumeProperty,vtkVolumeProperty);
49 void SetScalarOpacity(vtkPiecewiseFunction* newScalarOpacity,
int component = 0);\
53 vtkPiecewiseFunction* GetScalarOpacity(
int component = 0);
58 void SetGradientOpacity(vtkPiecewiseFunction* newGradientOpacity,
int component = 0);
62 vtkPiecewiseFunction* GetGradientOpacity(
int component = 0);
67 void SetColor(vtkColorTransferFunction* newColorFunction,
int component = 0);
71 vtkColorTransferFunction* GetColor(
int component = 0);
79 static std::string GetPiecewiseFunctionString(vtkPiecewiseFunction*
function);
87 static std::string GetColorTransferFunctionString(vtkColorTransferFunction*
function);
93 static void GetPiecewiseFunctionFromString(
const std::string& str,
94 vtkPiecewiseFunction* result);
100 static void GetColorTransferFunctionFromString(
const std::string& str,
101 vtkColorTransferFunction* result);
107 static inline void GetPiecewiseFunctionFromString(
const char *str,
108 vtkPiecewiseFunction* result);
115 static inline void GetColorTransferFunctionFromString(
const char *str,
116 vtkColorTransferFunction* result);
121 static double NextHigher(
double value);
126 static double HigherAndUnique(
double value,
double & previousValue);
134 virtual
void ReadXMLAttributes( const
char** atts) VTK_OVERRIDE;
137 virtual
void WriteXML(ostream& of,
int indent) VTK_OVERRIDE;
147 virtual const
char* GetNodeTagName() VTK_OVERRIDE {
return "VolumeProperty";}
150 virtual void ProcessMRMLEvents ( vtkObject *caller,
unsigned long event,
void *callData) VTK_OVERRIDE;
162 static int NodesFromString(
const std::string& dataString,
double* &data,
int nodeSize);
163 static int DataFromString(
const std::string& dataString,
double* &data);
164 static std::string DataToString(
double* data,
int size);
182 vtkPiecewiseFunction* result)
185 std::string(str), result);
191 vtkColorTransferFunction* result)
194 std::string (str), result);
virtual vtkMRMLStorageNode * CreateDefaultStorageNode()
virtual bool GetModifiedSinceRead()
virtual void ProcessMRMLEvents(vtkObject *, unsigned long, void *) VTK_OVERRIDE
alternative method to propagate events generated in Storage nodes
vtkVolumeProperty * VolumeProperty
Main parameters for visualization.
virtual vtkMRMLNode * CreateNodeInstance() VTK_OVERRIDE=0
MRMLNode methods.
MRML node to represent a 3D surface model.
vtkIntArray * ObservedEvents
Events observed on the transfer functions.
A supercalss for other storage nodes.
static void GetPiecewiseFunctionFromString(const std::string &str, vtkPiecewiseFunction *result)
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
static void GetColorTransferFunctionFromString(const std::string &str, vtkColorTransferFunction *result)
Abstract Superclass for all specific types of MRML nodes.
void operator=(const vtkMRMLStorableNode &)
vtkMRMLVolumePropertyNode contains the transfer functions (scalar opacity, color and gradient opacity...