18 #ifndef __vtkMRMLSequenceNode_h 19 #define __vtkMRMLSequenceNode_h 52 void PrintSelf(ostream& os, vtkIndent indent)
override;
61 void WriteXML(ostream& of,
int indent)
override;
72 void UpdateSequenceIndex();
78 void SetIndexName(
const std::string& str);
80 vtkGetMacro(IndexName, std::string);
83 void SetIndexUnit(
const std::string& str);
85 vtkGetMacro(IndexUnit, std::string);
88 void SetIndexType(
int indexType);
89 void SetIndexTypeFromString(
const char *indexTypeString);
91 vtkGetMacro(IndexType,
int);
92 virtual std::string GetIndexTypeAsString();
96 vtkGetMacro(NumericIndexValueTolerance,
double);
98 void SetNumericIndexValueTolerance(
double tolerance);
101 static std::string GetIndexTypeAsString(
int indexType);
102 static int GetIndexTypeFromString(
const std::string &indexTypeString);
112 bool UpdateDataNodeAtValue(
vtkMRMLNode* node,
const std::string& indexValue,
bool shallowCopy =
false);
115 void RemoveDataNodeAtValue(
const std::string& indexValue);
118 void RemoveAllDataNodes();
122 vtkMRMLNode* GetDataNodeAtValue(
const std::string& indexValue,
bool exactMatchRequired =
true);
128 std::string GetNthIndexValue(
int itemNumber);
132 int GetItemNumberFromIndexValue(
const std::string& indexValue,
bool exactMatchRequired =
true);
135 bool UpdateIndexValue(
const std::string& oldIndexValue,
const std::string& newIndexValue);
138 int GetNumberOfDataNodes();
141 std::string GetDataNodeClassName();
144 std::string GetDataNodeTagName();
180 int GetInsertPosition(
const std::string& indexValue);
182 void ReadIndexValues(
const std::string& indexText);
199 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)
void Copy(vtkMRMLNode *node) override
Copy node contents from another node of the same type. Reimplemented to copy default sequence storage...
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