57 throw std::out_of_range(
"index out of range");
70 throw std::out_of_range(
"index out of range");
void getCenter(TPoint2D &p) const
Segment's central point.
TSegment2D(const TPoint2D &p1, const TPoint2D &p2)
Constructor from both points.
double distance(const TPoint2D &point) const
Distance to point.
constexpr const TPoint2D & operator[](size_t i) const
Access to points using operator[0-1].
double length() const
Segment length.
mrpt::serialization::CArchive & operator>>(mrpt::serialization::CArchive &in, CMatrixD::Ptr &pObj)
double signedDistance(const TPoint2D &point) const
Distance with sign to point (sign indicates which side the point is).
This base provides a set of functions for maths stuff.
2D segment, consisting of two points.
3D segment, consisting of two points.
TSegment2D()=default
Fast default constructor.
#define MRPT_DECLARE_TTYPENAME_NO_NAMESPACE(_TYPE, __NS)
Declares a typename to be "type" (without the NS prefix)
bool operator<(const TSegment2D &s) const
TPoint2D point2
Destiny point.
TPoint2D & operator[](size_t i)
Access to points using operator[0-1].
bool contains(const TPoint2D &point) const
Check whether a point is inside a segment.
constexpr bool operator==(const TPoint2D_< T > &p1, const TPoint2D_< T > &p2)
Exact comparison between 2D points.
TPoint2D point1
Origin point.
constexpr bool operator!=(const TPoint2D_< T > &p1, const TPoint2D_< T > &p2)
Exact comparison between 2D points.
Virtual base class for "archives": classes abstracting I/O streams.
mrpt::vision::TStereoCalibResults out
mrpt::serialization::CArchive & operator<<(mrpt::serialization::CArchive &s, const CVectorFloat &a)
void generate3DObject(TSegment3D &s) const
Project into 3D space, setting the z to 0.