Slicer
5.2
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
|
MRML node for storing a crosshair through RAS space. More...
#include <Libs/MRML/Core/vtkMRMLCrosshairNode.h>
Public Types | |
enum | { CursorPositionModifiedEvent = 22000 } |
enum | { NoCrosshair = 0, ShowBasic, ShowIntersection, ShowHashmarks, ShowAll, ShowSmallBasic, ShowSmallIntersection, CrosshairMode_Last } |
Modes for crosshair display. More... | |
enum | { Fine = 1, Medium, Thick, CrosshairThickness_Last } |
enum | { NoAction = 0, OffsetJumpSlice = 1, Normal = 1, CenteredJumpSlice = 2, JumpSlice = 2, CrosshairBehavior_Last } |
Behavior when crosshair position is changed. More... | |
typedef vtkMRMLNode | Superclass |
Public Types inherited from vtkMRMLNode | |
enum | { HierarchyModifiedEvent = 16000, IDChangedEvent = 16001, ReferenceAddedEvent, ReferenceModifiedEvent, ReferenceRemovedEvent, ReferencedNodeModifiedEvent } |
typedef vtkObject | Superclass |
Public Member Functions | |
vtkMRMLNode * | CreateNodeInstance () override |
Create instance of the default node. Like New only virtual. More... | |
virtual const char * | GetClassName () |
char * | GetCrosshairName () |
virtual double * | GetCrosshairRAS () |
virtual void | GetCrosshairRAS (double &, double &, double &) |
virtual void | GetCrosshairRAS (double [3]) |
bool | GetCursorPositionRAS (double ras[3]) |
vtkMRMLSliceNode * | GetCursorPositionXYZ (double xyz[3]) |
virtual int | GetLightBoxPane () |
Get the pane of the lightbox that was last cached. More... | |
const char * | GetNodeTagName () override |
Get node XML tag name (like Volume, Model) More... | |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) override |
void | ReadXMLAttributes (const char **atts) override |
Set node attributes More... | |
void | SetCrosshairName (const char *name) |
Name of the layout More... | |
virtual void | SetCrosshairRAS (double [3]) |
virtual void | SetCrosshairRAS (double, double, double) |
Set crosshair position More... | |
void | SetCrosshairRAS (double ras[3], int id) |
void | SetCursorPositionInvalid () |
Invalidates the cursor position. This should be called whenever the mouse moves out of a view. More... | |
void | SetCursorPositionRAS (double ras[3]) |
void | SetCursorPositionXYZ (double xyz[3], vtkMRMLSliceNode *sliceNode) |
vtkMRMLCopyContentMacro (vtkMRMLCrosshairNode) | |
void | WriteXML (ostream &of, int indent) override |
Write this node's information to a MRML file in XML format. More... | |
virtual void | SetFastPick3D (bool) |
virtual bool | GetFastPick3D () |
virtual void | FastPick3DOn () |
virtual void | FastPick3DOff () |
Public Member Functions inherited from vtkMRMLNode | |
vtkMRMLNode * | AddAndObserveNodeReferenceID (const char *referenceRole, const char *referencedNodeID, vtkIntArray *events=nullptr) |
Add and observe a reference node from this node for a specific referenceRole. More... | |
vtkMRMLNode * | AddNodeReferenceID (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=nullptr, vtkIntArray *events=nullptr) |
Add a referenceRole. More... | |
virtual void | AddToSceneOff () |
virtual void | AddToSceneOn () |
virtual void | Copy (vtkMRMLNode *node) |
Copy node contents from another node of the same type. Does not copy node ID and Scene. Performs deep copy - an independent copy is created from all data, including bulk data. More... | |
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. More... | |
virtual void | CopyReferences (vtkMRMLNode *node) |
Copy the references of the node into this. More... | |
void | CopyWithScene (vtkMRMLNode *node) |
Copy everything (including Scene and ID) from another node of the same type. More... | |
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 vtkIntArray * | GetContentModifiedEvents () |
int | GetCustomModifiedEventPending (int eventId) |
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 () |
vtkMRMLNode * | GetNodeReference (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... | |
vtkMRMLNode * | GetNthNodeReference (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 vtkMRMLScene * | GetScene () |
Get the scene this node has been added to. More... | |
virtual int | GetSelectable () |
Describes if the node is selectable. More... | |
virtual int | GetSelected () |
Get/Set for Selected. More... | |
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. More... | |
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=nullptr) |
This method allows the node to compress events. More... | |
virtual int | InvokePendingModifiedEvent () |
Invokes any modified events that are pending . More... | |
bool | IsSingleton () |
void | Modified () override |
Customized version of Modified() allowing to compress vtkCommand::ModifiedEvent. More... | |
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. More... | |
virtual void | ProcessMRMLEvents (vtkObject *caller, unsigned long event, void *callData) |
Propagate events generated in mrml. 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) |
vtkMRMLNode * | SetAndObserveNodeReferenceID (const char *referenceRole, const char *referencedNodeID, vtkIntArray *events=nullptr) |
Set and observe a reference node from this node for a specific referenceRole. More... | |
vtkMRMLNode * | SetAndObserveNthNodeReferenceID (const char *referenceRole, int n, const char *referencedNodeID, vtkIntArray *events=nullptr) |
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... | |
vtkMRMLNode * | SetNodeReferenceID (const char *referenceRole, const char *referencedNodeID) |
Set a reference to a node with specified nodeID from this node for a specific referenceRole. More... | |
vtkMRMLNode * | SetNthNodeReferenceID (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) |
This method is for internal use only. Use AddNode method of vtkMRMLScene to add a node to the scene. More... | |
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 void | SetUndoEnabled (bool) |
virtual int | StartModify () |
Start modifying the node. Disable Modify events. More... | |
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. More... | |
virtual void | UpdateReferences () |
The method should remove all pointers and observations to all nodes that are not in the scene anymore. More... | |
virtual void | UpdateScene (vtkMRMLScene *) |
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... | |
std::string | XMLAttributeDecodeString (const std::string &inString) |
Decode an XML attribute string. More... | |
std::string | XMLAttributeEncodeString (const std::string &inString) |
Encode an XML attribute string (replaces special characters by code sequences) More... | |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkMRMLCrosshairNode * | New () |
static vtkMRMLCrosshairNode * | SafeDownCast (vtkObject *o) |
Static Public Member Functions inherited from vtkMRMLNode | |
static int | IsTypeOf (const char *type) |
static vtkMRMLNode * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
void | operator= (const vtkMRMLCrosshairNode &) |
vtkMRMLCrosshairNode () | |
vtkMRMLCrosshairNode (const vtkMRMLCrosshairNode &) | |
~vtkMRMLCrosshairNode () 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. More... | |
virtual const char * | GetReferenceRoleFromMRMLAttributeName (const char *attName) |
Return the reference role (if found) associated with the attribute name found in a MRML scene file. Return 0 otherwise. More... | |
virtual char * | GetTempURLString () |
void | GetUpdatedReferencedNodeEventList (int &oldReferencedNodeUseCount, int &newReferencedNodeUseCount, vtkIntArray *oldConsolidatedEventList, vtkIntArray *newConsolidatedEventList, vtkMRMLNode *oldReferencedNode, vtkMRMLNode *newReferencedNode, vtkMRMLNodeReference *referenceToIgnore, vtkIntArray *newEvents) |
virtual void | InvalidateNodeReferences () |
virtual bool | IsReferenceRoleGeneric (const char *refRole) |
Return true if the reference role is generic (ends with '/') or false otherwise. More... | |
virtual void | OnNodeReferenceAdded (vtkMRMLNodeReference *reference) |
virtual void | OnNodeReferenceModified (vtkMRMLNodeReference *reference) |
Called when a referenced node pointer is modified. More... | |
virtual void | OnNodeReferenceRemoved (vtkMRMLNodeReference *reference) |
Called when a referenced node pointer is removed (set to nullptr). More... | |
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. More... | |
vtkMRMLNode * | UpdateNodeReferenceEventObserver (vtkMRMLNode *oldReferencedNode, vtkMRMLNode *newReferencedNode, vtkIntArray *newEvents, 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! More... | |
Protected Attributes | |
int | CrosshairBehavior {OffsetJumpSlice} |
float | CrosshairColor [3] {1.0f, 0.8f, 0.1f} |
int | CrosshairMode {NoCrosshair} |
double | CrosshairRAS [3] {0.0, 0.0, 0.0} |
int | CrosshairThickness {Fine} |
double | CursorPositionRAS [3] {0.0, 0.0, 0.0} |
bool | CursorPositionRASValid {false} |
Set to false if the cursor is not in a view. More... | |
double | CursorPositionXYZ [3] {0.0, 0.0, 0.0} |
vtkWeakPointer< vtkMRMLSliceNode > | CursorSliceNode |
bool | FastPick3D {false} |
int | LightBoxPane {0} |
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 More... | |
vtkCallbackCommand * | MRMLCallbackCommand |
Holders for MRML callbacks. More... | |
vtkObserverManager * | MRMLObserverManager |
char * | Name {nullptr} |
NodeReferenceEventsType | NodeReferenceEvents |
std::map< std::string, std::string > | NodeReferenceMRMLAttributeNames |
NodeReferencesType | NodeReferences |
int | SaveWithScene {true} |
vtkWeakPointer< vtkMRMLScene > | Scene |
int | Selectable {1} |
int | Selected {0} |
bool | UndoEnabled {false} |
static const char * | GetCrosshairModeAsString (int id) |
static int | GetCrosshairModeFromString (const char *name) |
static const char * | GetCrosshairThicknessAsString (int id) |
static int | GetCrosshairThicknessFromString (const char *name) |
virtual int | GetCrosshairMode () |
virtual void | SetCrosshairMode (int) |
virtual void | SetCrosshairThickness (int) |
virtual int | GetCrosshairThickness () |
void | SetCrosshairToFine () |
void | SetCrosshairToMedium () |
void | SetCrosshairToThick () |
virtual float * | GetCrosshairColor () |
virtual void | GetCrosshairColor (float &, float &, float &) |
virtual void | GetCrosshairColor (float [3]) |
virtual void | SetCrosshairColor (float, float, float) |
virtual void | SetCrosshairColor (float [3]) |
static const char * | GetCrosshairBehaviorAsString (int id) |
static int | GetCrosshairBehaviorFromString (const char *name) |
virtual int | GetCrosshairBehavior () |
virtual void | SetCrosshairBehavior (int) |
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, NodeReferenceListType > | NodeReferencesType |
Static Protected Member Functions inherited from vtkMRMLNode | |
static void | MRMLCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData) |
MRML node for storing a crosshair through RAS space.
This node stores the information about a crosshair (position, style, attributes)
Definition at line 25 of file vtkMRMLCrosshairNode.h.
Definition at line 29 of file vtkMRMLCrosshairNode.h.
anonymous enum |
CursorPositionModifiedEvent is invoked when the cursor position is modified, for example a mouse pointer is moved in a slice view.
Enumerator | |
---|---|
CursorPositionModifiedEvent |
Definition at line 34 of file vtkMRMLCrosshairNode.h.
anonymous enum |
Modes for crosshair display.
Enumerator | |
---|---|
NoCrosshair | |
ShowBasic | |
ShowIntersection | |
ShowHashmarks | |
ShowAll | |
ShowSmallBasic | |
ShowSmallIntersection | |
CrosshairMode_Last |
Definition at line 137 of file vtkMRMLCrosshairNode.h.
anonymous enum |
Enumerator | |
---|---|
Fine | |
Medium | |
Thick | |
CrosshairThickness_Last |
Definition at line 148 of file vtkMRMLCrosshairNode.h.
anonymous enum |
Behavior when crosshair position is changed.
Enumerator | |
---|---|
NoAction | |
OffsetJumpSlice | |
Normal |
|
CenteredJumpSlice | |
JumpSlice |
|
CrosshairBehavior_Last |
Definition at line 156 of file vtkMRMLCrosshairNode.h.
|
protected |
|
overrideprotected |
|
protected |
|
overridevirtual |
Create instance of the default node. Like New only virtual.
Implements vtkMRMLNode.
|
virtual |
|
virtual |
|
virtual |
Reimplemented from vtkMRMLNode.
|
virtual |
Configure crosshair behavior.
|
static |
|
static |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Configure crosshair appearance.
|
static |
|
static |
|
inline |
Definition at line 132 of file vtkMRMLCrosshairNode.h.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
static |
|
static |
bool vtkMRMLCrosshairNode::GetCursorPositionRAS | ( | double | ras[3] | ) |
Get the position of the cursor in the current view in RAS coordinate system. Returns false if the cursor position is unknown. This is typically called by other classes to get the current cursor position after receiving CursorPositionModifiedEvent event.
vtkMRMLSliceNode* vtkMRMLCrosshairNode::GetCursorPositionXYZ | ( | double | xyz[3] | ) |
Get the position of the cursor in the current view in XYZ coordinate system. Returns nullptr if the cursor is not in a slice viewer. This is typically called by other classes to get the current cursor position after receiving CursorPositionModifiedEvent event.
|
virtual |
|
virtual |
Get the pane of the lightbox that was last cached.
|
inlineoverridevirtual |
Get node XML tag name (like Volume, Model)
Implements vtkMRMLNode.
Definition at line 55 of file vtkMRMLCrosshairNode.h.
|
virtual |
Reimplemented from vtkMRMLNode.
|
static |
|
static |
|
protected |
|
override |
|
overridevirtual |
Set node attributes
Reimplemented from vtkMRMLNode.
|
static |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
inline |
Name of the layout
Definition at line 129 of file vtkMRMLCrosshairNode.h.
|
virtual |
Set crosshair position
|
virtual |
void vtkMRMLCrosshairNode::SetCrosshairRAS | ( | double | ras[3], |
int | id | ||
) |
Set the crosshair position and cache which pane of lightbox that position was in
|
virtual |
|
inline |
Definition at line 66 of file vtkMRMLCrosshairNode.h.
|
inline |
Definition at line 67 of file vtkMRMLCrosshairNode.h.
|
inline |
Definition at line 68 of file vtkMRMLCrosshairNode.h.
void vtkMRMLCrosshairNode::SetCursorPositionInvalid | ( | ) |
Invalidates the cursor position. This should be called whenever the mouse moves out of a view.
void vtkMRMLCrosshairNode::SetCursorPositionRAS | ( | double | ras[3] | ) |
Set cursor position in 3D. This should be called whenever the cursor is moved by using a 3D positioning device (that does not have an associated slice viewer). GetCursorPositionXYZ returns with nullptr if SetCursorPositionRAS is used for setting the cursor position, so if slice position is available then SetCursorPositionXYZ method should be used instead (it sets both XYZ and RAS position, too).
void vtkMRMLCrosshairNode::SetCursorPositionXYZ | ( | double | xyz[3], |
vtkMRMLSliceNode * | sliceNode | ||
) |
Set cursor position in a 2D slice view. The method also computes the RAS position. This method should be called whenever the mouse moves in a slice viewer.
|
virtual |
Experimental feature to choose between fast or accurate position computation in 3D views. If fast option is chosen then Z-buffer in the renderer may be used for determining position along the view line in 3D views, which is very fast but may not give optimal results because semi-transparent objects, such as semi-transparent models or volume-rendered images are ignored. This property is only for evaluation of this feature and the value is not stored persistently in the scene file.
vtkMRMLCrosshairNode::vtkMRMLCopyContentMacro | ( | vtkMRMLCrosshairNode | ) |
Copy node content (excludes basic data, such as name and node references).
|
overridevirtual |
Write this node's information to a MRML file in XML format.
Reimplemented from vtkMRMLNode.
|
protected |
Definition at line 187 of file vtkMRMLCrosshairNode.h.
|
protected |
Definition at line 188 of file vtkMRMLCrosshairNode.h.
|
protected |
Definition at line 185 of file vtkMRMLCrosshairNode.h.
|
protected |
Definition at line 190 of file vtkMRMLCrosshairNode.h.
|
protected |
Definition at line 186 of file vtkMRMLCrosshairNode.h.
|
protected |
Last known cursor position in RAS coordinate system. If CursorPositionValid is false then this position is not up-to-date anymore.
Definition at line 195 of file vtkMRMLCrosshairNode.h.
|
protected |
Set to false if the cursor is not in a view.
Definition at line 205 of file vtkMRMLCrosshairNode.h.
|
protected |
Last known cursor position in XYZ coordinate system. If CursorSliceNode is nullptr then this position is not up-to-date anymore.
Definition at line 198 of file vtkMRMLCrosshairNode.h.
|
protected |
CursorSliceNode points to the slice where the cursor is. It is not stored as a MRML node reference as its value is not saved with the scene and also it changes frequently therefore it is better to keep a lightweight reference.
Definition at line 202 of file vtkMRMLCrosshairNode.h.
|
protected |
Definition at line 206 of file vtkMRMLCrosshairNode.h.
|
protected |
Definition at line 191 of file vtkMRMLCrosshairNode.h.