Struct TSegment2D

Inheritance Relationships

Base Type

  • public mrpt::Stringifyable

Struct Documentation

struct TSegment2D : public mrpt::Stringifyable

2D segment, consisting of two points.

Public Functions

inline TSegment2D(const TPoint2D &p1, const TPoint2D &p2)

Constructor from both points

TSegment2D() = default

Fast default constructor. Initializes to (0,0)-(0,0)

explicit TSegment2D(const TSegment3D &s)

Explicit constructor from 3D object, discarding the z.

double length() const

Segment length.

double distance(const TPoint2D &point) const

Absolute distance to point.

double signedDistance(const TPoint2D &point) const

Distance with sign to point (sign indicates which side the point is)

bool contains(const TPoint2D &point) const

Check whether a point is inside a segment.

inline TPoint2D &operator[](size_t i)

Access to points using operator[0-1]

inline constexpr const TPoint2D &operator[](size_t i) const

Access to points using operator[0-1]

void generate3DObject(TSegment3D &s) const

Project into 3D space, setting the z to 0.

inline void getCenter(TPoint2D &p) const

Segment’s central point.

bool operator<(const TSegment2D &s) const
virtual std::string asString() const override

Public Members

TPoint2D point1

Origin point.

TPoint2D point2

Destiny point.

Public Static Functions

static inline TSegment2D FromPoints(const TPoint2D &p1, const TPoint2D &p2)

Static method, returns segment from two points.