18 #ifndef itkSpatialObjectPoint_h
19 #define itkSpatialObjectPoint_h
24 #include "vnl/vnl_vector_fixed.h"
40 template <
unsigned int TDimension,
class TSpatialObjectPo
intType>
41 class PointBasedSpatialObject;
43 template <
unsigned int TPo
intDimension = 3>
63 return "SpatialObjectPoint";
92 m_PositionInObjectSpace = newPositionInObjectSpace;
95 template <
typename... TCoordinate>
99 static_assert((1 +
sizeof...(otherCoordinate)) == TPointDimension,
100 "The number of coordinates must be equal to the dimensionality!");
101 const double coordinates[] = { firstCoordinate, static_cast<double>(otherCoordinate)... };
102 m_PositionInObjectSpace = coordinates;
109 return m_PositionInObjectSpace;
115 m_SpatialObject = so;
121 return m_SpatialObject;
127 SetPositionInWorldSpace(
const PointType & point);
132 GetPositionInWorldSpace()
const;
153 SetColor(
double r,
double g,
double b,
double a = 1);
165 return m_Color.GetRed();
178 return m_Color.GetGreen();
191 return m_Color.GetBlue();
204 return m_Color.GetAlpha();
208 SetTagScalarValue(
const std::string & tag,
double value);
211 GetTagScalarValue(
const std::string & tag,
double & value)
const;
214 GetTagScalarValue(
const std::string & tag)
const;
216 std::map<std::string, double> &
217 GetTagScalarDictionary();
219 const std::map<std::string, double> &
220 GetTagScalarDictionary()
const;
223 SetTagScalarDictionary(
const std::map<std::string, double> & dict);
229 this->PrintSelf(os, 3);
235 PrintSelf(std::ostream & os,
Indent indent)
const;
258 #ifndef ITK_MANUAL_INSTANTIATION
259 # include "itkSpatialObjectPoint.hxx"
262 #endif // itkSpatialObjectPoint_h