15 #ifndef __vtkMRMLTransformableNode_h 16 #define __vtkMRMLTransformableNode_h 20 #include "vtkVector.h" 24 class vtkAbstractTransform;
35 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
41 virtual
void ReadXMLAttributes( const
char** atts) VTK_OVERRIDE;
45 virtual
void WriteXML(ostream& of,
int indent) VTK_OVERRIDE;
49 virtual const
char* GetNodeTagName() VTK_OVERRIDE = 0;
59 bool SetAndObserveTransformNodeID(const
char *transformNodeID);
67 virtual
void ProcessMRMLEvents ( vtkObject * ,
69 void * ) VTK_OVERRIDE;
74 TransformModifiedEvent = 15000
80 virtual bool CanApplyNonLinearTransforms()
const;
85 virtual void ApplyTransformMatrix(vtkMatrix4x4* transformMatrix);
89 virtual void ApplyTransform(vtkAbstractTransform* transform);
93 virtual void TransformPointToWorld(
const double inLocal[3],
double outWorld[3]);
97 virtual void TransformPointToWorld(
const vtkVector3d &inLocal, vtkVector3d &outWorld);
101 virtual void TransformPointFromWorld(
const double inWorld[3],
double outLocal[3]);
105 virtual void TransformPointFromWorld(
const vtkVector3d &inWorld, vtkVector3d &outLocal);
108 const char *GetTransformNodeID();
112 bool HardenTransform();
123 virtual const char* GetTransformNodeReferenceRole();
124 virtual const char* GetTransformNodeReferenceMRMLAttributeName();
131 if (std::string(reference->GetReferenceRole()) == this->TransformNodeReferenceRole)
142 if (std::string(reference->GetReferenceRole()) == this->TransformNodeReferenceRole)
153 if (std::string(reference->GetReferenceRole()) == this->TransformNodeReferenceRole)
161 char* TransformNodeIDInternal;
162 vtkSetStringMacro(TransformNodeIDInternal);
163 vtkGetStringMacro(TransformNodeIDInternal);
virtual void OnNodeReferenceModified(vtkMRMLNodeReference *reference)
Called when a referenced node pointer is modified.
virtual vtkMRMLNode * CreateNodeInstance() VTK_OVERRIDE=0
MRMLNode methods.
MRML node to represent a 3D surface model.
virtual void OnNodeReferenceRemoved(vtkMRMLNodeReference *reference)
Called when a referenced node pointer is removed (set to NULL).
virtual void InvokeCustomModifiedEvent(int eventId, void *callData=NULL)
This method allows the node to compress events.
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual void OnNodeReferenceAdded(vtkMRMLNodeReference *reference)
Abstract Superclass for all specific types of MRML nodes.
Class to hold information about a node reference.
void operator=(const vtkMRMLStorableNode &)