23#ifndef __vtkMRMLMarkupsJsonStorageNode_h
24#define __vtkMRMLMarkupsJsonStorageNode_h
27#include "vtkSlicerMarkupsModuleMRMLExport.h"
40 void PrintSelf(ostream& os, vtkIndent indent)
override;
55 void WriteXML(ostream& of,
int indent)
override;
Represents a json object or list.
Writes properties into a JSON stream.
const char * GetNodeTagName() override
Get node XML tag name (like Storage, Model)
virtual bool WriteMarkup(vtkMRMLJsonWriter *writer, vtkMRMLMarkupsNode *markupsNode)
~vtkMRMLMarkupsJsonStorageNode() override
void InitializeSupportedReadFileTypes() override
Initialize all the supported write file types.
static vtkMRMLMarkupsJsonStorageNode * New()
void GetMarkupsTypesInFile(const char *filePath, std::vector< std::string > &outputMarkupsTypes)
vtkMRMLMarkupsNode * AddNewMarkupsNodeFromFile(const char *filePath, const char *nodeName=nullptr, int markupIndex=0)
Read a markups node from a file.
int WriteDataInternal(vtkMRMLNode *refNode) override
Write data from a referenced node.
void InitializeSupportedWriteFileTypes() override
Initialize all the supported write file types.
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML file.
virtual bool UpdateMarkupsNodeFromJsonValue(vtkMRMLMarkupsNode *markupsNode, vtkMRMLJsonElement *markupObject)
virtual bool ReadMeasurements(vtkMRMLJsonElement *measurementsArray, vtkMRMLMarkupsNode *markupsNode)
vtkMRMLNode * CreateNodeInstance() override
Create instance of the default node. Like New only virtual.
void operator=(const vtkMRMLMarkupsJsonStorageNode &)
void Copy(vtkMRMLNode *node) override
Copy the node's attributes to this object.
std::string GetMarkupsClassNameFromMarkupsType(std::string markupsType)
virtual bool WriteMeasurements(vtkMRMLJsonWriter *writer, vtkMRMLMarkupsNode *markupsNode)
void PrintSelf(ostream &os, vtkIndent indent) override
virtual bool ReadControlPoints(vtkMRMLJsonElement *controlPointsArray, int coordinateSystem, vtkMRMLMarkupsNode *markupsNode)
virtual bool UpdateMarkupsDisplayNodeFromJsonValue(vtkMRMLMarkupsDisplayNode *displayNode, vtkMRMLJsonElement *markupObject)
virtual bool WriteDisplayProperties(vtkMRMLJsonWriter *writer, vtkMRMLMarkupsDisplayNode *markupsDisplayNode)
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
vtkMRMLMarkupsJsonStorageNode()
vtkMRMLMarkupsJsonStorageNode(const vtkMRMLMarkupsJsonStorageNode &)
bool CanReadInReferenceNode(vtkMRMLNode *refNode) override
std::string GetCoordinateUnitsFromSceneAsString(vtkMRMLMarkupsNode *markupsNode)
virtual bool WriteBasicProperties(vtkMRMLJsonWriter *writer, vtkMRMLMarkupsNode *markupsNode)
int ReadDataInternal(vtkMRMLNode *refNode) override
Read data and set it in the referenced node.
VTK_NEWINSTANCE vtkMRMLJsonElement * ReadMarkupsFile(const char *filePath)
Only in C++: The caller must take ownership of the returned object.
virtual bool WriteControlPoints(vtkMRMLJsonWriter *writer, vtkMRMLMarkupsNode *markupsNode)
vtkMRMLMarkupsStorageNode()