23#ifndef __vtkMRMLVolumePropertyJsonStorageNode_h
24#define __vtkMRMLVolumePropertyJsonStorageNode_h
27#include "vtkSlicerVolumeRenderingModuleMRMLExport.h"
32class vtkContourValues;
38class vtkPiecewiseFunction;
39class vtkVolumeProperty;
46 void PrintSelf(ostream& os, vtkIndent indent)
override;
52 const char*
GetNodeTagName()
override {
return "VolumePropertyJsonStorage"; }
Represents a json object or list.
Writes properties into a JSON stream.
bool ReadVolumePropertyNode(vtkMRMLVolumePropertyNode *vpNode, vtkMRMLJsonElement *volumePropertyElement)
bool ReadTransferFunction(vtkObject *transferFunction, vtkMRMLJsonElement *transferFunctionElement)
bool WriteContourValues(vtkMRMLJsonWriter *writer, const char *name, vtkContourValues *contourValues)
~vtkMRMLVolumePropertyJsonStorageNode() override
void operator=(const vtkMRMLVolumePropertyJsonStorageNode &)
static vtkMRMLVolumePropertyJsonStorageNode * New()
const char * GetNodeTagName() override
Get node XML tag name (like Storage, Transform)
void PrintSelf(ostream &os, vtkIndent indent) override
static int GetInterpolationTypeFromString(const std::string &interpolationTypeString)
bool CanReadInReferenceNode(vtkMRMLNode *refNode) override
Return true if the node can be read in.
vtkMRMLVolumePropertyJsonStorageNode()
void InitializeSupportedWriteFileTypes() override
Initialize all the supported write file types.
static std::string GetInterpolationTypeAsString(int interpolationType)
bool WriteVolumeProperty(vtkMRMLJsonWriter *writer, vtkVolumeProperty *volumeProperty, int numberOfComponents=1)
void InitializeSupportedReadFileTypes() override
Initialize all the supported read file types.
vtkMRMLNode * CreateNodeInstance() override
Create instance of the default node. Like New only virtual.
bool WriteVolumePropertyNode(vtkMRMLJsonWriter *writer, vtkMRMLVolumePropertyNode *volumePropertyNode)
int WriteDataInternal(vtkMRMLNode *refNode) override
Write data from a referenced node.
vtkMRMLVolumePropertyJsonStorageNode(const vtkMRMLVolumePropertyJsonStorageNode &)
int ReadDataInternal(vtkMRMLNode *refNode) override
Read data and set it in the referenced node.
int GetNumberOfVolumePropertiesInFile(const char *filePath)
vtkMRMLVolumePropertyNode * AddNewVolumePropertyNodeFromFile(const char *filePath, const char *nodeName=nullptr, int vpIndex=0)
bool WriteTransferFunction(vtkMRMLJsonWriter *writer, const char *name, vtkObject *transferFunction)
vtkMRMLVolumePropertyNode contains the transfer functions (scalar opacity, color and gradient opacity...