58 mrpt::math::CArrayDouble<3> m_coords;
62 inline CPoint3D(const
double x=0,const
double y=0,const
double z=0) { m_coords[0]= x; m_coords[1]=y; m_coords[2]=z; }
71 explicit inline CPoint3D(
const CPose3D &p) { m_coords[0]=p.
x(); m_coords[1]=p.
y(); m_coords[2]=p.z(); }
74 explicit CPoint3D(
const CPose2D &p);
92 enum { is_3D_val = 1 };
93 static inline bool is_3D() {
return is_3D_val!=0; }
95 enum { is_PDF_val = 0 };
96 static inline bool is_PDF() {
return is_PDF_val!=0; }
110 static inline bool empty() {
return false; }
112 static inline void resize(
const size_t n) {
if (n!=
static_size)
throw std::logic_error(
format(
"Try to change the size of CPoint3D to %u.",static_cast<unsigned>(n))); }