18 #ifndef __vtkMRMLSequenceNode_h 19 #define __vtkMRMLSequenceNode_h 48 void PrintSelf(ostream& os, vtkIndent indent)
override;
57 void WriteXML(ostream& of,
int indent)
override;
68 void UpdateSequenceIndex();
74 void SetIndexName(
const std::string& str);
76 vtkGetMacro(IndexName, std::string);
79 void SetIndexUnit(
const std::string& str);
81 vtkGetMacro(IndexUnit, std::string);
84 void SetIndexType(
int indexType);
85 void SetIndexTypeFromString(
const char *indexTypeString);
87 vtkGetMacro(IndexType,
int);
88 virtual std::string GetIndexTypeAsString();
92 vtkGetMacro(NumericIndexValueTolerance,
double);
94 void SetNumericIndexValueTolerance(
double tolerance);
97 static std::string GetIndexTypeAsString(
int indexType);
98 static int GetIndexTypeFromString(
const std::string &indexTypeString);
108 bool UpdateDataNodeAtValue(
vtkMRMLNode* node,
const std::string& indexValue,
bool shallowCopy =
false);
111 void RemoveDataNodeAtValue(
const std::string& indexValue);
114 void RemoveAllDataNodes();
118 vtkMRMLNode* GetDataNodeAtValue(
const std::string& indexValue,
bool exactMatchRequired =
true);
124 std::string GetNthIndexValue(
int itemNumber);
128 int GetItemNumberFromIndexValue(
const std::string& indexValue,
bool exactMatchRequired =
true);
131 bool UpdateIndexValue(
const std::string& oldIndexValue,
const std::string& newIndexValue);
134 int GetNumberOfDataNodes();
137 std::string GetDataNodeClassName();
140 std::string GetDataNodeTagName();
176 int GetInsertPosition(
const std::string& indexValue);
178 void ReadIndexValues(
const std::string& indexText);
195 double NumericIndexValueTolerance{0.001};
std::deque< IndexEntryType > IndexEntries
List of data items (the scene may contain some more nodes, such as storage nodes) ...
virtual vtkMRMLStorageNode * CreateDefaultStorageNode()
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML file
MRML node for representing a sequence of MRML nodes.
vtkMRMLNode * CreateNodeInstance() override=0
MRMLNode methods.
std::string IndexName
Describes index of the sequence node.
virtual std::string GetDefaultStorageNodeClassName(const char *filename=nullptr)
virtual void Copy(vtkMRMLNode *node)
Copy node contents from another node of the same type. Does not copy node ID and Scene. Performs deep copy - an independent copy is created from all data, including bulk data.
MRML node to represent a 3D surface model.
A set of MRML Nodes that supports serialization and undo/redo.
A superclass for other storage nodes.
const char * GetNodeTagName() override
Get unique node XML tag name (like Volume, Model)
void UpdateScene(vtkMRMLScene *scene) override
Finds the storage node and read the data
Abstract Superclass for all specific types of MRML nodes.
void operator=(const vtkMRMLStorableNode &)
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
void PrintSelf(ostream &os, vtkIndent indent) override