Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkMRMLSubjectHierarchyNode Class Reference

MRML node to represent a complete subject hierarchy tree. More...

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

Inheritance diagram for vtkMRMLSubjectHierarchyNode:
Collaboration diagram for vtkMRMLSubjectHierarchyNode:

Classes

struct  SubjectHierarchyItemsShowInViewRequestedEventData
 

Public Types

enum  {
  SubjectHierarchyItemAddedEvent = 62000 , SubjectHierarchyItemAboutToBeRemovedEvent , SubjectHierarchyItemRemovedEvent , SubjectHierarchyItemModifiedEvent ,
  SubjectHierarchyItemDisplayModifiedEvent , SubjectHierarchyItemTransformModifiedEvent , SubjectHierarchyItemReparentedEvent , SubjectHierarchyItemUIDAddedEvent ,
  SubjectHierarchyItemOwnerPluginSearchRequested , SubjectHierarchyStartResolveEvent , SubjectHierarchyEndResolveEvent , SubjectHierarchyItemsShowInViewRequestedEvent
}
 
typedef vtkMRMLNode Superclass
 
- Public Types inherited from vtkMRMLNode
enum  {
  HierarchyModifiedEvent = 16000 , IDChangedEvent = 16001 , ReferenceAddedEvent , ReferenceModifiedEvent ,
  ReferenceRemovedEvent , ReferencedNodeModifiedEvent
}
 
enum  ContentModifiedObserveType { ContentModifiedObserveUndefined = -1 , ContentModifiedObserveDisabled = 0 , ContentModifiedObserveEnabled = 1 }
 
typedef std::map< std::string, std::string > ReferencePropertiesType
 Get the node reference properties for a specific referenceRole.
 
typedef vtkObject Superclass
 

Public Member Functions

void Copy (vtkMRMLNode *node) override
 Copy the node's attributes to this object.
 
vtkIdType CreateFolderItem (vtkIdType parentItemID, std::string name)
 
vtkIdType CreateHierarchyItem (vtkIdType parentItemID, std::string name, std::string level, int positionUnderParent=-1)
 
vtkIdType CreateItem (vtkIdType parentItemID, vtkMRMLNode *dataNode, const char *ownerPluginName=nullptr)
 
vtkMRMLNodeCreateNodeInstance () override
 Create instance of the default node. Like New only virtual.
 
vtkIdType CreateStudyItem (vtkIdType parentItemID, std::string name)
 
vtkIdType CreateSubjectItem (vtkIdType parentItemID, std::string name)
 
std::string GenerateUniqueItemName (std::string name)
 Generate unique item name.
 
std::string GetAttributeFromItemAncestor (vtkIdType itemID, std::string attributeName, std::string level="")
 
virtual const char * GetClassName ()
 
void GetDataNodesInBranch (vtkIdType itemID, vtkCollection *dataNodeCollection, const char *childClass=nullptr)
 
vtkMRMLDisplayNodeGetDisplayNodeForItem (vtkIdType itemID)
 
int GetDisplayVisibilityForBranch (vtkIdType itemID)
 
vtkIdType GetItemAncestorAtLevel (vtkIdType itemID, std::string level)
 
std::string GetItemAttribute (vtkIdType itemID, std::string attributeName)
 
std::vector< std::string > GetItemAttributeNames (vtkIdType itemID)
 
vtkIdType GetItemByDataNode (vtkMRMLNode *dataNode)
 
vtkIdType GetItemByName (std::string name)
 
vtkIdType GetItemByPositionUnderParent (vtkIdType parentItemID, int position)
 
vtkIdType GetItemByUID (const char *uidName, const char *uidValue)
 
vtkIdType GetItemByUIDList (const char *uidName, const char *uidValue)
 
void GetItemChildren (vtkIdType itemID, std::vector< vtkIdType > &childIDs, bool recursive=false)
 
void GetItemChildren (vtkIdType itemID, vtkIdList *childIDs, bool recursive=false)
 Python accessibility function to get children of a subject hierarchy item.
 
vtkIdType GetItemChildWithName (vtkIdType parentItemID, std::string name, bool recursive=false)
 
vtkMRMLNodeGetItemDataNode (vtkIdType itemID)
 Get data node for a subject hierarchy item.
 
int GetItemDisplayVisibility (vtkIdType itemID)
 Get subject hierarchy item visibility.
 
bool GetItemExpanded (vtkIdType itemID)
 Get expanded flag for a subject hierarchy item.
 
std::string GetItemLevel (vtkIdType itemID)
 Convenience function to get level attribute for a subject hierarchy item.
 
std::string GetItemName (vtkIdType itemID)
 
std::string GetItemOwnerPluginName (vtkIdType itemID)
 Get owner plugin name (role) for a subject hierarchy item.
 
vtkIdType GetItemParent (vtkIdType itemID)
 
int GetItemPositionUnderParent (vtkIdType itemID)
 
void GetItemsByName (std::string name, vtkIdList *foundItemIds, bool contains=false)
 
std::vector< vtkIdType > GetItemsReferencedFromItemByDICOM (vtkIdType itemID)
 
void GetItemsReferencedFromItemByDICOM (vtkIdType itemID, vtkIdList *referencingIdList)
 
std::vector< vtkIdType > GetItemsReferencingItemByDICOM (vtkIdType itemID)
 
void GetItemsReferencingItemByDICOM (vtkIdType itemID, vtkIdList *referencingIdList)
 
std::string GetItemUID (vtkIdType itemID, std::string uidName)
 
std::vector< std::string > GetItemUIDNames (vtkIdType itemID)
 
const char * GetNodeTagName () override
 Get node XML tag name (like Volume, Contour)
 
int GetNumberOfItemChildren (vtkIdType itemID, bool recursive=false)
 
int GetNumberOfItems ()
 Get number of items under the scene, excluding the scene.
 
vtkMRMLNodeGetParentDataNode (vtkMRMLNode *dataNode, bool recursive=false)
 
vtkIdType GetSceneItemID ()
 Get ID of root subject hierarchy item (which can be interpreted as the scene in terms of hierarchy)
 
bool HasItemAttribute (vtkIdType itemID, std::string attributeName)
 
bool HasItemUID (vtkIdType itemID, std::string uidName)
 
virtual int IsA (const char *type)
 
bool IsAnyNodeInBranchTransformed (vtkIdType itemID, bool includeParentItem=true, vtkMRMLTransformNode *exceptionNode=nullptr)
 
bool IsItemLevel (vtkIdType itemID, std::string level)
 
bool IsItemVirtualBranchParent (vtkIdType itemID)
 
void ItemModified (vtkIdType itemID)
 
bool MoveItem (vtkIdType itemID, vtkIdType beforeItemID)
 
void PrintItem (vtkIdType itemID, ostream &os, vtkIndent indent)
 Print subject hierarchy item info on stream.
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
virtual void ReadItemFromXML (const char **atts)
 Read item from XML.
 
void RemoveAllItems (bool removeDataNode=false)
 
bool RemoveItem (vtkIdType itemID, bool removeDataNode=true, bool recursive=true)
 
bool RemoveItemAttribute (vtkIdType itemID, std::string attributeName)
 
bool RemoveItemChildren (vtkIdType itemID, bool removeDataNodes=true, bool recursive=true)
 
bool RemoveItemUID (vtkIdType itemID, std::string uidName)
 
bool ReparentItemByDataNode (vtkIdType itemID, vtkMRMLNode *newParentNode)
 
void RequestOwnerPluginSearch (vtkIdType itemID)
 
void RequestOwnerPluginSearch (vtkMRMLNode *dataNode)
 
void SetDisplayVisibilityForBranch (vtkIdType itemID, int visible)
 
void SetItemAttribute (vtkIdType itemID, std::string attributeName, std::string attributeValue)
 Add attribute to the subject hierarchy item.
 
void SetItemDataNode (vtkIdType itemID, vtkMRMLNode *dataNode)
 
void SetItemDisplayVisibility (vtkIdType itemID, int visible)
 
void SetItemExpanded (vtkIdType itemID, bool expanded)
 Set expanded flag for a subject hierarchy item (only for internal use, do not set explicitly)
 
void SetItemLevel (vtkIdType itemID, std::string level)
 Convenience function to set level attribute for a subject hierarchy item.
 
void SetItemName (vtkIdType itemID, std::string name)
 Set name for a subject hierarchy item.
 
void SetItemOwnerPluginName (vtkIdType itemID, std::string ownerPluginName)
 Set owner plugin name (role) for a subject hierarchy item.
 
void SetItemParent (vtkIdType itemID, vtkIdType parentItemID, bool enableCircularCheck=true)
 
void SetItemUID (vtkIdType itemID, std::string uidName, std::string uidValue)
 Set UID to the subject hierarchy item.
 
void ShowItemsInView (vtkIdList *itemIDs, vtkMRMLAbstractViewNode *viewNode)
 Show items in selected view (used for drag&drop of subject hierarchy items into the viewer)
 
void WriteNodeBodyXML (ostream &of, int indent) override
 Write this node's body to a MRML file in XML format.
 
void WriteXML (ostream &of, int indent) override
 Write this node's information to a MRML file in XML format.
 
- Public Member Functions inherited from vtkMRMLNode
vtkMRMLNodeAddAndObserveNodeReferenceID (const char *referenceRole, const char *referencedNodeID, vtkIntArray *events=nullptr, ContentModifiedObserveType observeContentModifiedEvents=ContentModifiedObserveUndefined)
 Add and observe a reference node from this node for a specific referenceRole.
 
vtkMRMLNodeAddNodeReferenceID (const char *referenceRole, const char *referencedNodeID)
 Convenience method that adds a referencedNodeID at the end of the list.
 
void AddNodeReferenceRole (const char *referenceRole, const char *mrmlAttributeName=nullptr, vtkIntArray *events=nullptr, bool observeContentModifiedEvents=false)
 Add a referenceRole.
 
virtual void AddToSceneOff ()
 
virtual void AddToSceneOn ()
 
void ClearNodeReferenceProperties (const std::string &referenceRole)
 Remove all node reference properties for a specific referenceRole.
 
void ClearNthNodeReferenceProperties (const std::string &referenceRole, int n)
 
virtual void CopyContent (vtkMRMLNode *node, bool deepCopy=true)
 Copy node contents from another node of the same type. Does not copy node ID, Scene, Name, SingletonTag, HideFromEditors, AddToScene, UndoEnabled, and node references. If deepCopy is set to false then a shallow copy of bulk data (such as image or mesh data) could be made; copying may be faster but the node may share some data with the source node instead of creating an independent copy.
 
virtual void CopyReferences (vtkMRMLNode *node)
 Copy the references of the node into this.
 
void CopyWithScene (vtkMRMLNode *node)
 Copy everything (including Scene and ID) from another node of the same type.
 
void DisableModifiedEventOff ()
 
void DisableModifiedEventOn ()
 
virtual int EndModify (int previousDisableModifiedEventState)
 End modifying the node.
 
virtual int GetAddToScene ()
 node added to MRML scene.
 
const char * GetAttribute (const char *name)
 Get value of a name value pair attribute.
 
std::vector< std::string > GetAttributeNames ()
 Get all attribute names.
 
void GetAttributeNames (vtkStringArray *attributeNames)
 Get all attribute names. Python-wrappable version.
 
virtual vtkIntArray * GetContentModifiedEvents ()
 
int GetCustomModifiedEventPending (int eventId)
 
virtual char * GetDescription ()
 
virtual int GetDisableModifiedEvent ()
 Turn on/off generating InvokeEvent for set macros.
 
virtual int GetHideFromEditors ()
 Describes if the node is hidden.
 
virtual char * GetID ()
 ID use by other nodes to reference this node in XML.
 
virtual int GetInMRMLCallbackFlag ()
 Flags to avoid event loops.
 
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.
 
void GetNodeReferenceIDs (const char *referenceRole, std::vector< const char * > &referencedNodeIDs)
 Return a list of the referenced node IDs.
 
const ReferencePropertiesTypeGetNodeReferenceProperties (const char *referenceRole)
 
std::string GetNodeReferenceProperty (const std::string &referenceRole, const std::string &propertyName)
 Get the node reference property for a specific referenceRole.
 
std::string GetNodeReferencePropertyName (const std::string &referenceRole, int propertyIndex)
 Get the name of the Nth node reference property for a specific referenceRole.
 
std::vector< std::string > GetNodeReferencePropertyNames (const std::string &referenceRole)
 Get the names of all node reference properties for a specific referenceRole.
 
void GetNodeReferenceRoles (std::vector< std::string > &roles)
 
void GetNodeReferences (const char *referenceRole, std::vector< vtkMRMLNode * > &nodes)
 Return a list of the referenced nodes.
 
vtkMRMLNodeGetNthNodeReference (const char *referenceRole, int n)
 Get referenced MRML node for a specific referenceRole.
 
const char * GetNthNodeReferenceID (const char *referenceRole, int n)
 Return the string of the Nth node ID for a specific reference role.
 
const ReferencePropertiesTypeGetNthNodeReferenceProperties (const char *referenceRole, int n)
 
std::string GetNthNodeReferenceProperty (const std::string &referenceRole, int n, const std::string &propertyName)
 
std::string GetNthNodeReferencePropertyName (const std::string &referenceRole, int referenceIndex, int propertyIndex)
 
std::vector< std::string > GetNthNodeReferencePropertyNames (const std::string &referenceRole, int n)
 
const char * GetNthNodeReferenceRole (int n)
 
int GetNumberOfNodeReferenceProperties (const std::string &referenceRole)
 Get the number of node reference properties for a specific referenceRole.
 
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).
 
int GetNumberOfNthNodeReferenceProperties (const std::string &referenceRole, int n)
 
virtual int GetSaveWithScene ()
 Save node with MRML scene.
 
virtual vtkMRMLSceneGetScene ()
 Get the scene this node has been added to.
 
virtual int GetSelectable ()
 Describes if the node is selectable.
 
virtual int GetSelected ()
 Get/Set for Selected.
 
virtual char * GetSingletonTag ()
 
virtual const char * GetTypeDisplayName ()
 
virtual bool GetUndoEnabled ()
 
virtual bool HasCopyContent () const
 Returns true if the class supports deep and shallow copying node content.
 
bool HasNodeReferenceID (const char *referenceRole, const char *referencedNodeID)
 Return true if referencedNodeID is in the node ID list for a specific referenceRole.
 
virtual void HideFromEditorsOff ()
 
virtual void HideFromEditorsOn ()
 
virtual void InvokeCustomModifiedEvent (int eventId, void *callData=nullptr)
 This method allows the node to compress events.
 
virtual int InvokePendingModifiedEvent ()
 Invokes any modified events that are pending.
 
bool IsSingleton ()
 
void Modified () override
 Customized version of Modified() allowing to compress vtkCommand::ModifiedEvent.
 
virtual void OnNodeAddedToScene ()
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
virtual void ProcessChildNode (vtkMRMLNode *)
 Set dependencies between this node and a child node when parsing XML file.
 
virtual void ProcessMRMLEvents (vtkObject *caller, unsigned long event, void *callData)
 Propagate events generated in mrml.
 
virtual void ReadXMLAttributes (const char **atts)
 
void RemoveAttribute (const char *name)
 Remove attribute with the specified name.
 
void RemoveNodeReferenceIDs (const char *referenceRole)
 Remove all node IDs and associated nodes for a specific referenceRole.
 
void RemoveNodeReferenceProperty (const std::string &referenceRole, const std::string &propertyName)
 Remove a node reference property for a specific referenceRole.
 
void RemoveNthNodeReferenceID (const char *referenceRole, int n)
 Convenience method that removes the Nth node ID from the list.
 
void RemoveNthNodeReferenceProperty (const std::string &referenceRole, int n, const std::string &propertyName)
 
virtual void Reset (vtkMRMLNode *defaultNode)
 Reset node attributes to the initial state as defined in the constructor or the passed default node.
 
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=nullptr, ContentModifiedObserveType observeContentModifiedEvents=ContentModifiedObserveUndefined)
 Set and observe a reference node from this node for a specific referenceRole.
 
vtkMRMLNodeSetAndObserveNthNodeReferenceID (const char *referenceRole, int n, const char *referencedNodeID, vtkIntArray *events=nullptr, ContentModifiedObserveType observeContentModifiedEvents=ContentModifiedObserveUndefined)
 Set and observe the Nth node ID for a specific reference role.
 
void SetAttribute (const char *name, const char *value)
 Set a name value pair attribute.
 
virtual void SetDescription (const char *)
 Text description of this node, to be set by the user.
 
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.
 
vtkMRMLNodeSetNodeReferenceID (const char *referenceRole, const char *referencedNodeID)
 Set a reference to a node with specified nodeID from this node for a specific referenceRole.
 
void SetNodeReferenceProperty (const std::string &referenceRole, const std::string &propertyName, const std::string &value)
 Set the node reference property for a specific referenceRole.
 
vtkMRMLNodeSetNthNodeReferenceID (const char *referenceRole, int n, const char *referencedNodeID)
 Set a N-th reference from this node with specified referencedNodeID for a specific referenceRole.
 
void SetNthNodeReferenceProperty (const std::string &referenceRole, int n, const std::string &propertyName, const std::string &value)
 
virtual void SetSaveWithScene (int)
 
virtual void SetScene (vtkMRMLScene *scene)
 This method is for internal use only. Use AddNode method of vtkMRMLScene to add a node to the scene.
 
virtual void SetSceneReferences ()
 Update the references of the node to the scene.
 
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.
 
virtual void SetUndoEnabled (bool)
 
virtual int StartModify ()
 Start modifying the node. Disable Modify events.
 
virtual void UndoEnabledOff ()
 
virtual void UndoEnabledOn ()
 
virtual void UpdateReferenceID (const char *oldID, const char *newID)
 Update the stored reference to another node in the scene.
 
virtual void UpdateReferences ()
 The method should remove all pointers and observations to all nodes that are not in the scene anymore.
 
virtual void UpdateScene (vtkMRMLScene *)
 
const char * URLDecodeString (const char *inString)
 Decode a URL string.
 
const char * URLEncodeString (const char *inString)
 Encode a URL string.
 
std::string XMLAttributeDecodeString (const std::string &inString)
 Decode an XML attribute string.
 
std::string XMLAttributeEncodeString (const std::string &inString)
 Encode an XML attribute string (replaces special characters by code sequences)
 

Static Public Member Functions

static void DeserializeUIDList (std::string uidListString, std::vector< std::string > &deserializedUIDList)
 Deserialize a UID list string (stored in the UID map) into a vector of UID strings.
 
static vtkIdType GetInvalidItemID ()
 Python accessor for the invalid ID.
 
static vtkMRMLSubjectHierarchyNodeGetSubjectHierarchyNode (vtkMRMLScene *scene)
 
static int IsTypeOf (const char *type)
 
static vtkMRMLSubjectHierarchyNodeNew ()
 
static vtkMRMLSubjectHierarchyNodeResolveSubjectHierarchy (vtkMRMLScene *scene)
 Ensure the consistency and validity of the SH node in the scene.
 
static vtkMRMLSubjectHierarchyNodeSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkMRMLNode
static int IsTypeOf (const char *type)
 
static vtkMRMLNodeSafeDownCast (vtkObject *o)
 

Static Public Attributes

static const vtkIdType INVALID_ITEM_ID
 
static const std::string SUBJECTHIERARCHY_NAME_VALUE_SEPARATOR
 
static const std::string SUBJECTHIERARCHY_SEPARATOR
 
static const std::string SUBJECTHIERARCHY_VERSION_ATTRIBUTE_NAME
 

Protected Member Functions

void operator= (const vtkMRMLSubjectHierarchyNode &)
 
 vtkMRMLSubjectHierarchyNode ()
 
 vtkMRMLSubjectHierarchyNode (const vtkMRMLSubjectHierarchyNode &)
 
 ~vtkMRMLSubjectHierarchyNode () override
 
- 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.
 
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.
 
virtual char * GetTempURLString ()
 
void GetUpdatedReferencedNodeEventList (int &oldReferencedNodeUseCount, int &newReferencedNodeUseCount, vtkIntArray *oldConsolidatedEventList, vtkIntArray *newConsolidatedEventList, vtkMRMLNode *oldReferencedNode, vtkMRMLNode *newReferencedNode, vtkMRMLNodeReference *referenceToIgnore, vtkIntArray *newEvents, bool newObserveContentModifiedEvents)
 
virtual void InvalidateNodeReferences ()
 
virtual bool IsReferenceRoleGeneric (const char *refRole)
 Return true if the reference role is generic (ends with '/') or false otherwise.
 
std::string NodeReferencePropertyDecodeString (const std::string &inString)
 Decode a node reference property string.
 
std::string NodeReferencePropertyEncodeString (const std::string &inString)
 Encode a node reference property string (replaces special characters by code sequences)
 
virtual void OnNodeReferenceAdded (vtkMRMLNodeReference *reference)
 
virtual void OnNodeReferenceModified (vtkMRMLNodeReference *reference)
 Called when a referenced node pointer is modified.
 
virtual void OnNodeReferenceRemoved (vtkMRMLNodeReference *reference)
 Called when a referenced node pointer is removed (set to nullptr).
 
void operator= (const vtkMRMLNode &)
 
void ParseReferencesAttribute (const char *attValue, std::set< std::string > &references)
 
void RemoveInvalidReferences (const std::set< std::string > &validNodeIDs)
 
virtual void SetTempURLString (const char *)
 Get/Set the string used to manage encoding/decoding of strings/URLs with special characters.
 
vtkMRMLNodeUpdateNodeReferenceEventObserver (vtkMRMLNode *oldReferencedNode, vtkMRMLNode *newReferencedNode, vtkIntArray *newEvents, bool newObserveContentModifiedEvents, vtkMRMLNodeReference *referenceToIgnore)
 
virtual void UpdateNodeReferences (const char *referenceRole=nullptr)
 
virtual void UpdateNthNodeReference (const char *referenceRole, int n)
 
 vtkMRMLNode ()
 
 vtkMRMLNode (const vtkMRMLNode &)
 
 ~vtkMRMLNode () override
 critical to have a virtual destructor!
 

Static Protected Member Functions

static void ItemEventCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData)
 Callback function for all events from the subject hierarchy items.
 
- Static Protected Member Functions inherited from vtkMRMLNode
static void MRMLCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData)
 

Protected Attributes

vtkInternalInternal
 
vtkSmartPointer< vtkCallbackCommand > ItemEventCallbackCommand
 Command handling events from subject hierarchy items.
 
- Protected Attributes inherited from vtkMRMLNode
int AddToScene {1}
 
AttributesType Attributes
 
vtkIntArray * ContentModifiedEvents
 
char * Description {nullptr}
 
int HideFromEditors {0}
 
char * ID {nullptr}
 
int InMRMLCallbackFlag {0}
 Flag to avoid event loops.
 
vtkCallbackCommand * MRMLCallbackCommand
 Holders for MRML callbacks.
 
vtkObserverManagerMRMLObserverManager
 
char * Name {nullptr}
 
NodeReferenceEventsType NodeReferenceEvents
 
std::map< std::string, std::string > NodeReferenceMRMLAttributeNames
 
NodeReferencesType NodeReferences
 
int SaveWithScene {true}
 
vtkWeakPointer< vtkMRMLSceneScene
 
int Selectable {1}
 
int Selected {0}
 
bool UndoEnabled {false}
 

Friends

class vtkInternal
 

Additional Inherited Members

- Protected Types inherited from vtkMRMLNode
typedef std::map< std::string, std::string > AttributesType
 
typedef std::map< std::string, NodeReferenceEventListNodeReferenceEventsType
 
typedef std::vector< vtkSmartPointer< vtkMRMLNodeReference > > NodeReferenceListType
 
typedef std::map< std::string, NodeReferenceListTypeNodeReferencesType
 

Detailed Description

MRML node to represent a complete subject hierarchy tree.

There can be only one such node in the scene, as subject hierarchy is to contain all the supported data nodes in the scene, so that the user can navigate the data loaded throughout the session. It is not singleton in either the common or the MRML sense, instead, the subject hierarchy logic makes sure that any added subject hierarchy nodes are merged in the first one, and if the last one is removed, a new one is created. The used subject hierarchy node can be accessed using the static function

See also
GetSubjectHierarchyNode(). Resolution of multiple SH nodes or stale nodes can be performed via
ResolveSubjectHierarchy()

The node entries are encapsulated in SubjectHierarchyItem classes, which contain the hierarchy information for the contained nodes, and represent the non-leaf nodes of the tree. Accessor functions can be used to get/set the properties of the individual items.

Definition at line 55 of file vtkMRMLSubjectHierarchyNode.h.

Member Typedef Documentation

◆ Superclass

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
SubjectHierarchyItemAddedEvent 
SubjectHierarchyItemAboutToBeRemovedEvent 
SubjectHierarchyItemRemovedEvent 
SubjectHierarchyItemModifiedEvent 
SubjectHierarchyItemDisplayModifiedEvent 
SubjectHierarchyItemTransformModifiedEvent 
SubjectHierarchyItemReparentedEvent 
SubjectHierarchyItemUIDAddedEvent 

Event invoked when UID is added to subject hierarchy item. Useful when using UIDs to find related nodes, and the nodes are loaded sequentially in unspecified order.

SubjectHierarchyItemOwnerPluginSearchRequested 

Event invoked when a subject hierarchy item or its data node changed in a way that will influence the best owner plugin. Typically invoked by

See also
RequestOwnerPluginSearch after setting an attribute indicating a desired role for the item
SubjectHierarchyStartResolveEvent 

Event invoked when item resolving starts (e.g. after scene import)

SubjectHierarchyEndResolveEvent 

Event invoked when item resolving finished (e.g. after scene import)

SubjectHierarchyItemsShowInViewRequestedEvent 

Event invoked when showing of subject hierarchy items in a specific view is requested (processed by the widget classes, by delegating to the owner subject hierarchy plugin). For internal use only. Use vtkMRMLSubjectHierarchyNode::ShowItemsInView or qSlicerSubjectHierarchyPluginHandler::showItemsInView method to request view of subject hierarchy items in a view.

Definition at line 67 of file vtkMRMLSubjectHierarchyNode.h.

Constructor & Destructor Documentation

◆ vtkMRMLSubjectHierarchyNode() [1/2]

vtkMRMLSubjectHierarchyNode::vtkMRMLSubjectHierarchyNode ( )
protected

◆ ~vtkMRMLSubjectHierarchyNode()

vtkMRMLSubjectHierarchyNode::~vtkMRMLSubjectHierarchyNode ( )
overrideprotected

◆ vtkMRMLSubjectHierarchyNode() [2/2]

vtkMRMLSubjectHierarchyNode::vtkMRMLSubjectHierarchyNode ( const vtkMRMLSubjectHierarchyNode & )
protected

Member Function Documentation

◆ Copy()

void vtkMRMLSubjectHierarchyNode::Copy ( vtkMRMLNode * node)
overridevirtual

Copy the node's attributes to this object.

Reimplemented from vtkMRMLNode.

◆ CreateFolderItem()

vtkIdType vtkMRMLSubjectHierarchyNode::CreateFolderItem ( vtkIdType parentItemID,
std::string name )

Convenience function to create folder item in the hierarchy under a specified parent.

Parameters
parentItemIDParent item folder which the created item is inserted. If top-level then use
See also
GetSceneItemID
Parameters
nameName of the item. Only used if there is no data node associated
Returns
ID of the item in the hierarchy that was assigned automatically when adding

◆ CreateHierarchyItem()

vtkIdType vtkMRMLSubjectHierarchyNode::CreateHierarchyItem ( vtkIdType parentItemID,
std::string name,
std::string level,
int positionUnderParent = -1 )

Generic function to create hierarchy items of given level. Convenience functions are available for frequently used levels

See also
CreateSubjectItem,
CreateStudyItem,
CreateFolderItem
Parameters
parentItemIDParent item under which the created item is inserted. If top-level then use
See also
GetSceneItemID
Parameters
nameName of the item. Only used if there is no data node associated
levelLevel of the hierarchy item. It will be stored as attribute (
See also
vtkMRMLSubjectHierarchyConstants)
Parameters
positionUnderParentPosition of the item under the parent item. If set to -1 then it will be appended after the last item under the parent.
Returns
ID of the item in the hierarchy that was assigned automatically when adding

◆ CreateItem()

vtkIdType vtkMRMLSubjectHierarchyNode::CreateItem ( vtkIdType parentItemID,
vtkMRMLNode * dataNode,
const char * ownerPluginName = nullptr )

Create subject hierarchy item for a data node. Can be used to add nodes that were not added automatically (e.g. private scene, HideFromEditors on, or exclude attribute set)

Parameters
parentItemIDParent item under which the created item is inserted. If top-level then use
See also
GetSceneItemID
Parameters
dataNodeAssociated data MRML node
Returns
ID of the item in the hierarchy that was assigned automatically when adding

◆ CreateNodeInstance()

vtkMRMLNode * vtkMRMLSubjectHierarchyNode::CreateNodeInstance ( )
overridevirtual

Create instance of the default node. Like New only virtual.

Note
Subclasses should implement this method

Implements vtkMRMLNode.

◆ CreateStudyItem()

vtkIdType vtkMRMLSubjectHierarchyNode::CreateStudyItem ( vtkIdType parentItemID,
std::string name )

Convenience function to create study item in the hierarchy under a specified parent.

Parameters
parentItemIDParent item under which the created item is inserted
nameName of the item. Only used if there is no data node associated
Returns
ID of the item in the hierarchy that was assigned automatically when adding

◆ CreateSubjectItem()

vtkIdType vtkMRMLSubjectHierarchyNode::CreateSubjectItem ( vtkIdType parentItemID,
std::string name )

Convenience function to create subject item in the hierarchy under a specified parent.

Parameters
parentItemIDParent item under which the created item is inserted. If top-level then use
See also
GetSceneItemID
Parameters
nameName of the item. Only used if there is no data node associated
Returns
ID of the item in the hierarchy that was assigned automatically when adding

◆ DeserializeUIDList()

static void vtkMRMLSubjectHierarchyNode::DeserializeUIDList ( std::string uidListString,
std::vector< std::string > & deserializedUIDList )
static

Deserialize a UID list string (stored in the UID map) into a vector of UID strings.

◆ GenerateUniqueItemName()

std::string vtkMRMLSubjectHierarchyNode::GenerateUniqueItemName ( std::string name)

Generate unique item name.

◆ GetAttributeFromItemAncestor()

std::string vtkMRMLSubjectHierarchyNode::GetAttributeFromItemAncestor ( vtkIdType itemID,
std::string attributeName,
std::string level = "" )

Get attribute value for a item from an upper level in the subject hierarchy

Parameters
attributeNameName of the requested attribute
levelLevel of the ancestor item we look for the attribute in (e.g. value of vtkMRMLSubjectHierarchyConstants::GetSubjectHierarchyLevelStudy()). If empty, then look all the way up to the subject and return first attribute found with specified name
Returns
Attribute value from the lowest level ancestor where the attribute can be found

◆ GetClassName()

virtual const char * vtkMRMLSubjectHierarchyNode::GetClassName ( )
virtual

Reimplemented from vtkMRMLNode.

◆ GetDataNodesInBranch()

void vtkMRMLSubjectHierarchyNode::GetDataNodesInBranch ( vtkIdType itemID,
vtkCollection * dataNodeCollection,
const char * childClass = nullptr )

Find all associated data nodes of a specified class in a branch of the hierarchy.

Parameters
itemIDParent item of the branch
dataNodeCollectionCollection updated with the list of data nodes
childClassName of the class we are looking for. nullptr returns associated data nodes of any kind

◆ GetDisplayNodeForItem()

vtkMRMLDisplayNode * vtkMRMLSubjectHierarchyNode::GetDisplayNodeForItem ( vtkIdType itemID)

Get display node associated to a given item, either directly (folder, study, etc.) or indirectly (displayable nodes with an associated display node)

◆ GetDisplayVisibilityForBranch()

int vtkMRMLSubjectHierarchyNode::GetDisplayVisibilityForBranch ( vtkIdType itemID)

Get subject hierarchy branch visibility

Deprecated
Kept only for backward compatibility.
See also
GetItemDisplayVisibility
Returns
Visibility value (0:Hidden, 1:Visible, 2:PartiallyVisible, -1:NotDisplayable)

◆ GetInvalidItemID()

static vtkIdType vtkMRMLSubjectHierarchyNode::GetInvalidItemID ( )
inlinestatic

Python accessor for the invalid ID.

Definition at line 196 of file vtkMRMLSubjectHierarchyNode.h.

◆ GetItemAncestorAtLevel()

vtkIdType vtkMRMLSubjectHierarchyNode::GetItemAncestorAtLevel ( vtkIdType itemID,
std::string level )

Get ancestor subject hierarchy item at a certain level

Parameters
levelLevel of the ancestor item we start searching.

◆ GetItemAttribute()

std::string vtkMRMLSubjectHierarchyNode::GetItemAttribute ( vtkIdType itemID,
std::string attributeName )

Get an attribute with a given name for a subject hierarchy item

Returns
The attribute value if exists, empty string if does not (also if attribute value is empty!
See also
HasItemAttribute)

◆ GetItemAttributeNames()

std::vector< std::string > vtkMRMLSubjectHierarchyNode::GetItemAttributeNames ( vtkIdType itemID)

Get attribute names for a subject hierarchy item

Returns
List of attribute names

◆ GetItemByDataNode()

vtkIdType vtkMRMLSubjectHierarchyNode::GetItemByDataNode ( vtkMRMLNode * dataNode)

Get subject hierarchy item associated to a data MRML node

Parameters
dataNodeThe node for which we want the associated hierarchy node
Returns
The first subject hierarchy item ID to which the given node is associated to.

◆ GetItemByName()

vtkIdType vtkMRMLSubjectHierarchyNode::GetItemByName ( std::string name)

Get item in whole subject hierarchy by a given name

Parameters
nameName to find
Returns
Item ID of the first item found by name using exact match. Warning is logged if more than one found

◆ GetItemByPositionUnderParent()

vtkIdType vtkMRMLSubjectHierarchyNode::GetItemByPositionUnderParent ( vtkIdType parentItemID,
int position )

Get item under parent by position

Returns
ID of item found in given position. Invalid if no item found at that position

◆ GetItemByUID()

vtkIdType vtkMRMLSubjectHierarchyNode::GetItemByUID ( const char * uidName,
const char * uidValue )

Find subject hierarchy item according to a UID (by exact match)

Parameters
uidNameUID string to lookup
uidValueUID string that needs to exactly match the UID string of the subject hierarchy item
See also
GetUID()

◆ GetItemByUIDList()

vtkIdType vtkMRMLSubjectHierarchyNode::GetItemByUIDList ( const char * uidName,
const char * uidValue )

Find subject hierarchy item according to a UID (by containing). For example find UID in instance UID list

Parameters
uidNameUID string to lookup
uidValueUID string that needs to be contained in the UID string of the subject hierarchy item
Returns
First match
See also
GetUID()

◆ GetItemChildren() [1/2]

void vtkMRMLSubjectHierarchyNode::GetItemChildren ( vtkIdType itemID,
std::vector< vtkIdType > & childIDs,
bool recursive = false )

Get IDs of the children of a subject hierarchy item

Parameters
childIDsOutput vector containing the children. It will not contain the given item itself. The order of the items is depth-first, in a way that the child of an item in the vector always comes after the item.
recursiveIf false then collect direct children, if true then the whole branch. False by default

◆ GetItemChildren() [2/2]

void vtkMRMLSubjectHierarchyNode::GetItemChildren ( vtkIdType itemID,
vtkIdList * childIDs,
bool recursive = false )

Python accessibility function to get children of a subject hierarchy item.

◆ GetItemChildWithName()

vtkIdType vtkMRMLSubjectHierarchyNode::GetItemChildWithName ( vtkIdType parentItemID,
std::string name,
bool recursive = false )

Get child subject hierarchy item with specific name

Parameters
parentParent subject hierarchy item to start from
nameName to find
recursiveFlag determining whether search is recursive or not. False by default
Returns
Child item ID whose name is the same as the given string

◆ GetItemDataNode()

vtkMRMLNode * vtkMRMLSubjectHierarchyNode::GetItemDataNode ( vtkIdType itemID)

Get data node for a subject hierarchy item.

◆ GetItemDisplayVisibility()

int vtkMRMLSubjectHierarchyNode::GetItemDisplayVisibility ( vtkIdType itemID)

Get subject hierarchy item visibility.

◆ GetItemExpanded()

bool vtkMRMLSubjectHierarchyNode::GetItemExpanded ( vtkIdType itemID)

Get expanded flag for a subject hierarchy item.

◆ GetItemLevel()

std::string vtkMRMLSubjectHierarchyNode::GetItemLevel ( vtkIdType itemID)

Convenience function to get level attribute for a subject hierarchy item.

◆ GetItemName()

std::string vtkMRMLSubjectHierarchyNode::GetItemName ( vtkIdType itemID)

Get name for a subject hierarchy item

Returns
Name of the associated data node if any, otherwise the name of the item

◆ GetItemOwnerPluginName()

std::string vtkMRMLSubjectHierarchyNode::GetItemOwnerPluginName ( vtkIdType itemID)

Get owner plugin name (role) for a subject hierarchy item.

◆ GetItemParent()

vtkIdType vtkMRMLSubjectHierarchyNode::GetItemParent ( vtkIdType itemID)

Get ID of the parent of a subject hierarchy item

Returns
Parent item ID, INVALID_ITEM_ID if there is no parent

◆ GetItemPositionUnderParent()

int vtkMRMLSubjectHierarchyNode::GetItemPositionUnderParent ( vtkIdType itemID)

Get position of item under its parent

Returns
Position of item under its parent. -1 on failure

◆ GetItemsByName()

void vtkMRMLSubjectHierarchyNode::GetItemsByName ( std::string name,
vtkIdList * foundItemIds,
bool contains = false )

Get items in whole subject hierarchy by a given name

Parameters
nameName to find
foundItemIdsList of found items
containsFlag whether string containment is enough to determine match. True means a substring is searched (case insensitive), false means that the name needs to match exactly (case sensitive). False by default.
Returns
Item ID of the first item found by name using exact match. Warning is logged if more than one found

◆ GetItemsReferencedFromItemByDICOM() [1/2]

std::vector< vtkIdType > vtkMRMLSubjectHierarchyNode::GetItemsReferencedFromItemByDICOM ( vtkIdType itemID)

Get subject hierarchy items that are referenced from a given item by DICOM. Finds the series items that contain the SOP instance UIDs that are listed in the attribute of this item containing the referenced SOP instance UIDs

See also
vtkMRMLSubjectHierarchyConstants::GetDICOMReferencedInstanceUIDsAttributeName()

◆ GetItemsReferencedFromItemByDICOM() [2/2]

void vtkMRMLSubjectHierarchyNode::GetItemsReferencedFromItemByDICOM ( vtkIdType itemID,
vtkIdList * referencingIdList )

Python compatibility method to get items that are referenced from a given item by DICOM.

See also
GetItemsReferencedFromItemByDICOM

◆ GetItemsReferencingItemByDICOM() [1/2]

std::vector< vtkIdType > vtkMRMLSubjectHierarchyNode::GetItemsReferencingItemByDICOM ( vtkIdType itemID)

Get subject hierarchy items that reference a given item by DICOM. Finds the series items that contain the SOP instance UID of the item among their referenced SOP instance UIDs.

See also
vtkMRMLSubjectHierarchyConstants::GetDICOMReferencedInstanceUIDsAttributeName()

◆ GetItemsReferencingItemByDICOM() [2/2]

void vtkMRMLSubjectHierarchyNode::GetItemsReferencingItemByDICOM ( vtkIdType itemID,
vtkIdList * referencingIdList )

Python compatibility method to get items that are referenced from a given item by DICOM.

See also
GetItemsReferencingItemByDICOM

◆ GetItemUID()

std::string vtkMRMLSubjectHierarchyNode::GetItemUID ( vtkIdType itemID,
std::string uidName )

Get a UID with a given name

Returns
The UID value if exists, empty string if does not

◆ GetItemUIDNames()

std::vector< std::string > vtkMRMLSubjectHierarchyNode::GetItemUIDNames ( vtkIdType itemID)

Get UID names for a subject hierarchy item

Returns
List of UID names

◆ GetNodeTagName()

const char * vtkMRMLSubjectHierarchyNode::GetNodeTagName ( )
overridevirtual

Get node XML tag name (like Volume, Contour)

Implements vtkMRMLNode.

◆ GetNumberOfItemChildren()

int vtkMRMLSubjectHierarchyNode::GetNumberOfItemChildren ( vtkIdType itemID,
bool recursive = false )

Get number of children for an item

Parameters
recursiveIf true, then get total number of items in the branch, only direct children otherwise. False by default

◆ GetNumberOfItems()

int vtkMRMLSubjectHierarchyNode::GetNumberOfItems ( )

Get number of items under the scene, excluding the scene.

◆ GetParentDataNode()

vtkMRMLNode * vtkMRMLSubjectHierarchyNode::GetParentDataNode ( vtkMRMLNode * dataNode,
bool recursive = false )

Get data node associated to the parent of the item associated to a data node.

Parameters
recursiveFlag determining whether only the direct parent is considered (false), or also further up in the tree (true). Default is false
Returns
Data node associated to the parent of the given data node's item

◆ GetSceneItemID()

vtkIdType vtkMRMLSubjectHierarchyNode::GetSceneItemID ( )

Get ID of root subject hierarchy item (which can be interpreted as the scene in terms of hierarchy)

◆ GetSubjectHierarchyNode()

static vtkMRMLSubjectHierarchyNode * vtkMRMLSubjectHierarchyNode::GetSubjectHierarchyNode ( vtkMRMLScene * scene)
static

Get the (practically) singleton subject hierarchy node from MRML scene. Merges subject hierarchy nodes if multiple found, and returns the merged one.

◆ HasItemAttribute()

bool vtkMRMLSubjectHierarchyNode::HasItemAttribute ( vtkIdType itemID,
std::string attributeName )

Determine if a given attribute is present in an item. Especially useful if need to determine whether an attribute value is empty string or the attribute is missing

Returns
True if attribute exists, false if item or attribute is not found

◆ HasItemUID()

bool vtkMRMLSubjectHierarchyNode::HasItemUID ( vtkIdType itemID,
std::string uidName )

Determine if a given UID is present in an item. Especially useful if need to determine whether a UID value is empty string or the UID is missing

Returns
True if UID exists, false if item or UID is not found

◆ IsA()

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

Reimplemented from vtkMRMLNode.

◆ IsAnyNodeInBranchTransformed()

bool vtkMRMLSubjectHierarchyNode::IsAnyNodeInBranchTransformed ( vtkIdType itemID,
bool includeParentItem = true,
vtkMRMLTransformNode * exceptionNode = nullptr )

Determine if any of the children of this item is transformed (has a parent transform applied), except for an optionally given node

Parameters
includeParentItemDetermine whether the given item (the parent of the branch) should be included in the search. True by default
exceptionNodeThe function returns false if the only applied transform found is this specified node.

◆ IsItemLevel()

bool vtkMRMLSubjectHierarchyNode::IsItemLevel ( vtkIdType itemID,
std::string level )

Determine if an item is of a certain level

Parameters
levelLevel to check
Returns
True if the item is of the specified level, false otherwise

◆ IsItemVirtualBranchParent()

bool vtkMRMLSubjectHierarchyNode::IsItemVirtualBranchParent ( vtkIdType itemID)

Determine whether a given item is the parent of a virtual branch (Items in virtual branches are invalid without the parent item, as they represent the item's data node's content, so they are removed automatically when the parent item of the virtual branch is removed)

◆ IsTypeOf()

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

◆ ItemEventCallback()

static void vtkMRMLSubjectHierarchyNode::ItemEventCallback ( vtkObject * caller,
unsigned long eid,
void * clientData,
void * callData )
staticprotected

Callback function for all events from the subject hierarchy items.

◆ ItemModified()

void vtkMRMLSubjectHierarchyNode::ItemModified ( vtkIdType itemID)

Invoke item modified event (that triggers per-item update in the views). Useful if a property of the item changes that does not originate in the subject hierarchy item (such as visibility or transform of data node)

◆ MoveItem()

bool vtkMRMLSubjectHierarchyNode::MoveItem ( vtkIdType itemID,
vtkIdType beforeItemID )

Move item within the same branch before given item

Parameters
beforeItemIDItem to move given item before. If INVALID_ITEM_ID then insert to the end
Returns
Success flag

◆ New()

static vtkMRMLSubjectHierarchyNode * vtkMRMLSubjectHierarchyNode::New ( )
static

◆ operator=()

void vtkMRMLSubjectHierarchyNode::operator= ( const vtkMRMLSubjectHierarchyNode & )
protected

◆ PrintItem()

void vtkMRMLSubjectHierarchyNode::PrintItem ( vtkIdType itemID,
ostream & os,
vtkIndent indent )

Print subject hierarchy item info on stream.

◆ PrintSelf()

void vtkMRMLSubjectHierarchyNode::PrintSelf ( ostream & os,
vtkIndent indent )
override

◆ ReadItemFromXML()

virtual void vtkMRMLSubjectHierarchyNode::ReadItemFromXML ( const char ** atts)
virtual

Read item from XML.

◆ RemoveAllItems()

void vtkMRMLSubjectHierarchyNode::RemoveAllItems ( bool removeDataNode = false)

Remove all items from hierarchy

Parameters
removeDataNodeFlag determining whether to remove associated data node from the scene if any. False by default, because as opposed to the method
See also
RemoveItem that is usually initiated by the user, this method is called when subject hierarchy is re-built from the scene

◆ RemoveItem()

bool vtkMRMLSubjectHierarchyNode::RemoveItem ( vtkIdType itemID,
bool removeDataNode = true,
bool recursive = true )

Remove subject hierarchy item or branch from the tree

Parameters
itemIDItem to remove
removeDataNodeFlag determining whether to remove associated data node from the scene if any. On by default
recursiveFlag determining whether to remove children recursively (the whole branch). On by default

◆ RemoveItemAttribute()

bool vtkMRMLSubjectHierarchyNode::RemoveItemAttribute ( vtkIdType itemID,
std::string attributeName )

Remove attribute from subject hierarchy item

Returns
True if attribute was removed, false if item or attribute is not found

◆ RemoveItemChildren()

bool vtkMRMLSubjectHierarchyNode::RemoveItemChildren ( vtkIdType itemID,
bool removeDataNodes = true,
bool recursive = true )

Remove child items of a subject hierarchy item

Parameters
itemIDParent of items to remove
removeDataNodesFlag determining whether to remove associated data nodes from the scene if any. On by default
recursiveFlag determining whether to remove children recursively, or just the direct children. On by default

◆ RemoveItemUID()

bool vtkMRMLSubjectHierarchyNode::RemoveItemUID ( vtkIdType itemID,
std::string uidName )

Remove UID from subject hierarchy item

Returns
True if UID was removed, false if item or UID is not found

◆ ReparentItemByDataNode()

bool vtkMRMLSubjectHierarchyNode::ReparentItemByDataNode ( vtkIdType itemID,
vtkMRMLNode * newParentNode )

Set new parent to a subject hierarchy item under item associated to specified data node

Returns
Success flag

◆ RequestOwnerPluginSearch() [1/2]

void vtkMRMLSubjectHierarchyNode::RequestOwnerPluginSearch ( vtkIdType itemID)

Invoke SubjectHierarchyItemOwnerPluginSearchRequested event for the item, which results in a search for owner plugin. Typically called after setting an attribute indicating a desired role for the item.

◆ RequestOwnerPluginSearch() [2/2]

void vtkMRMLSubjectHierarchyNode::RequestOwnerPluginSearch ( vtkMRMLNode * dataNode)

Invoke SubjectHierarchyItemOwnerPluginSearchRequested event for a node in the scene, which results in a search for owner plugin. If the data node is not in the subject hierarchy yet then it will be added. Typically called after setting an attribute indicating a desired role for the item.

◆ ResolveSubjectHierarchy()

static vtkMRMLSubjectHierarchyNode * vtkMRMLSubjectHierarchyNode::ResolveSubjectHierarchy ( vtkMRMLScene * scene)
static

Ensure the consistency and validity of the SH node in the scene.

◆ SafeDownCast()

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

◆ SetDisplayVisibilityForBranch()

void vtkMRMLSubjectHierarchyNode::SetDisplayVisibilityForBranch ( vtkIdType itemID,
int visible )

Set subject hierarchy branch visibility

Deprecated
Kept only for backward compatibility.
See also
SetItemDisplayVisibility

◆ SetItemAttribute()

void vtkMRMLSubjectHierarchyNode::SetItemAttribute ( vtkIdType itemID,
std::string attributeName,
std::string attributeValue )

Add attribute to the subject hierarchy item.

◆ SetItemDataNode()

void vtkMRMLSubjectHierarchyNode::SetItemDataNode ( vtkIdType itemID,
vtkMRMLNode * dataNode )

Set data node for a subject hierarchy item Note: This function is solely for setting nodes associated to hierarchy items (e.g. folder), and returns with error if a data node is already associated to the item. Does not call item modified event! This is due to simplicity reasons so that plugin search does not need to re-run when item is modified. Should never need to call manually!

◆ SetItemDisplayVisibility()

void vtkMRMLSubjectHierarchyNode::SetItemDisplayVisibility ( vtkIdType itemID,
int visible )

Set subject hierarchy item visibility. If the item is a hierarchy item (folder, study, etc.), then it will apply to the whole branch, as the displayable managers consider hierarchy visibility information.

◆ SetItemExpanded()

void vtkMRMLSubjectHierarchyNode::SetItemExpanded ( vtkIdType itemID,
bool expanded )

Set expanded flag for a subject hierarchy item (only for internal use, do not set explicitly)

◆ SetItemLevel()

void vtkMRMLSubjectHierarchyNode::SetItemLevel ( vtkIdType itemID,
std::string level )

Convenience function to set level attribute for a subject hierarchy item.

◆ SetItemName()

void vtkMRMLSubjectHierarchyNode::SetItemName ( vtkIdType itemID,
std::string name )

Set name for a subject hierarchy item.

◆ SetItemOwnerPluginName()

void vtkMRMLSubjectHierarchyNode::SetItemOwnerPluginName ( vtkIdType itemID,
std::string ownerPluginName )

Set owner plugin name (role) for a subject hierarchy item.

◆ SetItemParent()

void vtkMRMLSubjectHierarchyNode::SetItemParent ( vtkIdType itemID,
vtkIdType parentItemID,
bool enableCircularCheck = true )

Set the parent of a subject hierarchy item

Parameters
enableCircularCheckOption to do a safety check for circular parenthood in performance-critical cases. On by default.

◆ SetItemUID()

void vtkMRMLSubjectHierarchyNode::SetItemUID ( vtkIdType itemID,
std::string uidName,
std::string uidValue )

Set UID to the subject hierarchy item.

◆ ShowItemsInView()

void vtkMRMLSubjectHierarchyNode::ShowItemsInView ( vtkIdList * itemIDs,
vtkMRMLAbstractViewNode * viewNode )

Show items in selected view (used for drag&drop of subject hierarchy items into the viewer)

◆ WriteNodeBodyXML()

void vtkMRMLSubjectHierarchyNode::WriteNodeBodyXML ( ostream & of,
int indent )
overridevirtual

Write this node's body to a MRML file in XML format.

Reimplemented from vtkMRMLNode.

◆ WriteXML()

void vtkMRMLSubjectHierarchyNode::WriteXML ( ostream & of,
int indent )
overridevirtual

Write this node's information to a MRML file in XML format.

Reimplemented from vtkMRMLNode.

Friends And Related Symbol Documentation

◆ vtkInternal

friend class vtkInternal
friend

Definition at line 435 of file vtkMRMLSubjectHierarchyNode.h.

Member Data Documentation

◆ Internal

vtkInternal* vtkMRMLSubjectHierarchyNode::Internal
protected

Definition at line 434 of file vtkMRMLSubjectHierarchyNode.h.

◆ INVALID_ITEM_ID

const vtkIdType vtkMRMLSubjectHierarchyNode::INVALID_ITEM_ID
static

Definition at line 58 of file vtkMRMLSubjectHierarchyNode.h.

◆ ItemEventCallbackCommand

vtkSmartPointer<vtkCallbackCommand> vtkMRMLSubjectHierarchyNode::ItemEventCallbackCommand
protected

Command handling events from subject hierarchy items.

Definition at line 438 of file vtkMRMLSubjectHierarchyNode.h.

◆ SUBJECTHIERARCHY_NAME_VALUE_SEPARATOR

const std::string vtkMRMLSubjectHierarchyNode::SUBJECTHIERARCHY_NAME_VALUE_SEPARATOR
static

Definition at line 62 of file vtkMRMLSubjectHierarchyNode.h.

◆ SUBJECTHIERARCHY_SEPARATOR

const std::string vtkMRMLSubjectHierarchyNode::SUBJECTHIERARCHY_SEPARATOR
static

Definition at line 61 of file vtkMRMLSubjectHierarchyNode.h.

◆ SUBJECTHIERARCHY_VERSION_ATTRIBUTE_NAME

const std::string vtkMRMLSubjectHierarchyNode::SUBJECTHIERARCHY_VERSION_ATTRIBUTE_NAME
static

Definition at line 65 of file vtkMRMLSubjectHierarchyNode.h.


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