15 #ifndef __vtkMRMLTransformableNode_h 16 #define __vtkMRMLTransformableNode_h 20 #include "vtkVector.h" 24 class vtkAbstractTransform;
35 void PrintSelf(ostream& os, vtkIndent indent)
override;
45 void WriteXML(ostream& of,
int indent)
override;
59 bool SetAndObserveTransformNodeID(
const char *transformNodeID);
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();
142 char* TransformNodeIDInternal;
143 vtkSetStringMacro(TransformNodeIDInternal);
144 vtkGetStringMacro(TransformNodeIDInternal);
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML file
virtual void OnNodeReferenceModified(vtkMRMLNodeReference *reference)
Called when a referenced node pointer is modified.
vtkMRMLNode * CreateNodeInstance() 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 nullptr).
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
alternative method to propagate events generated in Storage nodes
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 &)
const char * GetNodeTagName() override=0
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
void PrintSelf(ostream &os, vtkIndent indent) override