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>
88 m_PositionInObjectSpace = newPositionInObjectSpace;
91 template <
typename... TCoordinate>
95 static_assert((1 +
sizeof...(otherCoordinate)) == TPointDimension,
96 "The number of coordinates must be equal to the dimensionality!");
97 const double coordinates[] = { firstCoordinate, static_cast<double>(otherCoordinate)... };
98 m_PositionInObjectSpace = coordinates;
105 return m_PositionInObjectSpace;
111 m_SpatialObject = so;
117 return m_SpatialObject;
128 GetPositionInWorldSpace()
const;
145 SetColor(
double r,
double g,
double b,
double a = 1);
157 return m_Color.GetRed();
170 return m_Color.GetGreen();
183 return m_Color.GetBlue();
196 return m_Color.GetAlpha();
200 SetTagScalarValue(
const std::string & tag,
double value);
203 GetTagScalarValue(
const std::string & tag,
double & value)
const;
206 GetTagScalarValue(
const std::string & tag)
const;
208 std::map<std::string, double> &
209 GetTagScalarDictionary();
211 const std::map<std::string, double> &
212 GetTagScalarDictionary()
const;
215 SetTagScalarDictionary(
const std::map<std::string, double> & dict);
221 this->PrintSelf(os, 3);
227 PrintSelf(std::ostream & os,
Indent indent)
const;
239 std::map<std::string, double> m_ScalarDictionary{};
250 #ifndef ITK_MANUAL_INSTANTIATION
251 # include "itkSpatialObjectPoint.hxx"
254 #endif // itkSpatialObjectPoint_h