2D line without bounds, represented by its equation .
Definition at line 1160 of file lightweight_geom_data.h.
#include <mrpt/math/lightweight_geom_data.h>
Public Member Functions | |
double | evaluatePoint (const TPoint2D &point) const |
Evaluate point in the line's equation. More... | |
bool | contains (const TPoint2D &point) const |
Check whether a point is inside the line. More... | |
double | distance (const TPoint2D &point) const |
Distance from a given point. More... | |
double | signedDistance (const TPoint2D &point) const |
Distance with sign from a given point (sign indicates side). More... | |
void | getNormalVector (double(&vector)[2]) const |
Get line's normal vector. More... | |
void | unitarize () |
Unitarize line's normal vector. More... | |
void | getUnitaryNormalVector (double(&vector)[2]) |
Get line's normal vector after unitarizing line. More... | |
void | getDirectorVector (double(&vector)[2]) const |
Get line's director vector. More... | |
void | getUnitaryDirectorVector (double(&vector)[2]) |
Unitarize line and then get director vector. More... | |
void | generate3DObject (TLine3D &l) const |
Project into 3D space, setting the z to 0. More... | |
void | getAsPose2D (mrpt::poses::CPose2D &outPose) const |
Get a pose2D whose X axis corresponds to the line. More... | |
void | getAsPose2DForcingOrigin (const TPoint2D &origin, mrpt::poses::CPose2D &outPose) const |
Get a pose2D whose X axis corresponds to the line, forcing the base point to one given. More... | |
TLine2D (const TPoint2D &p1, const TPoint2D &p2) | |
Constructor from two points, through which the line will pass. More... | |
TLine2D (const TSegment2D &s) | |
Constructor from a segment. More... | |
TLine2D () | |
Fast default constructor. More... | |
TLine2D (double A, double B, double C) | |
Constructor from line's coefficients. More... | |
TLine2D (const TLine3D &l) | |
Construction from 3D object, discarding the Z. More... | |
Public Attributes | |
double | coefs [3] |
Line coefficients, stored as an array: . More... | |
Constructor from two points, through which the line will pass.
logic_error | if both points are the same |
Definition at line 625 of file lightweight_geom_data.cpp.
References coefs, mrpt::math::TPoint2D::x, and mrpt::math::TPoint2D::y.
|
explicit |
Constructor from a segment.
Definition at line 632 of file lightweight_geom_data.cpp.
References coefs.
|
inline |
Fast default constructor.
Initializes to garbage.
Definition at line 1240 of file lightweight_geom_data.h.
|
inline |
Constructor from line's coefficients.
Definition at line 1244 of file lightweight_geom_data.h.
References coefs.
|
explicit |
Construction from 3D object, discarding the Z.
std::logic_error | if the line is normal to the XY plane. |
Definition at line 639 of file lightweight_geom_data.cpp.
References coefs, mrpt::math::TLine3D::director, mrpt::math::getEpsilon(), mrpt::math::TLine3D::pBase, mrpt::math::TPoint3D::x, and mrpt::math::TPoint3D::y.
bool mrpt::math::TLine2D::contains | ( | const TPoint2D & | point | ) | const |
Check whether a point is inside the line.
Definition at line 569 of file lightweight_geom_data.cpp.
References distance(), and mrpt::math::getEpsilon().
Referenced by getAsPose2DForcingOrigin(), and mrpt::math::intersect().
double mrpt::math::TLine2D::distance | ( | const TPoint2D & | point | ) | const |
Distance from a given point.
Definition at line 573 of file lightweight_geom_data.cpp.
References coefs, and evaluatePoint().
Referenced by contains(), mrpt::math::distance(), and mrpt::vision::matchFeatures().
double mrpt::math::TLine2D::evaluatePoint | ( | const TPoint2D & | point | ) | const |
Evaluate point in the line's equation.
Definition at line 565 of file lightweight_geom_data.cpp.
References coefs, mrpt::math::TPoint2D::x, and mrpt::math::TPoint2D::y.
Referenced by distance(), mrpt::math::TPolygon2D::isConvex(), and signedDistance().
Project into 3D space, setting the z to 0.
Definition at line 598 of file lightweight_geom_data.cpp.
void mrpt::math::TLine2D::getAsPose2D | ( | mrpt::poses::CPose2D & | outPose | ) | const |
Get a pose2D whose X axis corresponds to the line.
Definition at line 599 of file lightweight_geom_data.cpp.
References coefs, mrpt::math::getEpsilon(), mrpt::poses::CPose2D::phi(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x(), and mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::y().
Referenced by mrpt::math::intersect(), and mrpt::math::project2D().
void mrpt::math::TLine2D::getAsPose2DForcingOrigin | ( | const TPoint2D & | origin, |
mrpt::poses::CPose2D & | outPose | ||
) | const |
Get a pose2D whose X axis corresponds to the line, forcing the base point to one given.
logic_error | if the point is not inside the line. |
Definition at line 616 of file lightweight_geom_data.cpp.
References coefs, contains(), and mrpt::poses::CPose2D::phi().
Referenced by mrpt::math::project2D().
void mrpt::math::TLine2D::getDirectorVector | ( | double(&) | vector[2] | ) | const |
Get line's director vector.
Definition at line 593 of file lightweight_geom_data.cpp.
References coefs.
Referenced by getUnitaryDirectorVector().
void mrpt::math::TLine2D::getNormalVector | ( | double(&) | vector[2] | ) | const |
Get line's normal vector.
Definition at line 583 of file lightweight_geom_data.cpp.
References coefs.
Referenced by getUnitaryNormalVector().
|
inline |
Unitarize line and then get director vector.
Definition at line 1206 of file lightweight_geom_data.h.
References getDirectorVector(), and unitarize().
|
inline |
Get line's normal vector after unitarizing line.
Definition at line 1194 of file lightweight_geom_data.h.
References getNormalVector(), and unitarize().
double mrpt::math::TLine2D::signedDistance | ( | const TPoint2D & | point | ) | const |
Distance with sign from a given point (sign indicates side).
Definition at line 578 of file lightweight_geom_data.cpp.
References coefs, and evaluatePoint().
Referenced by mrpt::math::TSegment2D::signedDistance().
void mrpt::math::TLine2D::unitarize | ( | ) |
Unitarize line's normal vector.
Definition at line 588 of file lightweight_geom_data.cpp.
References coefs.
Referenced by mrpt::math::getAngleBisector(), mrpt::math::getSegmentBisector(), getUnitaryDirectorVector(), and getUnitaryNormalVector().
double mrpt::math::TLine2D::coefs[3] |
Line coefficients, stored as an array: .
Definition at line 1166 of file lightweight_geom_data.h.
Referenced by mrpt::math::distance(), distance(), evaluatePoint(), EXPLICIT_INST_ransac_detect_3D_planes(), mrpt::math::getAngle(), mrpt::math::getAngleBisector(), getAsPose2D(), getAsPose2DForcingOrigin(), getDirectorVector(), getNormalVector(), mrpt::math::getRegressionLine(), mrpt::math::getSegmentBisector(), mrpt::math::intersect(), intersectInCommonLine(), mrpt::vision::matchFeatures(), mrpt::math::operator<<(), mrpt::math::operator>>(), mrpt::math::project2D(), signedDistance(), TLine2D(), mrpt::math::TLine3D::TLine3D(), and unitarize().
Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019 |