Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
vtkMRMLTransformStorageNode.h
Go to the documentation of this file.
1/*=auto=========================================================================
2
3 Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
4
5 See COPYRIGHT.txt
6 or http://www.slicer.org/copyright/copyright.txt for details.
7
8 Program: 3D Slicer
9 Module: $RCSfile: vtkMRMLTransformStorageNode.h,v $
10 Date: $Date: 2006/03/19 17:12:29 $
11 Version: $Revision: 1.3 $
12
13=========================================================================auto=*/
14
15#ifndef __vtkMRMLTransformStorageNode_h
16#define __vtkMRMLTransformStorageNode_h
17
18#include "vtkMRMLStorageNode.h"
19
20class vtkAbstractTransform;
22
34class VTK_MRML_EXPORT vtkMRMLTransformStorageNode : public vtkMRMLStorageNode
35{
36public:
39 void PrintSelf(ostream& os, vtkIndent indent) override;
40
42
45 void ReadXMLAttributes(const char** atts) override;
46
49 void WriteXML(ostream& of, int indent) override;
50
53 const char* GetNodeTagName() override { return "TransformStorage"; };
54
57 void Copy(vtkMRMLNode* node) override;
58
62
64 bool CanReadInReferenceNode(vtkMRMLNode* refNode) override;
65
73 vtkBooleanMacro(PreferITKv3CompatibleTransforms, int);
74
80
81protected:
86
90 virtual bool IsImageFile(const std::string& filename);
91
98 virtual void SetAndObserveTransformFromParentAutoInvert(vtkMRMLTransformNode* transformNode, vtkAbstractTransform* transform);
99
101 int ReadDataInternal(vtkMRMLNode* refNode) override;
102
108
117 virtual int ReadFromTransformFile(vtkMRMLNode* refNode);
118
123 virtual int ReadFromImageFile(vtkMRMLNode* refNode);
124
126 int WriteDataInternal(vtkMRMLNode* refNode) override;
127
130 virtual int WriteToTransformFile(vtkMRMLNode* refNode);
131
136 virtual int WriteToImageFile(vtkMRMLNode* refNode);
137
140
141protected:
143};
144
145#endif
MRML node for representing a transformation between this node space and a parent node space.
int ReadDataInternal(vtkMRMLNode *refNode) override
Read data and set it in the referenced node.
virtual int WriteToTransformFile(vtkMRMLNode *refNode)
virtual void SetAndObserveTransformFromParentAutoInvert(vtkMRMLTransformNode *transformNode, vtkAbstractTransform *transform)
virtual int WriteToImageFile(vtkMRMLNode *refNode)
void operator=(const vtkMRMLTransformStorageNode &)
vtkMRMLNode * CreateNodeInstance() override
Create instance of the default node. Like New only virtual.
virtual int ReadFromTransformFile(vtkMRMLNode *refNode)
static vtkMRMLTransformStorageNode * New()
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
static bool IsTransformFromParentStored(vtkMRMLTransformNode *transformNode)
void Copy(vtkMRMLNode *node) override
Copy the node's attributes to this object.
vtkMRMLTransformStorageNode(const vtkMRMLTransformStorageNode &)
void InitializeSupportedWriteFileTypes() override
Initialize all the supported write file types.
const char * GetNodeTagName() override
Get node XML tag name (like Storage, Transform)
virtual bool IsImageFile(const std::string &filename)
void PrintSelf(ostream &os, vtkIndent indent) override
virtual int ReadFromITKv3BSplineTransformFile(vtkMRMLNode *refNode)
bool CanReadInReferenceNode(vtkMRMLNode *refNode) override
Support only transform nodes.
static bool RegisterInverseTransformTypesCompleted
Flag to prevent repeated registration of ITK transforms.
int WriteDataInternal(vtkMRMLNode *refNode) override
Write data from a referenced node.
virtual int ReadFromImageFile(vtkMRMLNode *refNode)
void ReadXMLAttributes(const char **atts) override
Set node attributes.
~vtkMRMLTransformStorageNode() override