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
vtkMRMLTransformNode Class Reference

MRML node for representing a transformation between this node space and a parent node space. More...

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

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

Public Types

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

virtual void ApplyTransform (vtkAbstractTransform *transform) VTK_OVERRIDE
 Reimplemented from vtkMRMLTransformableNode. More...
 
virtual void ApplyTransformMatrix (vtkMatrix4x4 *transformMatrix) VTK_OVERRIDE
 
virtual bool CanApplyNonLinearTransforms () const VTK_OVERRIDE
 Reimplemented from vtkMRMLTransformableNode. More...
 
virtual void Copy (vtkMRMLNode *node) VTK_OVERRIDE
 Copy the node's attributes to this object. More...
 
virtual void CreateDefaultDisplayNodes () VTK_OVERRIDE
 Create and observe default display node. More...
 
virtual vtkMRMLStorageNodeCreateDefaultStorageNode () VTK_OVERRIDE
 Create default storage node or NULL if does not have one. More...
 
virtual vtkMRMLNodeCreateNodeInstance () VTK_OVERRIDE
 MRMLNode methods. More...
 
virtual const char * GetClassName ()
 
vtkMRMLTransformNodeGetFirstCommonParent (vtkMRMLTransformNode *targetNode)
 
virtual int GetMatrixTransformFromNode (vtkMRMLTransformNode *node, vtkMatrix4x4 *transformFromNode)
 
virtual int GetMatrixTransformFromParent (vtkMatrix4x4 *matrix)
 
virtual vtkMatrix4x4 * GetMatrixTransformFromParent ()
 
virtual int GetMatrixTransformFromWorld (vtkMatrix4x4 *transformFromWorld)
 
virtual int GetMatrixTransformToNode (vtkMRMLTransformNode *node, vtkMatrix4x4 *transformToNode)
 
virtual int GetMatrixTransformToParent (vtkMatrix4x4 *matrix)
 
virtual vtkMatrix4x4 * GetMatrixTransformToParent ()
 
virtual int GetMatrixTransformToWorld (vtkMatrix4x4 *transformToWorld)
 
virtual bool GetModifiedSinceRead () VTK_OVERRIDE
 
virtual const char * GetNodeTagName () VTK_OVERRIDE
 Get node XML tag name (like Volume, Model) More...
 
virtual int GetReadAsTransformToParent ()
 
void GetTransformFromNode (vtkMRMLTransformNode *node, vtkGeneralTransform *transformFromNode)
 
virtual vtkAbstractTransform * GetTransformFromParent ()
 Transform of this node from parent. More...
 
vtkAbstractTransform * GetTransformFromParentAs (const char *transformType, bool logErrorIfFails=true, bool modifiableOnly=false)
 
virtual const char * GetTransformFromParentInfo ()
 Get a human-readable description of the transform. More...
 
void GetTransformFromWorld (vtkGeneralTransform *transformToWorld)
 
const char * GetTransformInfo (vtkAbstractTransform *inputTransform)
 
void GetTransformToNode (vtkMRMLTransformNode *node, vtkGeneralTransform *transformToNode)
 
virtual vtkAbstractTransform * GetTransformToParent ()
 Transform of this node to parent. More...
 
vtkAbstractTransform * GetTransformToParentAs (const char *transformType, bool logErrorIfFails=true, bool modifiableOnly=false)
 
virtual const char * GetTransformToParentInfo ()
 Get a human-readable description of the transform. More...
 
void GetTransformToWorld (vtkGeneralTransform *transformToWorld)
 
vtkMTimeType GetTransformToWorldMTime ()
 Get the latest modification time of the stored transform. More...
 
void Inverse ()
 
virtual int IsA (const char *type)
 
virtual int IsComposite ()
 Returns 1 if the transform is a composite transform (a transform that may contain multiple simple transforms) More...
 
virtual int IsLinear ()
 Returns 1 if transform is a non-composite linear tansform, 0 otherwise (if composite transform or non-linear transform) More...
 
int IsTransformNodeMyChild (vtkMRMLTransformNode *node)
 Returns 1 if the node is one of the this node's descendents. More...
 
int IsTransformNodeMyParent (vtkMRMLTransformNode *node)
 
int IsTransformToNodeLinear (vtkMRMLTransformNode *node)
 1 if all the transforms between nodes are linear, 0 otherwise More...
 
int IsTransformToWorldLinear ()
 1 if all the transforms to the top are linear, 0 otherwise More...
 
void PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE
 
virtual void ProcessMRMLEvents (vtkObject *, unsigned long, void *) VTK_OVERRIDE
 alternative method to propagate events generated in Transform nodes More...
 
virtual void ReadAsTransformToParentOff ()
 
virtual void ReadAsTransformToParentOn ()
 
virtual void ReadXMLAttributes (const char **atts) VTK_OVERRIDE
 Read node attributes from XML file. More...
 
virtual int SetAndObserveMatrixTransformFromParent (vtkMatrix4x4 *matrix)
 
virtual int SetAndObserveMatrixTransformToParent (vtkMatrix4x4 *matrix)
 
void SetAndObserveTransformFromParent (vtkAbstractTransform *transform)
 
void SetAndObserveTransformToParent (vtkAbstractTransform *transform)
 
virtual int SetMatrixTransformFromParent (vtkMatrix4x4 *matrix)
 
virtual int SetMatrixTransformToParent (vtkMatrix4x4 *matrix)
 
virtual void SetReadAsTransformToParent (int)
 
virtual int Split ()
 
virtual void TransformModified ()
 
virtual void UpdateScene (vtkMRMLScene *scene) VTK_OVERRIDE
 Finds the storage node and read the data. More...
 
virtual void WriteXML (ostream &of, int indent) VTK_OVERRIDE
 Write this node's information to a MRML file in XML format. More...
 
- Public Member Functions inherited from vtkMRMLDisplayableNode
void AddAndObserveDisplayNodeID (const char *displayNodeID)
 
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
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 DeepCopyTransform (vtkAbstractTransform *dst, vtkAbstractTransform *src)
 
static void FlattenGeneralTransform (vtkCollection *outputTransformList, vtkAbstractTransform *inputTransform)
 
static int GetMatrixTransformBetweenNodes (vtkMRMLTransformNode *sourceNode, vtkMRMLTransformNode *targetNode, vtkMatrix4x4 *transformSourceToTarget)
 
static void GetTransformBetweenNodes (vtkMRMLTransformNode *sourceNode, vtkMRMLTransformNode *targetNode, vtkGeneralTransform *transformSourceToTarget)
 
static bool IsAbstractTransformComputedFromInverse (vtkAbstractTransform *abstractTransform)
 
static bool IsGeneralTransformLinear (vtkAbstractTransform *inputTransform, vtkTransform *concatenatedLinearTransform=NULL)
 
static int IsTypeOf (const char *type)
 
static vtkMRMLTransformNodeNew ()
 
static vtkMRMLTransformNodeSafeDownCast (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

virtual vtkAbstractTransform * GetAbstractTransformAs (vtkAbstractTransform *inputTransform, const char *transformClassName, bool logErrorIfFails)
 
void operator= (const vtkMRMLTransformNode &)
 
virtual void SetAndObserveTransform (vtkAbstractTransform **originalTransformPtr, vtkAbstractTransform **inverseTransformPtr, vtkAbstractTransform *transform)
 Sets and observes a transform and deletes the inverse (so that the inverse will be computed automatically) More...
 
 vtkMRMLTransformNode ()
 
 vtkMRMLTransformNode (const vtkMRMLTransformNode &)
 
 ~vtkMRMLTransformNode ()
 
- 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

vtkMatrix4x4 * CachedMatrixTransformFromParent
 
vtkMatrix4x4 * CachedMatrixTransformToParent
 
int ReadAsTransformToParent
 
vtkAbstractTransform * TransformFromParent
 
std::string TransformInfo
 
vtkAbstractTransform * TransformToParent
 
- 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
 

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 for representing a transformation between this node space and a parent node space.

General Transformation between this node space and a parent node space. A vtkMRMLTransformableNode::TransformModifiedEvent is called if the transforms are changed. ModifiedEvent is called if either transforms or other properties of the object are changed.

Definition at line 33 of file vtkMRMLTransformNode.h.

Member Typedef Documentation

◆ Superclass

Definition at line 37 of file vtkMRMLTransformNode.h.

Constructor & Destructor Documentation

◆ vtkMRMLTransformNode() [1/2]

vtkMRMLTransformNode::vtkMRMLTransformNode ( )
protected

◆ ~vtkMRMLTransformNode()

vtkMRMLTransformNode::~vtkMRMLTransformNode ( )
protected

◆ vtkMRMLTransformNode() [2/2]

vtkMRMLTransformNode::vtkMRMLTransformNode ( const vtkMRMLTransformNode )
protected

Member Function Documentation

◆ ApplyTransform()

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

Reimplemented from vtkMRMLTransformableNode.

Reimplemented from vtkMRMLTransformableNode.

◆ ApplyTransformMatrix()

virtual void vtkMRMLTransformNode::ApplyTransformMatrix ( vtkMatrix4x4 *  transformMatrix)
virtual

Applies a transformation matrix to the current matrix. Difference compared to ApplyTransform(): if the current transform is a linear then instead of creating a composite transform, the current and applicable transform matrices are multiplied and stored in a simple (non-composite) linear transform. If the current transformation was non-linear then the method is equivalent to ApplyTransform (creates a composite transform).

Reimplemented from vtkMRMLTransformableNode.

◆ CanApplyNonLinearTransforms()

virtual bool vtkMRMLTransformNode::CanApplyNonLinearTransforms ( ) const
virtual

Reimplemented from vtkMRMLTransformableNode.

Reimplemented from vtkMRMLTransformableNode.

◆ Copy()

virtual void vtkMRMLTransformNode::Copy ( vtkMRMLNode node)
virtual

Copy the node's attributes to this object.

Reimplemented from vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLLinearTransformNode, vtkMRMLBSplineTransformNode, and vtkMRMLGridTransformNode.

◆ CreateDefaultDisplayNodes()

virtual void vtkMRMLTransformNode::CreateDefaultDisplayNodes ( )
virtual

Create and observe default display node.

Reimplemented from vtkMRMLDisplayableNode.

◆ CreateDefaultStorageNode()

virtual vtkMRMLStorageNode* vtkMRMLTransformNode::CreateDefaultStorageNode ( )
virtual

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

Reimplemented from vtkMRMLStorableNode.

Reimplemented in vtkMRMLLinearTransformNode, and vtkMRMLBSplineTransformNode.

◆ CreateNodeInstance()

virtual vtkMRMLNode* vtkMRMLTransformNode::CreateNodeInstance ( )
virtual

◆ DeepCopyTransform()

static int vtkMRMLTransformNode::DeepCopyTransform ( vtkAbstractTransform *  dst,
vtkAbstractTransform *  src 
)
static

Some transforms have DeepCopy method that actually only creates a shallow copy (such as vtkGeneralTransform and vtkGridTransform). This method creates a true deep copy of a transform. Returns nonzero on success.

◆ FlattenGeneralTransform()

static void vtkMRMLTransformNode::FlattenGeneralTransform ( vtkCollection *  outputTransformList,
vtkAbstractTransform *  inputTransform 
)
static

Creates a shallow copy of an input composite transform (that can contain a complex hierarchy of transforms) into a flat list of transforms. This is useful for simplifying serialization for copying and writing to file.

◆ GetAbstractTransformAs()

virtual vtkAbstractTransform* vtkMRMLTransformNode::GetAbstractTransformAs ( vtkAbstractTransform *  inputTransform,
const char *  transformClassName,
bool  logErrorIfFails 
)
protectedvirtual

Retrieves a simple transform from a generic transform If the generic transform is composed of multiple transform or contains a different transform type then it returns NULL.

◆ GetClassName()

virtual const char* vtkMRMLTransformNode::GetClassName ( )
virtual

◆ GetFirstCommonParent()

vtkMRMLTransformNode* vtkMRMLTransformNode::GetFirstCommonParent ( vtkMRMLTransformNode targetNode)

Get the first common parent of he current and the target transform node If there are no common parents then NULL is returned

Parameters
targetNodeThe transform for which the current transform will be determined

◆ GetMatrixTransformBetweenNodes()

static int vtkMRMLTransformNode::GetMatrixTransformBetweenNodes ( vtkMRMLTransformNode sourceNode,
vtkMRMLTransformNode targetNode,
vtkMatrix4x4 *  transformSourceToTarget 
)
static

Get concatenated transforms from source to target node Source and target nodes are allowed to be NULL, which means that transform is the world transform. Returns 0 if the transform is not linear (cannot be described by a matrix).

◆ GetMatrixTransformFromNode()

virtual int vtkMRMLTransformNode::GetMatrixTransformFromNode ( vtkMRMLTransformNode node,
vtkMatrix4x4 *  transformFromNode 
)
virtual

Get concatenated transforms from the specified node. Returns 0 if the transform is not linear (cannot be described by a matrix).

See also
GetMatrixTransformBetweenNodes

◆ GetMatrixTransformFromParent() [1/2]

virtual int vtkMRMLTransformNode::GetMatrixTransformFromParent ( vtkMatrix4x4 *  matrix)
virtual

Get the vtkMatrix4x4 transform of this node from parent node Returns 0 if the transform is not linear or there is an error.

◆ GetMatrixTransformFromParent() [2/2]

virtual vtkMatrix4x4* vtkMRMLTransformNode::GetMatrixTransformFromParent ( )
virtual

Set a new matrix transform of this node from parent node. Deprecated! Use GetMatrixTransformFromParent(vtkMatrix4x4*) instead. The method returns a cached copy of the transform, so modification of the matrix does not alter the transform node.

◆ GetMatrixTransformFromWorld()

virtual int vtkMRMLTransformNode::GetMatrixTransformFromWorld ( vtkMatrix4x4 *  transformFromWorld)
virtual

Get concatenated transforms from world. Returns 0 if the transform is not linear (cannot be described by a matrix).

See also
GetMatrixTransformBetweenNodes

◆ GetMatrixTransformToNode()

virtual int vtkMRMLTransformNode::GetMatrixTransformToNode ( vtkMRMLTransformNode node,
vtkMatrix4x4 *  transformToNode 
)
virtual

Get concatenated transforms to the specified node. Returns 0 if the transform is not linear (cannot be described by a matrix).

See also
GetMatrixTransformBetweenNodes

◆ GetMatrixTransformToParent() [1/2]

virtual int vtkMRMLTransformNode::GetMatrixTransformToParent ( vtkMatrix4x4 *  matrix)
virtual

Get the vtkMatrix4x4 transform of this node to parent node Returns 0 if the transform is not linear or there is an error.

◆ GetMatrixTransformToParent() [2/2]

virtual vtkMatrix4x4* vtkMRMLTransformNode::GetMatrixTransformToParent ( )
virtual

Set a new matrix transform of this node to parent node. Deprecated! Use GetMatrixTransformToParent(vtkMatrix4x4*) instead. The method returns a cached copy of the transform, so modification of the matrix does not alter the transform node.

◆ GetMatrixTransformToWorld()

virtual int vtkMRMLTransformNode::GetMatrixTransformToWorld ( vtkMatrix4x4 *  transformToWorld)
virtual

Get concatenated transforms to world. Returns 0 if the transform is not linear (cannot be described by a matrix).

See also
GetMatrixTransformBetweenNodes

◆ GetModifiedSinceRead()

virtual bool vtkMRMLTransformNode::GetModifiedSinceRead ( )
virtual

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

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

Reimplemented from vtkMRMLStorableNode.

◆ GetNodeTagName()

virtual const char* vtkMRMLTransformNode::GetNodeTagName ( )
inlinevirtual

Get node XML tag name (like Volume, Model)

Implements vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLLinearTransformNode, vtkMRMLBSplineTransformNode, and vtkMRMLGridTransformNode.

Definition at line 56 of file vtkMRMLTransformNode.h.

◆ GetReadAsTransformToParent()

virtual int vtkMRMLTransformNode::GetReadAsTransformToParent ( )
virtual

Get/Set for ReadAsTransformToParent Indicates that the transform in the storage node has to be interpreted as a transformToParent (as opposed to the default ITK-style transformFromParent). Since writing of ITK inverse transform is implemented, this option is not needed anymore and kept only for backward compatibility: when a transform is read from an old scene file that has ReadWriteAsTransformToParent="1" then the transform is interpreted as such. Transforms are now always written as transformFromParent.

◆ GetTransformBetweenNodes()

static void vtkMRMLTransformNode::GetTransformBetweenNodes ( vtkMRMLTransformNode sourceNode,
vtkMRMLTransformNode targetNode,
vtkGeneralTransform *  transformSourceToTarget 
)
static

Get concatenated transforms from source to target node Source and target nodes are allowed to be NULL, which means that transform is the world transform.

◆ GetTransformFromNode()

void vtkMRMLTransformNode::GetTransformFromNode ( vtkMRMLTransformNode node,
vtkGeneralTransform *  transformFromNode 
)

Get concatenated transforms from the specified node.

See also
GetTransformBetweenNodes

◆ GetTransformFromParent()

virtual vtkAbstractTransform* vtkMRMLTransformNode::GetTransformFromParent ( )
virtual

Transform of this node from parent.

◆ GetTransformFromParentAs()

vtkAbstractTransform* vtkMRMLTransformNode::GetTransformFromParentAs ( const char *  transformType,
bool  logErrorIfFails = true,
bool  modifiableOnly = false 
)

Retrieves the transform as the specified transform class. If modifiableOnly is set to true then NULL will be returned for transforms that cannot be modified (e.g., because it is computed from its inverse). Returns NULL if the transform is not a kind of transform that was requested. Example usage: vtkOrientedBSplineTransform* bsplineTransform=vtkOrientedBSplineTransform::SafeDownCast(GetTransformFromParentAs("vtkOrientedBSplineTransform"));

◆ GetTransformFromParentInfo()

virtual const char* vtkMRMLTransformNode::GetTransformFromParentInfo ( )
virtual

Get a human-readable description of the transform.

◆ GetTransformFromWorld()

void vtkMRMLTransformNode::GetTransformFromWorld ( vtkGeneralTransform *  transformToWorld)

Get concatenated transforms from world.

See also
GetTransformBetweenNodes

◆ GetTransformInfo()

const char* vtkMRMLTransformNode::GetTransformInfo ( vtkAbstractTransform *  inputTransform)

Get a human-readable description of the transformation The returned string is stored in a shared buffer therefore the text has to be copied. This is a static-style function (the contents of the owner transform node is not used), but the returned string buffer needs to be owned by an object.

Parameters
inputTransformThe transform for which information is obtained

◆ GetTransformToNode()

void vtkMRMLTransformNode::GetTransformToNode ( vtkMRMLTransformNode node,
vtkGeneralTransform *  transformToNode 
)

Get concatenated transforms to the specified node.

See also
GetTransformBetweenNodes

◆ GetTransformToParent()

virtual vtkAbstractTransform* vtkMRMLTransformNode::GetTransformToParent ( )
virtual

Transform of this node to parent.

◆ GetTransformToParentAs()

vtkAbstractTransform* vtkMRMLTransformNode::GetTransformToParentAs ( const char *  transformType,
bool  logErrorIfFails = true,
bool  modifiableOnly = false 
)

Retrieves the transform as the specified transform class. If modifiableOnly is set to true then NULL will be returned for transforms that cannot be modified (e.g., because it is computed from its inverse). Returns NULL if the transform is not a kind of transform that was requested. Example usage: vtkOrientedBSplineTransform* bsplineTransform=vtkOrientedBSplineTransform::SafeDownCast(GetTransformToParentAs("vtkOrientedBSplineTransform"));

◆ GetTransformToParentInfo()

virtual const char* vtkMRMLTransformNode::GetTransformToParentInfo ( )
virtual

Get a human-readable description of the transform.

◆ GetTransformToWorld()

void vtkMRMLTransformNode::GetTransformToWorld ( vtkGeneralTransform *  transformToWorld)

Get concatenated transforms to world.

See also
GetTransformBetweenNodes

◆ GetTransformToWorldMTime()

vtkMTimeType vtkMRMLTransformNode::GetTransformToWorldMTime ( )

Get the latest modification time of the stored transform.

◆ Inverse()

void vtkMRMLTransformNode::Inverse ( )

Invert the transform. Internally it does not perform any actual computation just switches ToParent and FromParent.

◆ IsA()

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

◆ IsAbstractTransformComputedFromInverse()

static bool vtkMRMLTransformNode::IsAbstractTransformComputedFromInverse ( vtkAbstractTransform *  abstractTransform)
static

Utility function that determines if a transform is computed from its inverse. It may be important to know if a transform is computed from its inverse because then it cannot not be modified (if modification is needed then he source transform has to be updated).

◆ IsComposite()

virtual int vtkMRMLTransformNode::IsComposite ( )
virtual

Returns 1 if the transform is a composite transform (a transform that may contain multiple simple transforms)

◆ IsGeneralTransformLinear()

static bool vtkMRMLTransformNode::IsGeneralTransformLinear ( vtkAbstractTransform *  inputTransform,
vtkTransform *  concatenatedLinearTransform = NULL 
)
static

Utility function that determines if a transform is linear. It looks into composite transforms and only returns with true if all the transform components are linear. If concatenatedLinearTransform is specified and the transform is linear then it returns the concatenated linear transformation matrix.

◆ IsLinear()

virtual int vtkMRMLTransformNode::IsLinear ( )
virtual

Returns 1 if transform is a non-composite linear tansform, 0 otherwise (if composite transform or non-linear transform)

◆ IsTransformNodeMyChild()

int vtkMRMLTransformNode::IsTransformNodeMyChild ( vtkMRMLTransformNode node)

Returns 1 if the node is one of the this node's descendents.

◆ IsTransformNodeMyParent()

int vtkMRMLTransformNode::IsTransformNodeMyParent ( vtkMRMLTransformNode node)

Returns 1 if this node is one of the node's descendents NULL designates the world transform node and so always returns with 1.

◆ IsTransformToNodeLinear()

int vtkMRMLTransformNode::IsTransformToNodeLinear ( vtkMRMLTransformNode node)

1 if all the transforms between nodes are linear, 0 otherwise

◆ IsTransformToWorldLinear()

int vtkMRMLTransformNode::IsTransformToWorldLinear ( )

1 if all the transforms to the top are linear, 0 otherwise

◆ IsTypeOf()

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

◆ New()

static vtkMRMLTransformNode* vtkMRMLTransformNode::New ( )
static

◆ operator=()

void vtkMRMLTransformNode::operator= ( const vtkMRMLTransformNode )
protected

◆ PrintSelf()

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

◆ ProcessMRMLEvents()

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

alternative method to propagate events generated in Transform nodes

Reimplemented from vtkMRMLDisplayableNode.

◆ ReadAsTransformToParentOff()

virtual void vtkMRMLTransformNode::ReadAsTransformToParentOff ( )
virtual

◆ ReadAsTransformToParentOn()

virtual void vtkMRMLTransformNode::ReadAsTransformToParentOn ( )
virtual

◆ ReadXMLAttributes()

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

Read node attributes from XML file.

Reimplemented from vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLLinearTransformNode, vtkMRMLBSplineTransformNode, and vtkMRMLGridTransformNode.

◆ SafeDownCast()

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

◆ SetAndObserveMatrixTransformFromParent()

virtual int vtkMRMLTransformNode::SetAndObserveMatrixTransformFromParent ( vtkMatrix4x4 *  matrix)
virtual

Set a new matrix transform of this node from parent node. Returns 0 if the current transform is not linear. Deprecated! Use SetMatrixTransformToParent instead.

◆ SetAndObserveMatrixTransformToParent()

virtual int vtkMRMLTransformNode::SetAndObserveMatrixTransformToParent ( vtkMatrix4x4 *  matrix)
virtual

Set a new matrix transform of this node to parent node. Returns 0 if the current transform is not linear. Deprecated! Use SetMatrixTransformToParent instead.

◆ SetAndObserveTransform()

virtual void vtkMRMLTransformNode::SetAndObserveTransform ( vtkAbstractTransform **  originalTransformPtr,
vtkAbstractTransform **  inverseTransformPtr,
vtkAbstractTransform *  transform 
)
protectedvirtual

Sets and observes a transform and deletes the inverse (so that the inverse will be computed automatically)

◆ SetAndObserveTransformFromParent()

void vtkMRMLTransformNode::SetAndObserveTransformFromParent ( vtkAbstractTransform *  transform)

Set and observe a new transform of this node from parent node. Each time the transform is modified, vtkMRMLTransformableNode::TransformModifiedEvent is fired. ModifiedEvent() and TransformModifiedEvent() are fired after the transform is set.

◆ SetAndObserveTransformToParent()

void vtkMRMLTransformNode::SetAndObserveTransformToParent ( vtkAbstractTransform *  transform)

Set and observe a new transform of this node to parent node. Each time the transform is modified, vtkMRMLTransformableNode::TransformModifiedEvent is fired. ModifiedEvent() and TransformModifiedEvent() are fired after the transform is set.

◆ SetMatrixTransformFromParent()

virtual int vtkMRMLTransformNode::SetMatrixTransformFromParent ( vtkMatrix4x4 *  matrix)
virtual

Set a new matrix transform of this node from parent node.

See also
SetMatrixTransformToParent

◆ SetMatrixTransformToParent()

virtual int vtkMRMLTransformNode::SetMatrixTransformToParent ( vtkMatrix4x4 *  matrix)
virtual

Set a new matrix transform of this node to parent node. Invokes a TransformModified event (does not invoke Modified). The method only allows setting or updating an empty or simple linear transform. Returns nonzero if the transform is successfully updated, returns 0 if the transform is non-linear or composite and therefore cannot be updated. To overwrite a non-linear or composite transform first remove the old transform by calling SetAndObserveTransformToParent(NULL) and then set the matrix.

See also
SetMatrixTransformFromParent

◆ SetReadAsTransformToParent()

virtual void vtkMRMLTransformNode::SetReadAsTransformToParent ( int  )
virtual

◆ Split()

virtual int vtkMRMLTransformNode::Split ( )
virtual

Split a composite transform to its components. The components are inserted to the scene between this transform and its parent. A composite transform can be created by hardening different types of transforms on each other. Return non-zero on success.

◆ TransformModified()

virtual void vtkMRMLTransformNode::TransformModified ( )
inlinevirtual

Indicates that the transform inside the object is modified. Typical usage would be to disable transform modified events, call a series of operations that change transforms and then re-enable transform modified events to invoke any pending notifications.

Definition at line 272 of file vtkMRMLTransformNode.h.

◆ UpdateScene()

virtual void vtkMRMLTransformNode::UpdateScene ( vtkMRMLScene scene)
inlinevirtual

Finds the storage node and read the data.

Reimplemented from vtkMRMLStorableNode.

Definition at line 60 of file vtkMRMLTransformNode.h.

◆ WriteXML()

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

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

Reimplemented from vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLLinearTransformNode, vtkMRMLBSplineTransformNode, and vtkMRMLGridTransformNode.

Member Data Documentation

◆ CachedMatrixTransformFromParent

vtkMatrix4x4* vtkMRMLTransformNode::CachedMatrixTransformFromParent
protected

Definition at line 385 of file vtkMRMLTransformNode.h.

◆ CachedMatrixTransformToParent

vtkMatrix4x4* vtkMRMLTransformNode::CachedMatrixTransformToParent
protected

These variables are only for supporting the deprecated GetMatrixTransformToParent and GetMatrixFromParent methods

Definition at line 384 of file vtkMRMLTransformNode.h.

◆ ReadAsTransformToParent

int vtkMRMLTransformNode::ReadAsTransformToParent
protected

Definition at line 377 of file vtkMRMLTransformNode.h.

◆ TransformFromParent

vtkAbstractTransform* vtkMRMLTransformNode::TransformFromParent
protected

Definition at line 375 of file vtkMRMLTransformNode.h.

◆ TransformInfo

std::string vtkMRMLTransformNode::TransformInfo
protected

Definition at line 380 of file vtkMRMLTransformNode.h.

◆ TransformToParent

vtkAbstractTransform* vtkMRMLTransformNode::TransformToParent
protected

These transforms store the transforms that were set externally. We use the capability of generic transforms for concatenating and inverting the same abstract transform in multiple generic transforms, therefore they are automatically updated. We keep the two separate member variables because in the future we may allow setting of a custom inverse transform (that is NOT computed automatically from each other, for example some Demons registration can provide both the forward and inverse transforms as output).

Definition at line 374 of file vtkMRMLTransformNode.h.


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