46 inline CPoint2D(
double x=0,
double y=0) { m_coords[0]=
x; m_coords[1]=
y; }
49 template <
class OTHERCLASS>
67 enum { is_3D_val = 0 };
68 static inline bool is_3D() {
return is_3D_val!=0; }
69 enum { is_PDF_val = 0 };
70 static inline bool is_PDF() {
return is_PDF_val!=0; }
83 static inline bool empty() {
return false; }
85 static inline void resize(
const size_t n) {
if (
n!=
static_size)
throw std::logic_error(
format(
"Try to change the size of CPoint2D to %u.",static_cast<unsigned>(
n))); }
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
#define DEFINE_SERIALIZABLE_PRE(class_name)
This declaration must be inserted in all CSerializable classes definition, before the class declarati...
static void resize(const size_t n)
CPoint2D(const CPoseOrPoint< OTHERCLASS > &b)
Constructor from x/y coordinates given from other pose.
mrpt::math::CArrayDouble< 2 > m_coords
[x,y]
CPoint2D(const mrpt::math::TPoint2D &o)
Implicit constructor from lightweight type.
A base class for representing a point in 2D or 3D.
CPose2D BASE_IMPEXP operator-(const CPose2D &p)
Unary - operator: return the inverse pose "-p" (Note that is NOT the same than a pose with negative x...
static size_type max_size()
std::string BASE_IMPEXP format(const char *fmt,...) MRPT_printf_format_check(1
A std::string version of C sprintf.
CPoint2D(double x=0, double y=0)
Constructor for initializing point coordinates.
The base template class for 2D & 3D points and poses.
A class used to store a 2D point.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
std::ptrdiff_t difference_type
A class used to store a 2D pose, including the 2D coordinate point and a heading (phi) angle...
double value_type
The type of the elements.
CPoint2D(const mrpt::math::TPoint3D &o)
Explicit constructor from lightweight type (loses the z coord).
#define DEFINE_SERIALIZABLE_POST(class_name)
const double & const_reference