Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkMRMLMarkupsFiducialNode.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Program: 3D Slicer
4
5 Portions (c) Copyright Brigham and Women's Hospital (BWH) All Rights Reserved.
6
7 See COPYRIGHT.txt
8 or http://www.slicer.org/copyright/copyright.txt for details.
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16==============================================================================*/
17
18#ifndef __vtkMRMLMarkupsFiducialNode_h
19#define __vtkMRMLMarkupsFiducialNode_h
20
21// MRML includes
23
24// Markups includes
25#include "vtkMRMLExport.h"
27#include "vtkMRMLMarkupsNode.h"
28
37class VTK_MRML_EXPORT vtkMRMLMarkupsFiducialNode : public vtkMRMLMarkupsNode
38{
39public:
43 void PrintSelf(ostream& os, vtkIndent indent) override;
44
45 const char* GetIcon() override {return ":/Icons/MarkupsFiducial.png";}
46 const char* GetAddIcon() override {return ":/Icons/MarkupsFiducialMouseModePlace.png";}
47 const char* GetPlaceAddIcon() override {return ":/Icons/MarkupsFiducialMouseModePlaceAdd.png";}
48
49 //--------------------------------------------------------------------------
50 // MRMLNode methods
51 //--------------------------------------------------------------------------
52
54
56 const char* GetNodeTagName() override {return "MarkupsFiducial";}
57
59 const char* GetMarkupType() override {return "Fiducial";};
60
62 void ReadXMLAttributes( const char** atts) override;
63
65 void WriteXML(ostream& of, int indent) override;
66
70
80
85
88
89 //-----------------------------------------------------------
90 // All public methods below are deprecated
91 //
92 // These methods are either deprecated because they use old terms (markup instead of control point),
93 // or include "array", "vector", "pointer" in the name (it is redundant, as input arguments can be
94 // deduced from the type; and return type for vectors is always vtkVectorNd).
95 //
96
99 {
100 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::GetNumberOfFiducials method is deprecated, please use GetNumberOfControlPoints instead");
101 return this->GetNumberOfControlPoints();
102 };
103
104 int AddFiducial(double x, double y, double z, std::string label = std::string())
105 {
106 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::AddFiducial method is deprecated, please use AddControlPoint instead");
107 return this->AddControlPoint(vtkVector3d(x, y, z), label);
108 }
109
111 int AddFiducialFromArray(double pos[3], std::string label = std::string())
112 {
113 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::AddFiducialFromArray method is deprecated, please use AddControlPoint instead");
114 return this->AddControlPoint(pos, label);
115 }
116
117 void GetNthFiducialPosition(int n, double pos[3])
118 {
119 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::GetNthFiducialPosition method is deprecated, please use GetNthControlPointPosition instead");
120 this->GetNthControlPointPosition(n, pos);
121 }
122
123 void SetNthFiducialPosition(int n, double x, double y, double z)
124 {
125 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::SetNthFiducialPosition method is deprecated, please use SetNthControlPointPosition instead");
126 this->SetNthControlPointPosition(n, x, y, z);
127 };
128
129 void SetNthFiducialPositionFromArray(int n, double pos[3])
130 {
131 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::SetNthFiducialPositionFromArray method is deprecated, please use SetNthControlPointPositionFromArray instead");
133 };
134
136 {
137 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::GetNthFiducialSelected method is deprecated, please use GetNthControlPointSelected instead");
138 return this->GetNthControlPointSelected(n);
139 };
140
141 void SetNthFiducialSelected(int n, bool flag)
142 {
143 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::SetNthFiducialSelected method is deprecated, please use SetNthControlPointSelected instead");
144 this->SetNthControlPointSelected(n, flag);
145 };
146
147 bool GetNthFiducialLocked(int n = 0)
148 {
149 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::GetNthFiducialLocked method is deprecated, please use GetNthControlPointLocked instead");
150 return this->GetNthControlPointLocked(n);
151 };
152
153 void SetNthFiducialLocked(int n, bool flag)
154 {
155 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::SetNthFiducialLocked method is deprecated, please use SetNthControlPointLocked instead");
156 this->SetNthControlPointLocked(n, flag);
157 };
158
160 {
161 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::GetNthFiducialVisibility method is deprecated, please use GetNthControlPointVisibility instead");
162 return this->GetNthControlPointVisibility(n);
163 };
164
165 void SetNthFiducialVisibility(int n, bool flag)
166 {
167 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::SetNthFiducialVisibility method is deprecated, please use SetNthControlPointVisibility instead");
168 this->SetNthControlPointVisibility(n, flag);
169 };
170
171 std::string GetNthFiducialLabel(int n = 0)
172 {
173 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::GetNthFiducialLabel method is deprecated, please use GetNthControlPointLabel instead");
174 return this->GetNthControlPointLabel(n);
175 };
176
177 void SetNthFiducialLabel(int n, std::string label)
178 {
179 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::SetNthFiducialLabel method is deprecated, please use SetNthControlPointLabel instead");
180 this->SetNthControlPointLabel(n, label);
181 };
182
183 std::string GetNthFiducialAssociatedNodeID(int n = 0)
184 {
185 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::GetNthFiducialAssociatedNodeID method is deprecated, please use GetNthControlPointAssociatedNodeID instead");
187 };
188
189 void SetNthFiducialAssociatedNodeID(int n, const char* id)
190 {
191 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::SetNthFiducialAssociatedNodeID method is deprecated, please use SetNthControlPointAssociatedNodeID instead");
192 this->SetNthControlPointAssociatedNodeID(n, (id ? std::string(id) : ""));
193 };
194
195 void SetNthFiducialWorldCoordinates(int n, double coords[4])
196 {
197 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::SetNthFiducialWorldCoordinates method is deprecated, please use SetNthControlPointPositionWorld instead");
198 this->SetNthControlPointPositionWorld(n, coords[0], coords[1], coords[2]);
199 };
200
201 void GetNthFiducialWorldCoordinates(int n, double coords[4])
202 {
203 vtkWarningMacro("vtkMRMLMarkupsFiducialNode::GetNthFiducialWorldCoordinates method is deprecated, please use GetNthControlPointPositionWorld instead");
204 this->GetNthControlPointPositionWorld(n, coords);
205 };
206
207protected:
212
213};
214
215#endif
void SetNthFiducialWorldCoordinates(int n, double coords[4])
void GetNthFiducialWorldCoordinates(int n, double coords[4])
void SetNthFiducialPositionFromArray(int n, double pos[3])
std::string GetNthFiducialAssociatedNodeID(int n=0)
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
void operator=(const vtkMRMLMarkupsFiducialNode &)
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML file.
void SetNthFiducialLabel(int n, std::string label)
const char * GetPlaceAddIcon() override
vtkMRMLMarkupsFiducialNode(const vtkMRMLMarkupsFiducialNode &)
vtkMRMLCopyContentMacro(vtkMRMLMarkupsFiducialNode)
int AddFiducial(double x, double y, double z, std::string label=std::string())
const char * GetMarkupType() override
Get markup type internal name.
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
void SetNthFiducialLocked(int n, bool flag)
static vtkMRMLMarkupsFiducialNode * New()
~vtkMRMLMarkupsFiducialNode() override
void SetNthFiducialPosition(int n, double x, double y, double z)
void SetNthFiducialAssociatedNodeID(int n, const char *id)
void SetNthFiducialVisibility(int n, bool flag)
void PrintSelf(ostream &os, vtkIndent indent) override
Print out the node information to the output stream.
void GetNthFiducialPosition(int n, double pos[3])
void SetNthFiducialSelected(int n, bool flag)
void CreateDefaultDisplayNodes() override
Create and observe default display node(s)
int AddFiducialFromArray(double pos[3], std::string label=std::string())
vtkMRMLNode * CreateNodeInstance() override
MRMLNode methods.
int GetNthControlPointPositionWorld(int pointIndex, double worldxyz[3])
bool GetNthControlPointSelected(int n=0)
void SetNthControlPointAssociatedNodeID(int n, std::string id)
void SetNthControlPointVisibility(int n, bool flag)
bool GetNthControlPointLocked(int n=0)
void SetNthControlPointPosition(const int pointIndex, const double x, const double y, const double z, int positionStatus=PositionDefined)
Set of the Nth control point position from coordinates.
void GetNthControlPointPosition(int pointIndex, double point[3])
void SetNthControlPointPositionFromArray(const int pointIndex, const double pos[3], int positionStatus=PositionDefined)
bool GetNthControlPointVisibility(int n=0)
std::string GetNthControlPointLabel(int n=0)
void SetNthControlPointSelected(int n, bool flag)
std::string GetNthControlPointAssociatedNodeID(int n=0)
void SetNthControlPointPositionWorld(const int pointIndex, const double x, const double y, const double z, int positionStatus=PositionDefined)
void SetNthControlPointLabel(int n, std::string label)
int GetNumberOfControlPoints()
Return the number of control points that are stored in this node.
int AddControlPoint(vtkVector3d point, std::string label=std::string())
void SetNthControlPointLocked(int n, bool flag)
Abstract Superclass for all specific types of MRML nodes.