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 | Friends
vtkMRMLMarkupsNode Class Reference

MRML node to represent a list of markups Markups nodes contains a list of markups that each contain a list of points. Visualization parameters for these nodes are controlled by the vtkMRMLMarkupsDisplayNode class. Each markup has a unique ID. Each markup is defined by a certain number of RAS points, 1 for fiducials, 2 for rulers, 3 for angles, etc. Each markup has an orientation defined by a quaternion. It's represented by a 4 element vector: [0] = the angle of rotation, [1,2,3] = the axis of rotation. Default is 0.0, 0.0, 0.0, 1.0 Each markup also has an associated node id, set when the markup is placed on a data set to link the markup to the volume or model. Each markup can also be individually un/selected, un/locked, in/visibile, and have a label (short, shown in the viewers) and description (longer, shown in the GUI). More...

#include <Modules/Loadable/Markups/MRML/vtkMRMLMarkupsNode.h>

Inheritance diagram for vtkMRMLMarkupsNode:
Inheritance graph
[legend]
Collaboration diagram for vtkMRMLMarkupsNode:
Collaboration graph
[legend]

Public Types

enum  {
  LockModifiedEvent = 19000, LabelFormatModifiedEvent, PointModifiedEvent, PointStartInteractionEvent,
  PointEndInteractionEvent, PointClickedEvent, NthMarkupModifiedEvent, MarkupAddedEvent,
  MarkupRemovedEvent
}
 
typedef vtkMRMLDisplayableNode Superclass
 
- Public Types inherited from vtkMRMLDisplayableNode
enum  { DisplayModifiedEvent = 17000 }
 
typedef vtkMRMLTransformableNode Superclass
 
- Public Types inherited from vtkMRMLTransformableNode
enum  { TransformModifiedEvent = 15000 }
 TransformModifiedEvent is send when the parent transform is modidied. More...
 
typedef vtkMRMLStorableNode Superclass
 
- Public Types inherited from vtkMRMLStorableNode
typedef vtkMRMLNode Superclass
 
- Public Types inherited from vtkMRMLNode
enum  {
  HierarchyModifiedEvent = 16000, IDChangedEvent = 16001, ReferenceAddedEvent, ReferenceModifiedEvent,
  ReferenceRemovedEvent, ReferencedNodeModifiedEvent
}
 
typedef vtkObject Superclass
 

Public Member Functions

int AddMarkup (Markup markup)
 
int AddMarkupWithNPoints (int n, std::string label=std::string(), vtkVector3d *point=NULL)
 
int AddPointToNewMarkup (vtkVector3d point, std::string label=std::string())
 
int AddPointToNthMarkup (vtkVector3d point, int n)
 Add a point to the nth markup, returning the point index. More...
 
int AddPointWorldToNewMarkup (vtkVector3d point, std::string label=std::string())
 
int AddText (const char *newText)
 Access to a VTK string array, not currently used. More...
 
virtual void ApplyTransform (vtkAbstractTransform *transform) VTK_OVERRIDE
 
virtual bool CanApplyNonLinearTransforms () const VTK_OVERRIDE
 
virtual void Copy (vtkMRMLNode *node) VTK_OVERRIDE
 Copy the node's attributes to this object. More...
 
void CopyMarkup (Markup *source, Markup *target)
 Copy settings from source markup to target markup. More...
 
virtual vtkMRMLStorageNodeCreateDefaultStorageNode () VTK_OVERRIDE
 Create default storage node or NULL if does not have one. More...
 
virtual vtkMRMLNodeCreateNodeInstance () VTK_OVERRIDE
 MRMLNode methods. More...
 
int DeleteText (int id)
 
virtual const char * GetClassName ()
 
virtual const char * GetIcon ()
 
virtual int GetLocked ()
 Get the Locked property on the markup node/list of markups. More...
 
MarkupGetMarkupByID (const char *markupID)
 Get Markup based on it's ID. More...
 
int GetMarkupIndexByID (const char *markupID)
 Get Markup index based on it's ID. More...
 
std::string GetMarkupLabelFormat ()
 
void GetMarkupPoint (int markupIndex, int pointIndex, double point[3])
 
void GetMarkupPointLPS (int markupIndex, int pointIndex, double point[3])
 Get points in LPS coordinate system. More...
 
vtkVector3d GetMarkupPointVector (int markupIndex, int pointIndex)
 
int GetMarkupPointWorld (int markupIndex, int pointIndex, double worldxyz[4])
 
virtual bool GetModifiedSinceRead () VTK_OVERRIDE
 
virtual const char * GetNodeTagName () VTK_OVERRIDE
 Get node XML tag name (like Volume, Model) More...
 
MarkupGetNthMarkup (int n)
 Return a pointer to the nth markup stored in this node, null if n is out of bounds. More...
 
std::string GetNthMarkupAssociatedNodeID (int n=0)
 Get/Set the associated node id for the nth markup. More...
 
std::string GetNthMarkupDescription (int n=0)
 
std::string GetNthMarkupID (int n=0)
 Get the id for the nth markup. More...
 
std::string GetNthMarkupLabel (int n=0)
 
bool GetNthMarkupLocked (int n=0)
 
void GetNthMarkupOrientation (int n, double orientation[4])
 Get the orientation quaternion for a markup. More...
 
bool GetNthMarkupSelected (int n=0)
 
bool GetNthMarkupVisibility (int n=0)
 
int GetNumberOfMarkups ()
 Return the number of markups that are stored in this node. More...
 
int GetNumberOfPointsInNthMarkup (int n)
 Return the number of points in a markup, 0 if n is invalid. More...
 
int GetNumberOfTexts ()
 
vtkStdString GetText (int id)
 
void InitMarkup (Markup *markup)
 Initialise a markup to default values. More...
 
bool InsertMarkup (Markup m, int targetIndex)
 
virtual int IsA (const char *type)
 
virtual void LockedOff ()
 
virtual void LockedOn ()
 
bool MarkupExists (int n)
 Return true if n is a valid markup, false otherwise. More...
 
bool PointExistsInMarkup (int p, int n)
 Return true if p is a valid point in a valid markup n, false otherwise. More...
 
void PrintMarkup (ostream &os, vtkIndent indent, Markup *markup)
 
void PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE
 
virtual void ProcessMRMLEvents (vtkObject *, unsigned long, void *) VTK_OVERRIDE
 Alternative method to propagate events generated in Display nodes. More...
 
virtual void ReadXMLAttributes (const char **atts) VTK_OVERRIDE
 Read node attributes from XML file. More...
 
virtual void RemoveAllMarkups ()
 Clear out the node of all markups. More...
 
void RemoveAllTexts ()
 
void RemoveMarkup (int m)
 Remove a markup. More...
 
std::string ReplaceListNameInMarkupLabelFormat ()
 
bool ResetNthMarkupID (int n)
 
void SetLocked (int locked)
 
void SetMarkupLabelFormat (std::string format)
 
void SetMarkupPoint (const int markupIndex, const int pointIndex, const double x, const double y, const double z)
 
void SetMarkupPointFromArray (const int markupIndex, const int pointIndex, const double pos[3])
 
void SetMarkupPointFromPointer (const int markupIndex, const int pointIndex, const double *pos)
 
void SetMarkupPointLPS (const int markupIndex, const int pointIndex, const double x, const double y, const double z)
 
void SetMarkupPointWorld (const int markupIndex, const int pointIndex, const double x, const double y, const double z)
 
void SetNthMarkupAssociatedNodeID (int n, std::string id)
 
void SetNthMarkupDescription (int n, std::string description)
 Set the Description on the nth markup. More...
 
void SetNthMarkupLabel (int n, std::string label)
 Set the Label on the nth markup. More...
 
void SetNthMarkupLocked (int n, bool flag)
 
void SetNthMarkupOrientation (int n, double w, double x, double y, double z)
 Set the orientation for a markup from passed parameters. More...
 
void SetNthMarkupOrientationFromArray (int n, const double orientation[4])
 Set the orientation for a markup from a double array. More...
 
void SetNthMarkupOrientationFromPointer (int n, const double *orientation)
 Set the orientation for a markup from a pointer to a double array. More...
 
void SetNthMarkupSelected (int n, bool flag)
 
void SetNthMarkupVisibility (int n, bool flag)
 
void SetText (int id, const char *newText)
 
void SwapMarkups (int m1, int m2)
 Swap the position of two markups. More...
 
void UpdateScene (vtkMRMLScene *scene) VTK_OVERRIDE
 Currently only calls superclass UpdateScene. More...
 
virtual void WriteCLI (std::vector< std::string > &commandLine, std::string prefix, int coordinateSystem=0, int multipleFlag=1) VTK_OVERRIDE
 
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 vtkMRMLDisplayableNode
void AddAndObserveDisplayNodeID (const char *displayNodeID)
 
virtual void CreateDefaultDisplayNodes ()
 
virtual void GetBounds (double bounds[6])
 
virtual int GetDisplayClassVisibility (const char *nodeClass)
 
vtkMRMLDisplayNodeGetDisplayNode ()
 
const char * GetDisplayNodeID ()
 
virtual const char * GetDisplayNodeReferenceRole ()
 
virtual int GetDisplayVisibility ()
 
vtkMRMLDisplayNodeGetNthDisplayNode (int n)
 
const char * GetNthDisplayNodeID (int n)
 
int GetNumberOfDisplayNodes ()
 
virtual void GetRASBounds (double bounds[6])
 
bool HasDisplayNodeID (const char *displayNodeID)
 Return true if displayNodeID is in the display node ID list. More...
 
void PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE
 
void RemoveAllDisplayNodeIDs ()
 Remove all display node IDs and associated display nodes. More...
 
void RemoveNthDisplayNodeID (int n)
 
void SetAndObserveDisplayNodeID (const char *displayNodeID)
 
void SetAndObserveNthDisplayNodeID (int n, const char *displayNodeID)
 
virtual void SetDisplayClassVisibility (const char *nodeClass, int visible)
 
virtual void SetDisplayVisibility (int visible)
 
virtual void WriteCLI (std::vector< std::string > &vtkNotUsed(commandLine), std::string vtkNotUsed(prefix), int vtkNotUsed(coordinateSystemFlag)=0, int vtkNotUsed(multipleFlag)=1)
 
- Public Member Functions inherited from vtkMRMLTransformableNode
virtual void ApplyTransformMatrix (vtkMatrix4x4 *transformMatrix)
 
vtkMRMLTransformNodeGetParentTransformNode ()
 Associated transform MRML node. More...
 
const char * GetTransformNodeID ()
 Get referenced transform node id. More...
 
bool HardenTransform ()
 
void PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE
 
bool SetAndObserveTransformNodeID (const char *transformNodeID)
 
virtual void TransformPointFromWorld (const double inWorld[3], double outLocal[3])
 
virtual void TransformPointFromWorld (const vtkVector3d &inWorld, vtkVector3d &outLocal)
 
virtual void TransformPointToWorld (const double inLocal[3], double outWorld[3])
 
virtual void TransformPointToWorld (const vtkVector3d &inLocal, vtkVector3d &outWorld)
 
- Public Member Functions inherited from vtkMRMLStorableNode
void AddAndObserveStorageNodeID (const char *storageNodeID)
 
virtual bool AddDefaultStorageNode (const char *filename=NULL)
 
virtual std::string GetDefaultStorageNodeClassName (const char *filename=NULL)
 
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...
 
void PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE
 
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 ()
 
- 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 vtkMRMLMarkupsNodeNew ()
 
static vtkMRMLMarkupsNodeSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkMRMLDisplayableNode
static int IsTypeOf (const char *type)
 
static vtkMRMLDisplayableNodeSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkMRMLTransformableNode
static int IsTypeOf (const char *type)
 
static vtkMRMLTransformableNodeSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkMRMLStorableNode
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

std::string GenerateUniqueMarkupID ()
 
void operator= (const vtkMRMLMarkupsNode &)
 
void SetNthMarkupID (int n, std::string id)
 
 vtkMRMLMarkupsNode ()
 
 vtkMRMLMarkupsNode (const vtkMRMLMarkupsNode &)
 
 ~vtkMRMLMarkupsNode ()
 
- Protected Member Functions inherited from vtkMRMLDisplayableNode
virtual const char * GetDisplayNodeReferenceMRMLAttributeName ()
 
virtual void OnNodeReferenceAdded (vtkMRMLNodeReference *reference) VTK_OVERRIDE
 Called when a node reference ID is added (list size increased). More...
 
virtual void OnNodeReferenceModified (vtkMRMLNodeReference *reference) VTK_OVERRIDE
 Called when a node reference ID is modified. More...
 
virtual void OnNodeReferenceRemoved (vtkMRMLNodeReference *reference) VTK_OVERRIDE
 Called after a node reference ID is removed (list size decreased). More...
 
void operator= (const vtkMRMLDisplayableNode &)
 
 vtkMRMLDisplayableNode ()
 
 vtkMRMLDisplayableNode (const vtkMRMLDisplayableNode &)
 
 ~vtkMRMLDisplayableNode ()
 
- Protected Member Functions inherited from vtkMRMLTransformableNode
virtual const char * GetTransformNodeReferenceMRMLAttributeName ()
 
virtual const char * GetTransformNodeReferenceRole ()
 
void operator= (const vtkMRMLTransformableNode &)
 
 vtkMRMLTransformableNode ()
 
 vtkMRMLTransformableNode (const vtkMRMLTransformableNode &)
 
 ~vtkMRMLTransformableNode ()
 
- Protected Member Functions inherited from vtkMRMLStorableNode
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...
 
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

vtkStringArray * TextList
 
- Protected Attributes inherited from vtkMRMLStorableNode
std::string SlicerDataType
 
vtkTimeStamp StorableModifiedTime
 
vtkTagTableUserTagTable
 
- 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...
 
vtkObserverManagerMRMLObserverManager
 
char * Name
 
NodeReferenceEventsType NodeReferenceEvents
 
std::map< std::string, std::string > NodeReferenceMRMLAttributeNames
 
NodeReferencesType NodeReferences
 
int SaveWithScene
 
vtkWeakPointer< vtkMRMLSceneScene
 
int Selectable
 
int Selected
 

Friends

class vtkMRMLMarkupsFiducialStorageNode
 
class vtkMRMLMarkupsStorageNode
 

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)
 
- Static Protected Attributes inherited from vtkMRMLDisplayableNode
static const char * DisplayNodeReferenceMRMLAttributeName
 
static const char * DisplayNodeReferenceRole
 
- Static Protected Attributes inherited from vtkMRMLTransformableNode
static const char * TransformNodeReferenceMRMLAttributeName
 
static const char * TransformNodeReferenceRole
 
- Static Protected Attributes inherited from vtkMRMLStorableNode
static const char * StorageNodeReferenceMRMLAttributeName
 
static const char * StorageNodeReferenceRole
 

Detailed Description

MRML node to represent a list of markups Markups nodes contains a list of markups that each contain a list of points. Visualization parameters for these nodes are controlled by the vtkMRMLMarkupsDisplayNode class. Each markup has a unique ID. Each markup is defined by a certain number of RAS points, 1 for fiducials, 2 for rulers, 3 for angles, etc. Each markup has an orientation defined by a quaternion. It's represented by a 4 element vector: [0] = the angle of rotation, [1,2,3] = the axis of rotation. Default is 0.0, 0.0, 0.0, 1.0 Each markup also has an associated node id, set when the markup is placed on a data set to link the markup to the volume or model. Each markup can also be individually un/selected, un/locked, in/visibile, and have a label (short, shown in the viewers) and description (longer, shown in the GUI).

See also
vtkMRMLMarkupsDisplayNode

Definition at line 65 of file vtkMRMLMarkupsNode.h.

Member Typedef Documentation

◆ Superclass

Definition at line 74 of file vtkMRMLMarkupsNode.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Invoke events when markups change, passing the markup index if applicable. Invoke the lock modified event when a markup's lock status is changed. Invoke the label format modified event when markup label format changes. Invoke the point start interaction event when starting interacting with a point. Invoke the point modified event when a markup's location changes. Invoke the point end interaction event when an interaction process finishes. Invoke the point clicked event when user clicked a markup (pressed and released the moues button without moving the mouse cursor). Invoke the NthMarkupModifiedEvent event when a markup's non location value. Invoke the markup added event when adding a new markup to a markups node. Invoke the markup removed event when removing one or all markups from a node (caught by the displayable manager to make sure the widgets match the node).

Enumerator
LockModifiedEvent 
LabelFormatModifiedEvent 
PointModifiedEvent 
PointStartInteractionEvent 
PointEndInteractionEvent 
PointClickedEvent 
NthMarkupModifiedEvent 
MarkupAddedEvent 
MarkupRemovedEvent 

Definition at line 138 of file vtkMRMLMarkupsNode.h.

Constructor & Destructor Documentation

◆ vtkMRMLMarkupsNode() [1/2]

vtkMRMLMarkupsNode::vtkMRMLMarkupsNode ( )
protected

◆ ~vtkMRMLMarkupsNode()

vtkMRMLMarkupsNode::~vtkMRMLMarkupsNode ( )
protected

◆ vtkMRMLMarkupsNode() [2/2]

vtkMRMLMarkupsNode::vtkMRMLMarkupsNode ( const vtkMRMLMarkupsNode )
protected

Member Function Documentation

◆ AddMarkup()

int vtkMRMLMarkupsNode::AddMarkup ( Markup  markup)

Add a markup to the end of the list. Return index of new markup, -1 on failure.

◆ AddMarkupWithNPoints()

int vtkMRMLMarkupsNode::AddMarkupWithNPoints ( int  n,
std::string  label = std::string(),
vtkVector3d *  point = NULL 
)

Create a new markup with n points. If point is specified then all markup positions will be initialized to that position, otherwise markup positions are initialized to (0,0,0). Return index of new markup, -1 on failure.

◆ AddPointToNewMarkup()

int vtkMRMLMarkupsNode::AddPointToNewMarkup ( vtkVector3d  point,
std::string  label = std::string() 
)

Create a new markup with one point. Return index of new markup, -1 on failure.

◆ AddPointToNthMarkup()

int vtkMRMLMarkupsNode::AddPointToNthMarkup ( vtkVector3d  point,
int  n 
)

Add a point to the nth markup, returning the point index.

◆ AddPointWorldToNewMarkup()

int vtkMRMLMarkupsNode::AddPointWorldToNewMarkup ( vtkVector3d  point,
std::string  label = std::string() 
)

Create a new markup with one point, defined in the world coordinate system. Return index of new markup, -1 on failure.

◆ AddText()

int vtkMRMLMarkupsNode::AddText ( const char *  newText)

Access to a VTK string array, not currently used.

◆ ApplyTransform()

virtual void vtkMRMLMarkupsNode::ApplyTransform ( vtkAbstractTransform *  transform)
virtual

Apply the passed transformation to all of the markup points

See also
CanApplyNonLinearTransforms

Reimplemented from vtkMRMLTransformableNode.

◆ CanApplyNonLinearTransforms()

virtual bool vtkMRMLMarkupsNode::CanApplyNonLinearTransforms ( ) const
virtual

Returns true since can apply non linear transforms

See also
ApplyTransform

Reimplemented from vtkMRMLTransformableNode.

◆ Copy()

virtual void vtkMRMLMarkupsNode::Copy ( vtkMRMLNode node)
virtual

Copy the node's attributes to this object.

Reimplemented from vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLMarkupsFiducialNode.

◆ CopyMarkup()

void vtkMRMLMarkupsNode::CopyMarkup ( Markup source,
Markup target 
)

Copy settings from source markup to target markup.

◆ CreateDefaultStorageNode()

virtual vtkMRMLStorageNode* vtkMRMLMarkupsNode::CreateDefaultStorageNode ( )
virtual

Create default storage node or NULL if does not have one.

Reimplemented from vtkMRMLStorableNode.

Reimplemented in vtkMRMLMarkupsFiducialNode.

◆ CreateNodeInstance()

virtual vtkMRMLNode* vtkMRMLMarkupsNode::CreateNodeInstance ( )
virtual

MRMLNode methods.

Implements vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLMarkupsFiducialNode.

◆ DeleteText()

int vtkMRMLMarkupsNode::DeleteText ( int  id)

◆ GenerateUniqueMarkupID()

std::string vtkMRMLMarkupsNode::GenerateUniqueMarkupID ( )
protected

Generate a scene unique ID for a markup. If the scene is not set, returns a number based on the max number of markups that have been in this list

◆ GetClassName()

virtual const char* vtkMRMLMarkupsNode::GetClassName ( )
virtual

Reimplemented from vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLMarkupsFiducialNode.

◆ GetIcon()

virtual const char* vtkMRMLMarkupsNode::GetIcon ( )
inlinevirtual

Reimplemented in vtkMRMLMarkupsFiducialNode.

Definition at line 79 of file vtkMRMLMarkupsNode.h.

◆ GetLocked()

virtual int vtkMRMLMarkupsNode::GetLocked ( )
virtual

Get the Locked property on the markup node/list of markups.

◆ GetMarkupByID()

Markup* vtkMRMLMarkupsNode::GetMarkupByID ( const char *  markupID)

Get Markup based on it's ID.

◆ GetMarkupIndexByID()

int vtkMRMLMarkupsNode::GetMarkupIndexByID ( const char *  markupID)

Get Markup index based on it's ID.

◆ GetMarkupLabelFormat()

std::string vtkMRMLMarkupsNode::GetMarkupLabelFormat ( )

Get the markup label format string that defines the markup names.

See also
SetMarkupLabelFormat

◆ GetMarkupPoint()

void vtkMRMLMarkupsNode::GetMarkupPoint ( int  markupIndex,
int  pointIndex,
double  point[3] 
)

Get the position of the pointIndex'th point in markupIndex markup, setting the elements of point

◆ GetMarkupPointLPS()

void vtkMRMLMarkupsNode::GetMarkupPointLPS ( int  markupIndex,
int  pointIndex,
double  point[3] 
)

Get points in LPS coordinate system.

◆ GetMarkupPointVector()

vtkVector3d vtkMRMLMarkupsNode::GetMarkupPointVector ( int  markupIndex,
int  pointIndex 
)

Get the position of the pointIndex'th point in markupIndex markup, returning it as a vtkVector3d

◆ GetMarkupPointWorld()

int vtkMRMLMarkupsNode::GetMarkupPointWorld ( int  markupIndex,
int  pointIndex,
double  worldxyz[4] 
)

Return a three element double giving the world position (any parent transform on the markup applied to the return of GetMarkupPoint. Returns 0 on failure, 1 on success.

◆ GetModifiedSinceRead()

virtual bool vtkMRMLMarkupsNode::GetModifiedSinceRead ( )
virtual

Reimplemented to take into account the modified time of the markups Returns true if the node (default behavior) or the markups are modified since read/written. Note: The MTime of the markups node is used to know if it has been modified. So if you invoke class specific modified events without calling Modified() on the markups, GetModifiedSinceRead() won't return true.

See also
vtkMRMLStorableNode::GetModifiedSinceRead()

Reimplemented from vtkMRMLStorableNode.

◆ GetNodeTagName()

virtual const char* vtkMRMLMarkupsNode::GetNodeTagName ( )
inlinevirtual

Get node XML tag name (like Volume, Model)

Implements vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLMarkupsFiducialNode.

Definition at line 87 of file vtkMRMLMarkupsNode.h.

◆ GetNthMarkup()

Markup* vtkMRMLMarkupsNode::GetNthMarkup ( int  n)

Return a pointer to the nth markup stored in this node, null if n is out of bounds.

◆ GetNthMarkupAssociatedNodeID()

std::string vtkMRMLMarkupsNode::GetNthMarkupAssociatedNodeID ( int  n = 0)

Get/Set the associated node id for the nth markup.

◆ GetNthMarkupDescription()

std::string vtkMRMLMarkupsNode::GetNthMarkupDescription ( int  n = 0)

Get the Description on the nth markup, returns an empty string if the markup doesn't exist

◆ GetNthMarkupID()

std::string vtkMRMLMarkupsNode::GetNthMarkupID ( int  n = 0)

Get the id for the nth markup.

◆ GetNthMarkupLabel()

std::string vtkMRMLMarkupsNode::GetNthMarkupLabel ( int  n = 0)

Get the Label on the nth markup, returns an empty string if the markup doesn't exist

◆ GetNthMarkupLocked()

bool vtkMRMLMarkupsNode::GetNthMarkupLocked ( int  n = 0)

Get the Locked flag on the Nth markup, returns false if markup doesn't exist

◆ GetNthMarkupOrientation()

void vtkMRMLMarkupsNode::GetNthMarkupOrientation ( int  n,
double  orientation[4] 
)

Get the orientation quaternion for a markup.

◆ GetNthMarkupSelected()

bool vtkMRMLMarkupsNode::GetNthMarkupSelected ( int  n = 0)

Get the Selected flag on the nth markup, returns false if markup doesn't exist

◆ GetNthMarkupVisibility()

bool vtkMRMLMarkupsNode::GetNthMarkupVisibility ( int  n = 0)

Get the Visibility flag of the Nth markup, returns false if markup doesn't exist

◆ GetNumberOfMarkups()

int vtkMRMLMarkupsNode::GetNumberOfMarkups ( )

Return the number of markups that are stored in this node.

◆ GetNumberOfPointsInNthMarkup()

int vtkMRMLMarkupsNode::GetNumberOfPointsInNthMarkup ( int  n)

Return the number of points in a markup, 0 if n is invalid.

◆ GetNumberOfTexts()

int vtkMRMLMarkupsNode::GetNumberOfTexts ( )

◆ GetText()

vtkStdString vtkMRMLMarkupsNode::GetText ( int  id)

◆ InitMarkup()

void vtkMRMLMarkupsNode::InitMarkup ( Markup markup)

Initialise a markup to default values.

◆ InsertMarkup()

bool vtkMRMLMarkupsNode::InsertMarkup ( Markup  m,
int  targetIndex 
)

Insert a markup in this list at targetIndex. If targetIndex is < 0, insert at the start of the list. If targetIndex is > list size - 1, append to end of list. Returns true on success, false on failure.

◆ IsA()

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

Reimplemented from vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLMarkupsFiducialNode.

◆ IsTypeOf()

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

◆ LockedOff()

virtual void vtkMRMLMarkupsNode::LockedOff ( )
virtual

◆ LockedOn()

virtual void vtkMRMLMarkupsNode::LockedOn ( )
virtual

Get/Set the Locked property on the markup. If set to 1 then parameters should not be changed

◆ MarkupExists()

bool vtkMRMLMarkupsNode::MarkupExists ( int  n)

Return true if n is a valid markup, false otherwise.

◆ New()

static vtkMRMLMarkupsNode* vtkMRMLMarkupsNode::New ( )
static

◆ operator=()

void vtkMRMLMarkupsNode::operator= ( const vtkMRMLMarkupsNode )
protected

◆ PointExistsInMarkup()

bool vtkMRMLMarkupsNode::PointExistsInMarkup ( int  p,
int  n 
)

Return true if p is a valid point in a valid markup n, false otherwise.

◆ PrintMarkup()

void vtkMRMLMarkupsNode::PrintMarkup ( ostream &  os,
vtkIndent  indent,
Markup markup 
)

◆ PrintSelf()

void vtkMRMLMarkupsNode::PrintSelf ( ostream &  os,
vtkIndent  indent 
)

◆ ProcessMRMLEvents()

virtual void vtkMRMLMarkupsNode::ProcessMRMLEvents ( vtkObject *  ,
unsigned  long,
void *   
)
virtual

Alternative method to propagate events generated in Display nodes.

Reimplemented from vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLMarkupsFiducialNode.

◆ ReadXMLAttributes()

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

Read node attributes from XML file.

Reimplemented from vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLMarkupsFiducialNode.

◆ RemoveAllMarkups()

virtual void vtkMRMLMarkupsNode::RemoveAllMarkups ( )
virtual

Clear out the node of all markups.

◆ RemoveAllTexts()

void vtkMRMLMarkupsNode::RemoveAllTexts ( )

◆ RemoveMarkup()

void vtkMRMLMarkupsNode::RemoveMarkup ( int  m)

Remove a markup.

◆ ReplaceListNameInMarkupLabelFormat()

std::string vtkMRMLMarkupsNode::ReplaceListNameInMarkupLabelFormat ( )

If the MarkupLabelFormat contains the string N, return a string in which that has been replaced with the list name. If the list name is NULL, replace it with an empty string. If the MarkupLabelFormat doesn't contain N, return MarkupLabelFormat

◆ ResetNthMarkupID()

bool vtkMRMLMarkupsNode::ResetNthMarkupID ( int  n)

Reset the id of the nth markup according to the local policy Called after an already initialised markup has been added to the scene. Returns false if n out of bounds, true on success.

◆ SafeDownCast()

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

◆ SetLocked()

void vtkMRMLMarkupsNode::SetLocked ( int  locked)

Set the Locked property on the markup node/list of markups If set to 1 then parameters should not be changed, and dragging the markups is disabled in 2d and 3d. Overrides the Locked flag on individual Markups in that when the node is set to be locked, all the markups in the list are locked. When the node is unlocked, use the locked flag on the individual markups to determine their locked state.

◆ SetMarkupLabelFormat()

void vtkMRMLMarkupsNode::SetMarkupLabelFormat ( std::string  format)

Set the markup label format strign that defines the markup names, then invoke the LabelFormatModifedEvent In standard printf notation, with the addition of N being replaced by the list name. d will resolve to the highest not yet used list index integer. Character strings will otherwise pass through Defaults to N-d which will yield markup names of Name-0, Name-1, Name-2

See also
GetMarkupLabelFormat

◆ SetMarkupPoint()

void vtkMRMLMarkupsNode::SetMarkupPoint ( const int  markupIndex,
const int  pointIndex,
const double  x,
const double  y,
const double  z 
)

Set a point in a markup from coordinates

See also
SetMarkupPointFromPointer, SetMarkupPointFromArray

◆ SetMarkupPointFromArray()

void vtkMRMLMarkupsNode::SetMarkupPointFromArray ( const int  markupIndex,
const int  pointIndex,
const double  pos[3] 
)

Set a point in a markup from an array

See also
SetMarkupPoint

◆ SetMarkupPointFromPointer()

void vtkMRMLMarkupsNode::SetMarkupPointFromPointer ( const int  markupIndex,
const int  pointIndex,
const double *  pos 
)

Set a point in a markup from a pointer to an array

See also
SetMarkupPoint

◆ SetMarkupPointLPS()

void vtkMRMLMarkupsNode::SetMarkupPointLPS ( const int  markupIndex,
const int  pointIndex,
const double  x,
const double  y,
const double  z 
)

Set a point in a markup using LPS coordinate system, converting to RAS

See also
SetMarkupPoint

◆ SetMarkupPointWorld()

void vtkMRMLMarkupsNode::SetMarkupPointWorld ( const int  markupIndex,
const int  pointIndex,
const double  x,
const double  y,
const double  z 
)

Set the markupIndex markup's point pointIndex to xyz transformed by the inverse of the transform to world for the node. Calls SetMarkupPoint after transforming the passed in coordinate

See also
SetMarkupPoint

◆ SetNthMarkupAssociatedNodeID()

void vtkMRMLMarkupsNode::SetNthMarkupAssociatedNodeID ( int  n,
std::string  id 
)

◆ SetNthMarkupDescription()

void vtkMRMLMarkupsNode::SetNthMarkupDescription ( int  n,
std::string  description 
)

Set the Description on the nth markup.

◆ SetNthMarkupID()

void vtkMRMLMarkupsNode::SetNthMarkupID ( int  n,
std::string  id 
)
protected

Set the id of the nth markup. The goal is to keep this ID unique, so it's managed by the markups node.

◆ SetNthMarkupLabel()

void vtkMRMLMarkupsNode::SetNthMarkupLabel ( int  n,
std::string  label 
)

Set the Label on the nth markup.

◆ SetNthMarkupLocked()

void vtkMRMLMarkupsNode::SetNthMarkupLocked ( int  n,
bool  flag 
)

Set Locked property on Nth markup. If locked is set to true on the node/list as a whole, the nth markup locked flag is used to determine if it is locked. If the locked flag is set to false on the node as a whole, all markups are locked but keep this value for when the list as a whole is turned unlocked.

See also
vtMRMLMarkupsNode::SetLocked

◆ SetNthMarkupOrientation()

void vtkMRMLMarkupsNode::SetNthMarkupOrientation ( int  n,
double  w,
double  x,
double  y,
double  z 
)

Set the orientation for a markup from passed parameters.

◆ SetNthMarkupOrientationFromArray()

void vtkMRMLMarkupsNode::SetNthMarkupOrientationFromArray ( int  n,
const double  orientation[4] 
)

Set the orientation for a markup from a double array.

◆ SetNthMarkupOrientationFromPointer()

void vtkMRMLMarkupsNode::SetNthMarkupOrientationFromPointer ( int  n,
const double *  orientation 
)

Set the orientation for a markup from a pointer to a double array.

◆ SetNthMarkupSelected()

void vtkMRMLMarkupsNode::SetNthMarkupSelected ( int  n,
bool  flag 
)

Set the Selected flag on the Nth markup

See also
vtkMRMLNode::SetSelected

◆ SetNthMarkupVisibility()

void vtkMRMLMarkupsNode::SetNthMarkupVisibility ( int  n,
bool  flag 
)

Set Visibility property on Nth markup. If the visibility is set to true on the node/list as a whole, the nth markup visibility is used to determine if it is visible. If the visibility is set to false on the node as a whole, all markups are hidden but keep this value for when the list as a whole is turned visible.

See also
vtkMRMLDisplayableNode::SetDisplayVisibility
vtkMRMLDisplayNode::SetVisibility

◆ SetText()

void vtkMRMLMarkupsNode::SetText ( int  id,
const char *  newText 
)

◆ SwapMarkups()

void vtkMRMLMarkupsNode::SwapMarkups ( int  m1,
int  m2 
)

Swap the position of two markups.

◆ UpdateScene()

void vtkMRMLMarkupsNode::UpdateScene ( vtkMRMLScene scene)
virtual

Currently only calls superclass UpdateScene.

Reimplemented from vtkMRMLStorableNode.

◆ WriteCLI()

virtual void vtkMRMLMarkupsNode::WriteCLI ( std::vector< std::string > &  commandLine,
std::string  prefix,
int  coordinateSystem = 0,
int  multipleFlag = 1 
)
virtual

Write this node's information to a vector of strings for passing to a CLI, precede each datum with the prefix if not an empty string coordinateSystemFlag = 0 for RAS, 1 for LPS multipleFlag = 1 for the whole list, 1 for the first selected markup

◆ WriteXML()

virtual void vtkMRMLMarkupsNode::WriteXML ( ostream &  of,
int  indent 
)
virtual

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

Reimplemented from vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLMarkupsFiducialNode.

Friends And Related Function Documentation

◆ vtkMRMLMarkupsFiducialStorageNode

friend class vtkMRMLMarkupsFiducialStorageNode
friend

Definition at line 70 of file vtkMRMLMarkupsNode.h.

◆ vtkMRMLMarkupsStorageNode

friend class vtkMRMLMarkupsStorageNode
friend

Make the storage node a friend so that ReadDataInternal can set the markup ids

Definition at line 69 of file vtkMRMLMarkupsNode.h.

Member Data Documentation

◆ TextList

vtkStringArray* vtkMRMLMarkupsNode::TextList
protected

Definition at line 350 of file vtkMRMLMarkupsNode.h.


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