Slicer  4.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
vtkMRMLStorableNode Class Referenceabstract

MRML node to represent a 3D surface model. More...

#include <Libs/MRML/Core/vtkMRMLStorableNode.h>

Inheritance diagram for vtkMRMLStorableNode:
Inheritance graph
Collaboration diagram for vtkMRMLStorableNode:
Collaboration graph

Public Types

typedef vtkMRMLNode Superclass
- Public Types inherited from vtkMRMLNode
enum  {
  HierarchyModifiedEvent = 16000, IDChangedEvent = 16001, ReferenceAddedEvent, ReferenceModifiedEvent,
  ReferenceRemovedEvent, ReferencedNodeModifiedEvent
typedef vtkObject Superclass

Public Member Functions

void AddAndObserveStorageNodeID (const char *storageNodeID)
virtual bool AddDefaultStorageNode (const char *filename=NULL)
virtual void Copy (vtkMRMLNode *node) VTK_OVERRIDE
 Copy the node's attributes to this object. More...
virtual vtkMRMLStorageNodeCreateDefaultStorageNode ()
virtual vtkMRMLNodeCreateNodeInstance () VTK_OVERRIDE=0
 MRMLNode methods. More...
virtual const char * GetClassName ()
virtual std::string GetDefaultStorageNodeClassName (const char *filename=NULL)
virtual bool GetModifiedSinceRead ()
virtual const char * GetNodeTagName () VTK_OVERRIDE=0
vtkMRMLStorageNodeGetNthStorageNode (int n)
 Get associated display MRML node. More...
const char * GetNthStorageNodeID (int n)
int GetNumberOfStorageNodes ()
const char * GetSlicerDataType ()
vtkMRMLStorageNodeGetStorageNode ()
const char * GetStorageNodeID ()
virtual vtkTagTableGetUserTagTable ()
 Methods for user-specified metadata. More...
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual void ProcessMRMLEvents (vtkObject *, unsigned long, void *) VTK_OVERRIDE
 alternative method to propagate events generated in Storage nodes More...
virtual void ReadXMLAttributes (const char **atts) VTK_OVERRIDE
 Read node attributes from XML file. More...
void SetAndObserveNthStorageNodeID (int n, const char *storageNodeID)
void SetAndObserveStorageNodeID (const char *storageNodeID)
 String ID of the storage MRML node. More...
void SetSlicerDataType (const char *type)
virtual void StorableModified ()
virtual void UpdateScene (vtkMRMLScene *scene) VTK_OVERRIDE
 Finds the storage node and read the data. More...
virtual void WriteXML (ostream &of, int indent) VTK_OVERRIDE
 Write this node's information to a MRML file in XML format. More...
- Public Member Functions inherited from vtkMRMLNode
vtkMRMLNodeAddAndObserveNodeReferenceID (const char *referenceRole, const char *referencedNodeID, vtkIntArray *events=0)
 Add and observe a reference node from this node for a specific referenceRole. More...
vtkMRMLNodeAddNodeReferenceID (const char *referenceRole, const char *referencedNodeID)
 Convenience method that adds a referencedNodeID at the end of the list. More...
void AddNodeReferenceRole (const char *referenceRole, const char *mrmlAttributeName=0, vtkIntArray *events=0)
 Add a referenceRole. More...
virtual void AddToSceneOff ()
virtual void AddToSceneOn ()
virtual void CopyReferences (vtkMRMLNode *node)
 Copy the references of the node into this. More...
void CopyWithoutModifiedEvent (vtkMRMLNode *node)
void CopyWithScene (vtkMRMLNode *node)
 Copy everything (including Scene and ID) from another node of the same type. More...
void CopyWithSceneWithSingleModifiedEvent (vtkMRMLNode *node)
 Copy everything (including Scene and ID) from another node of the same type. More...
void CopyWithSingleModifiedEvent (vtkMRMLNode *node)
void DisableModifiedEventOff ()
void DisableModifiedEventOn ()
virtual int EndModify (int previousDisableModifiedEventState)
 End modifying the node. More...
virtual int GetAddToScene ()
 node added to MRML scene. More...
const char * GetAttribute (const char *name)
 Get value of a name value pair attribute. More...
std::vector< std::string > GetAttributeNames ()
 Get all attribute names. More...
void GetAttributeNames (vtkStringArray *attributeNames)
 Get all attribute names. Python-wrappable version. More...
virtual char * GetDescription ()
virtual int GetDisableModifiedEvent ()
 Turn on/off generating InvokeEvent for set macros. More...
virtual int GetHideFromEditors ()
 Describes if the node is hidden. More...
virtual char * GetID ()
 ID use by other nodes to reference this node in XML. More...
virtual int GetInMRMLCallbackFlag ()
 Flags to avoid event loops. More...
virtual int GetModifiedEventPending ()
virtual char * GetName ()
vtkMRMLNodeGetNodeReference (const char *referenceRole)
const char * GetNodeReferenceID (const char *referenceRole)
 Utility function that returns the first node id for a specific referenceRole. More...
void GetNodeReferenceIDs (const char *referenceRole, std::vector< const char *> &referencedNodeIDs)
 Return a list of the referenced node IDs. More...
void GetNodeReferenceRoles (std::vector< std::string > &roles)
void GetNodeReferences (const char *referenceRole, std::vector< vtkMRMLNode *> &nodes)
 Return a list of the referenced nodes. More...
vtkMRMLNodeGetNthNodeReference (const char *referenceRole, int n)
 Get referenced MRML node for a specific referenceRole. More...
const char * GetNthNodeReferenceID (const char *referenceRole, int n)
 Return the string of the Nth node ID for a specific reference role. More...
const char * GetNthNodeReferenceRole (int n)
int GetNumberOfNodeReferenceRoles ()
int GetNumberOfNodeReferences (const char *referenceRole)
 Return the number of node IDs for a specific reference role (and nodes as they always have the same size). More...
virtual int GetSaveWithScene ()
 Save node with MRML scene. More...
virtual vtkMRMLSceneGetScene ()
 Only the scene can set itself to the node. More...
virtual int GetSelectable ()
 Describes if the node is selectable. More...
virtual int GetSelected ()
 Get/Set for Selected. More...
virtual char * GetSingletonTag ()
bool HasNodeReferenceID (const char *referenceRole, const char *referencedNodeID)
 Return true if referencedNodeID is in the node ID list for a specific referenceRole. More...
virtual void HideFromEditorsOff ()
virtual void HideFromEditorsOn ()
virtual void InvokeCustomModifiedEvent (int eventId, void *callData=NULL)
 This method allows the node to compress events. More...
virtual int InvokePendingModifiedEvent ()
 Invokes any modified events that are pending. More...
bool IsSingleton ()
virtual void Modified () VTK_OVERRIDE
 Customized version of Modified() allowing to compress vtkCommand::ModifiedEvent. More...
virtual void OnNodeAddedToScene ()
void PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual void ProcessChildNode (vtkMRMLNode *)
 Set dependencies between this node and a child node when parsing XML file. More...
void RemoveAttribute (const char *name)
 Remove attribute with the specified name. More...
void RemoveNodeReferenceIDs (const char *referenceRole)
 Remove all node IDs and associated nodes for a specific referenceRole. More...
void RemoveNthNodeReferenceID (const char *referenceRole, int n)
 Convenience method that removes the Nth node ID from the list. More...
virtual void Reset (vtkMRMLNode *defaultNode)
 Reset node attributes to the initial state as defined in the constructor or the passed default node. More...
virtual void SaveWithSceneOff ()
virtual void SaveWithSceneOn ()
virtual void SelectableOff ()
virtual void SelectableOn ()
virtual void SelectedOff ()
virtual void SelectedOn ()
virtual void SetAddToScene (int)
void SetAddToSceneNoModify (int value)
vtkMRMLNodeSetAndObserveNodeReferenceID (const char *referenceRole, const char *referencedNodeID, vtkIntArray *events=0)
 Set and observe a reference node from this node for a specific referenceRole. More...
vtkMRMLNodeSetAndObserveNthNodeReferenceID (const char *referenceRole, int n, const char *referencedNodeID, vtkIntArray *events=0)
 Set and observe the Nth node ID for a specific reference role. More...
void SetAttribute (const char *name, const char *value)
 Set a name value pair attribute. More...
virtual void SetDescription (const char *)
 Text description of this node, to be set by the user. More...
void SetDisableModifiedEvent (int onOff)
virtual void SetHideFromEditors (int)
void SetInMRMLCallbackFlag (int flag)
virtual void SetName (const char *)
 Name of this node, to be set by the user. More...
vtkMRMLNodeSetNodeReferenceID (const char *referenceRole, const char *referencedNodeID)
 Set a reference to a node with specified nodeID from this node for a specific referenceRole. More...
vtkMRMLNodeSetNthNodeReferenceID (const char *referenceRole, int n, const char *referencedNodeID)
 Set a N-th reference from this node with specified referencedNodeID for a specific referenceRole. More...
virtual void SetSaveWithScene (int)
virtual void SetScene (vtkMRMLScene *scene)
virtual void SetSceneReferences ()
 Update the references of the node to the scene. More...
virtual void SetSelectable (int)
virtual void SetSelected (int)
void SetSingletonOff ()
void SetSingletonOn ()
virtual void SetSingletonTag (const char *)
 Tag that make this node a singleton in the scene. More...
virtual int StartModify ()
 Start modifying the node. Disable Modify events. More...
virtual void UpdateReferenceID (const char *oldID, const char *newID)
 Update the stored reference to another node in the scene. More...
virtual void UpdateReferences ()
 The method should remove all pointers and observations to all nodes that are not in the scene anymore. More...
const char * URLDecodeString (const char *inString)
 Decode a URL string. More...
const char * URLEncodeString (const char *inString)
 Encode a URL string. More...
virtual void WriteNodeBodyXML (ostream &of, int indent)
 Write this node's body to a MRML file in XML format. More...

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkMRMLStorableNodeSafeDownCast (vtkObject *o)
- Static Public Member Functions inherited from vtkMRMLNode
static int IsTypeOf (const char *type)
static vtkMRMLNodeSafeDownCast (vtkObject *o)

Protected Member Functions

virtual const char * GetStorageNodeReferenceMRMLAttributeName ()
virtual const char * GetStorageNodeReferenceRole ()
virtual vtkTimeStamp GetStoredTime ()
void operator= (const vtkMRMLStorableNode &)
 vtkMRMLStorableNode ()
 vtkMRMLStorableNode (const vtkMRMLStorableNode &)
 ~vtkMRMLStorableNode ()
- Protected Member Functions inherited from vtkMRMLNode
virtual const char * GetMRMLAttributeNameFromReferenceRole (const char *refRole)
 Return the mrml attribute name (if found) associated with a reference role. Return 0 otherwise. More...
virtual const char * GetReferenceRoleFromMRMLAttributeName (const char *attName)
 Return the reference role (if found) associated with the attribute name found in a MRML scene file. Return 0 otherwise. More...
virtual char * GetTempURLString ()
void GetUpdatedReferencedNodeEventList (int &oldReferencedNodeUseCount, int &newReferencedNodeUseCount, vtkIntArray *oldConsolidatedEventList, vtkIntArray *newConsolidatedEventList, vtkMRMLNode *oldReferencedNode, vtkMRMLNode *newReferencedNode, vtkMRMLNodeReference *referenceToIgnore, vtkIntArray *newEvents)
virtual void InvalidateNodeReferences ()
virtual bool IsReferenceRoleGeneric (const char *refRole)
 Return true if the reference role is generic (ends with '/') or false otherwise. More...
virtual void OnNodeReferenceAdded (vtkMRMLNodeReference *reference)
virtual void OnNodeReferenceModified (vtkMRMLNodeReference *reference)
 Called when a referenced node pointer is modified. More...
virtual void OnNodeReferenceRemoved (vtkMRMLNodeReference *reference)
 Called when a referenced node pointer is removed (set to NULL). More...
void operator= (const vtkMRMLNode &)
void ParseReferencesAttribute (const char *attValue, std::map< std::string, std::string > &references)
virtual void SetTempURLString (const char *)
 Get/Set the string used to manage encoding/decoding of strings/URLs with special characters. More...
vtkMRMLNodeUpdateNodeReferenceEventObserver (vtkMRMLNode *oldReferencedNode, vtkMRMLNode *newReferencedNode, vtkIntArray *newEvents, vtkMRMLNodeReference *referenceToIgnore)
virtual void UpdateNodeReferences (const char *referenceRole=NULL)
virtual void UpdateNthNodeReference (const char *referenceRole, int n)
 vtkMRMLNode ()
 vtkMRMLNode (const vtkMRMLNode &)
virtual ~vtkMRMLNode ()
 critical to have a virtual destructor! More...

Protected Attributes

std::string SlicerDataType
vtkTimeStamp StorableModifiedTime
- Protected Attributes inherited from vtkMRMLNode
int AddToScene
AttributesType Attributes
char * Description
int HideFromEditors
char * ID
int InMRMLCallbackFlag
 Flag to avoid event loops. More...
vtkCallbackCommand * MRMLCallbackCommand
 Holders for MRML callbacks. More...
char * Name
NodeReferenceEventsType NodeReferenceEvents
std::map< std::string, std::string > NodeReferenceMRMLAttributeNames
NodeReferencesType NodeReferences
int SaveWithScene
vtkWeakPointer< vtkMRMLSceneScene
int Selectable
int Selected

Static Protected Attributes

static const char * StorageNodeReferenceMRMLAttributeName
static const char * StorageNodeReferenceRole

Additional Inherited Members

- Protected Types inherited from vtkMRMLNode
typedef std::map< std::string, std::string > AttributesType
typedef std::map< std::string, vtkSmartPointer< vtkIntArray > > NodeReferenceEventsType
typedef std::vector< vtkSmartPointer< vtkMRMLNodeReference > > NodeReferenceListType
typedef std::map< std::string, NodeReferenceListTypeNodeReferencesType
- Static Protected Member Functions inherited from vtkMRMLNode
static void MRMLCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData)

Detailed Description

MRML node to represent a 3D surface model.

Model nodes describe polygonal data. Models are assumed to have been constructed with the orientation and voxel dimensions of the original segmented volume.

Definition at line 33 of file vtkMRMLStorableNode.h.

Member Typedef Documentation

◆ Superclass

Definition at line 36 of file vtkMRMLStorableNode.h.

Constructor & Destructor Documentation

◆ vtkMRMLStorableNode() [1/2]

vtkMRMLStorableNode::vtkMRMLStorableNode ( )

◆ ~vtkMRMLStorableNode()

vtkMRMLStorableNode::~vtkMRMLStorableNode ( )

◆ vtkMRMLStorableNode() [2/2]

vtkMRMLStorableNode::vtkMRMLStorableNode ( const vtkMRMLStorableNode )

Member Function Documentation

◆ AddAndObserveStorageNodeID()

void vtkMRMLStorableNode::AddAndObserveStorageNodeID ( const char *  storageNodeID)

◆ AddDefaultStorageNode()

virtual bool vtkMRMLStorableNode::AddDefaultStorageNode ( const char *  filename = NULL)

Returns true on success. If storage node is not needed then storage node is not created and the method returns with true.

◆ Copy()

virtual void vtkMRMLStorableNode::Copy ( vtkMRMLNode node)

◆ CreateDefaultStorageNode()

virtual vtkMRMLStorageNode* vtkMRMLStorableNode::CreateDefaultStorageNode ( )

◆ CreateNodeInstance()

virtual vtkMRMLNode* vtkMRMLStorableNode::CreateNodeInstance ( )
pure virtual

◆ GetClassName()

virtual const char* vtkMRMLStorableNode::GetClassName ( )

◆ GetDefaultStorageNodeClassName()

virtual std::string vtkMRMLStorableNode::GetDefaultStorageNodeClassName ( const char *  filename = NULL)

Determines the most appropriate storage node class for the provided file name and node content. If the method is not overwritten by subclass then it uses CreateDefaultStorageNode to determine storage node class name.

Reimplemented in vtkMRMLModelNode, and vtkMRMLAnnotationNode.

◆ GetModifiedSinceRead()

virtual bool vtkMRMLStorableNode::GetModifiedSinceRead ( )

Returns true if the node is more recent than the file on disk. This information can be used by the application to know which node has been modified since it has been last read or written. Only storable properties are considered: even if a "non storable" property (e.g. color of a mesh) is modified after the node is being loaded, GetModifiedSinceRead() should return false; the new property value won't be stored on file (only in the MRML scene). By default, calling Modified() on the node doesn't make the node "modified since read", only calling Modified() on StorableModifiedTime does. GetModifiedSinceRead() can be overwritten to handle special storable property modification time.

See also
GetStoredTime() StorableModifiedTime Modified() StorableModified()

Reimplemented in vtkMRMLMarkupsNode, vtkMRMLTransformNode, vtkMRMLModelNode, vtkMRMLVolumeNode, vtkMRMLColorNode, and vtkMRMLVolumePropertyNode.

◆ GetNodeTagName()

virtual const char* vtkMRMLStorableNode::GetNodeTagName ( )
pure virtual

◆ GetNthStorageNode()

vtkMRMLStorageNode* vtkMRMLStorableNode::GetNthStorageNode ( int  n)

Get associated display MRML node.

◆ GetNthStorageNodeID()

const char* vtkMRMLStorableNode::GetNthStorageNodeID ( int  n)

◆ GetNumberOfStorageNodes()

int vtkMRMLStorableNode::GetNumberOfStorageNodes ( )

◆ GetSlicerDataType()

const char* vtkMRMLStorableNode::GetSlicerDataType ( )

◆ GetStorageNode()

vtkMRMLStorageNode* vtkMRMLStorableNode::GetStorageNode ( )

◆ GetStorageNodeID()

const char* vtkMRMLStorableNode::GetStorageNodeID ( )

◆ GetStorageNodeReferenceMRMLAttributeName()

virtual const char* vtkMRMLStorableNode::GetStorageNodeReferenceMRMLAttributeName ( )

◆ GetStorageNodeReferenceRole()

virtual const char* vtkMRMLStorableNode::GetStorageNodeReferenceRole ( )

◆ GetStoredTime()

virtual vtkTimeStamp vtkMRMLStorableNode::GetStoredTime ( )

Compute when the storable node was read/written for the last time. This information is used by GetModifiedSinceRead() to know if the node has been modified since the last time it was read or written By default, it retrieves the information from the associated storage nodes.

See also
GetModifiedSinceRead(), StorableModifiedTime, vtkMRMLStorageNode::GetStoredTime()

◆ GetUserTagTable()

virtual vtkTagTable* vtkMRMLStorableNode::GetUserTagTable ( )

Methods for user-specified metadata.

◆ IsA()

virtual int vtkMRMLStorableNode::IsA ( const char *  type)

◆ IsTypeOf()

static int vtkMRMLStorableNode::IsTypeOf ( const char *  type)

◆ operator=()

void vtkMRMLStorableNode::operator= ( const vtkMRMLStorableNode )

◆ PrintSelf()

void vtkMRMLStorableNode::PrintSelf ( ostream &  os,
vtkIndent  indent 

◆ ProcessMRMLEvents()

virtual void vtkMRMLStorableNode::ProcessMRMLEvents ( vtkObject *  ,
unsigned  long,
void *   

◆ ReadXMLAttributes()

virtual void vtkMRMLStorableNode::ReadXMLAttributes ( const char **  atts)

◆ SafeDownCast()

static vtkMRMLStorableNode* vtkMRMLStorableNode::SafeDownCast ( vtkObject *  o)

◆ SetAndObserveNthStorageNodeID()

void vtkMRMLStorableNode::SetAndObserveNthStorageNodeID ( int  n,
const char *  storageNodeID 

◆ SetAndObserveStorageNodeID()

void vtkMRMLStorableNode::SetAndObserveStorageNodeID ( const char *  storageNodeID)

String ID of the storage MRML node.

◆ SetSlicerDataType()

void vtkMRMLStorableNode::SetSlicerDataType ( const char *  type)

This is describes the type of data stored in the nodes storage node(s). It's an informatics metadata mechanism so that Slicer knows what kinds of nodes to create to receive downloaded datasets, and works around potential ambiguity of file extensions, etc. Method is called when storage nodes are created. The method gets applied to any storable data that should be saved with, and loaded with the scene, including nodes that are hidden from editors like scalar overlays.

◆ StorableModified()

virtual void vtkMRMLStorableNode::StorableModified ( )

Allows external code to mark that the storable has been modified and should therefore be selected for saving by default.

See also
GetStoredTime() StorableModifiedTime Modified() GetModifiedSinceRead()

◆ UpdateScene()

virtual void vtkMRMLStorableNode::UpdateScene ( vtkMRMLScene scene)

◆ WriteXML()

virtual void vtkMRMLStorableNode::WriteXML ( ostream &  of,
int  indent 

Member Data Documentation

◆ SlicerDataType

std::string vtkMRMLStorableNode::SlicerDataType

SlicerDataType records the kind of storage node that holds the data. Set in each subclass.

Definition at line 154 of file vtkMRMLStorableNode.h.

◆ StorableModifiedTime

vtkTimeStamp vtkMRMLStorableNode::StorableModifiedTime

Last time when a storable property was modified. This is used to know if the node has been modified since the last time it was read or written on disk. The time stamp must be updated (Modified()) - in the derived classes - any time a "storable" property is changed. A storable property is a property that is stored on disk, not in the MRML scene: e.g. points and cells for a Model, voxel intensity or origin for a Volume...

See also
GetModifiedSinceRead(), GetStoredTime()

Definition at line 173 of file vtkMRMLStorableNode.h.

◆ StorageNodeReferenceMRMLAttributeName

const char* vtkMRMLStorableNode::StorageNodeReferenceMRMLAttributeName

Definition at line 144 of file vtkMRMLStorableNode.h.

◆ StorageNodeReferenceRole

const char* vtkMRMLStorableNode::StorageNodeReferenceRole

Definition at line 143 of file vtkMRMLStorableNode.h.

◆ UserTagTable

vtkTagTable* vtkMRMLStorableNode::UserTagTable

Definition at line 149 of file vtkMRMLStorableNode.h.

The documentation for this class was generated from the following file: