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>
89 m_PositionInObjectSpace = newPositionInObjectSpace;
92 template <
typename... TCoordinate>
96 static_assert((1 +
sizeof...(otherCoordinate)) == TPointDimension,
97 "The number of coordinates must be equal to the dimensionality!");
98 const double coordinates[] = { firstCoordinate, static_cast<double>(otherCoordinate)... };
99 m_PositionInObjectSpace = coordinates;
106 return m_PositionInObjectSpace;
112 m_SpatialObject = so;
118 return m_SpatialObject;
129 GetPositionInWorldSpace()
const;
150 SetColor(
double r,
double g,
double b,
double a = 1);
162 return m_Color.GetRed();
175 return m_Color.GetGreen();
188 return m_Color.GetBlue();
201 return m_Color.GetAlpha();
205 SetTagScalarValue(
const std::string & tag,
double value);
208 GetTagScalarValue(
const std::string & tag,
double & value)
const;
211 GetTagScalarValue(
const std::string & tag)
const;
213 std::map<std::string, double> &
214 GetTagScalarDictionary();
216 const std::map<std::string, double> &
217 GetTagScalarDictionary()
const;
220 SetTagScalarDictionary(
const std::map<std::string, double> & dict);
226 this->PrintSelf(os, 3);
232 PrintSelf(std::ostream & os,
Indent indent)
const;
244 std::map<std::string, double> m_ScalarDictionary{};
255 #ifndef ITK_MANUAL_INSTANTIATION
256 # include "itkSpatialObjectPoint.hxx"
259 #endif // itkSpatialObjectPoint_h