MRPT  1.9.9
mrpt::math::TSegment2D Struct Reference

Detailed Description

2D segment, consisting of two points.

See also
TSegment3D,TLine2D,TPolygon2D,TPoint2D

Definition at line 958 of file lightweight_geom_data.h.

#include <mrpt/math/lightweight_geom_data.h>

Public Member Functions

double length () const
 Segment length. More...
 
double distance (const TPoint2D &point) const
 Distance to point. More...
 
double signedDistance (const TPoint2D &point) const
 Distance with sign to point (sign indicates which side the point is). More...
 
bool contains (const TPoint2D &point) const
 Check whether a point is inside a segment. More...
 
TPoint2Doperator[] (size_t i)
 Access to points using operator[0-1]. More...
 
constexpr const TPoint2Doperator[] (size_t i) const
 Access to points using operator[0-1]. More...
 
void generate3DObject (TSegment3D &s) const
 Project into 3D space, setting the z to 0. More...
 
void getCenter (TPoint2D &p) const
 Segment's central point. More...
 
 TSegment2D (const TPoint2D &p1, const TPoint2D &p2)
 Constructor from both points. More...
 
 TSegment2D ()
 Fast default constructor. More...
 
 TSegment2D (const TSegment3D &s)
 Explicit constructor from 3D object, discarding the z. More...
 
bool operator< (const TSegment2D &s) const
 

Public Attributes

TPoint2D point1
 Origin point. More...
 
TPoint2D point2
 Destiny point. More...
 

Constructor & Destructor Documentation

◆ TSegment2D() [1/3]

mrpt::math::TSegment2D::TSegment2D ( const TPoint2D p1,
const TPoint2D p2 
)
inline

Constructor from both points.

Definition at line 1026 of file lightweight_geom_data.h.

◆ TSegment2D() [2/3]

mrpt::math::TSegment2D::TSegment2D ( )
inline

Fast default constructor.

Initializes to garbage.

Definition at line 1032 of file lightweight_geom_data.h.

◆ TSegment2D() [3/3]

mrpt::math::TSegment2D::TSegment2D ( const TSegment3D s)
explicit

Explicit constructor from 3D object, discarding the z.

Definition at line 536 of file lightweight_geom_data.cpp.

References point1, and point2.

Member Function Documentation

◆ contains()

bool mrpt::math::TSegment2D::contains ( const TPoint2D point) const

Check whether a point is inside a segment.

Definition at line 527 of file lightweight_geom_data.cpp.

References mrpt::math::distance(), mrpt::math::getEpsilon(), point1, and point2.

Referenced by mrpt::math::intersect(), and intersect().

◆ distance()

double mrpt::math::TSegment2D::distance ( const TPoint2D point) const

◆ generate3DObject()

void mrpt::math::TSegment2D::generate3DObject ( TSegment3D s) const

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

Definition at line 532 of file lightweight_geom_data.cpp.

◆ getCenter()

void mrpt::math::TSegment2D::getCenter ( TPoint2D p) const
inline

Segment's central point.

Definition at line 1018 of file lightweight_geom_data.h.

References point1, point2, mrpt::math::TPoint2D::x, and mrpt::math::TPoint2D::y.

Referenced by mrpt::math::getSegmentBisector().

◆ length()

double mrpt::math::TSegment2D::length ( ) const

Segment length.

Definition at line 500 of file lightweight_geom_data.cpp.

References mrpt::math::distance(), point1, and point2.

Referenced by signedDistance().

◆ operator<()

bool mrpt::math::TSegment2D::operator< ( const TSegment2D s) const

Definition at line 544 of file lightweight_geom_data.cpp.

References point1, and point2.

◆ operator[]() [1/2]

TPoint2D& mrpt::math::TSegment2D::operator[] ( size_t  i)
inline

Access to points using operator[0-1].

Definition at line 986 of file lightweight_geom_data.h.

References point1, and point2.

◆ operator[]() [2/2]

constexpr const TPoint2D& mrpt::math::TSegment2D::operator[] ( size_t  i) const
inline

Access to points using operator[0-1].

Definition at line 999 of file lightweight_geom_data.h.

References point1, and point2.

◆ signedDistance()

double mrpt::math::TSegment2D::signedDistance ( const TPoint2D point) const

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

Definition at line 505 of file lightweight_geom_data.cpp.

References mrpt::math::distance(), length(), min, point1, point2, mrpt::math::TLine2D::signedDistance(), and mrpt::square().

Referenced by distance().

Member Data Documentation

◆ point1

◆ point2




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 7d5e6d718 Fri Aug 24 01:51:28 2018 +0200 at lun nov 2 08:35:50 CET 2020