MRPT  1.9.9
mrpt::math::TLine3D Struct Reference

Detailed Description

3D line, represented by a base point and a director vector.

See also
TLine2D,TSegment3D,TPlane,TPolygon3D,TPoint3D

Definition at line 1244 of file lightweight_geom_data.h.

#include <mrpt/math/lightweight_geom_data.h>

Public Member Functions

bool contains (const TPoint3D &point) const
 Check whether a point is inside the line. More...
 
double distance (const TPoint3D &point) const
 Distance between the line and a point. More...
 
void unitarize ()
 Unitarize director vector. More...
 
void getDirectorVector (double(&vector)[3]) const
 Get director vector. More...
 
void getUnitaryDirectorVector (double(&vector)[3])
 Unitarize and then get director vector. More...
 
void generate2DObject (TLine2D &l) const
 Project into 2D space, discarding the Z coordinate. More...
 
 TLine3D (const TPoint3D &p1, const TPoint3D &p2)
 Constructor from two points, through which the line will pass. More...
 
 TLine3D (const TSegment3D &s)
 Constructor from 3D segment. More...
 
 TLine3D ()
 Fast default constructor. More...
 
 TLine3D (const TLine2D &l)
 Constructor from 2D object. More...
 

Public Attributes

TPoint3D pBase
 Base point. More...
 
double director [3]
 Director vector. More...
 

Constructor & Destructor Documentation

◆ TLine3D() [1/4]

mrpt::math::TLine3D::TLine3D ( const TPoint3D p1,
const TPoint3D p2 
)

Constructor from two points, through which the line will pass.

Exceptions
std::logic_errorif both points are the same.

Definition at line 779 of file lightweight_geom_data.cpp.

References director, mrpt::math::distance(), mrpt::math::getEpsilon(), pBase, mrpt::math::TPoint3D::x, mrpt::math::TPoint3D::y, and mrpt::math::TPoint3D::z.

◆ TLine3D() [2/4]

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

Constructor from 3D segment.

Definition at line 788 of file lightweight_geom_data.cpp.

References director, and pBase.

◆ TLine3D() [3/4]

mrpt::math::TLine3D::TLine3D ( )
inline

Fast default constructor.

Initializes to garbage.

Definition at line 1300 of file lightweight_geom_data.h.

◆ TLine3D() [4/4]

mrpt::math::TLine3D::TLine3D ( const TLine2D l)
explicit

Member Function Documentation

◆ contains()

bool mrpt::math::TLine3D::contains ( const TPoint3D point) const

◆ distance()

double mrpt::math::TLine3D::distance ( const TPoint3D point) const

Distance between the line and a point.

Definition at line 758 of file lightweight_geom_data.cpp.

References director, pBase, mrpt::math::TPoint3D::x, mrpt::math::TPoint3D::y, and mrpt::math::TPoint3D::z.

Referenced by mrpt::math::distance(), and mrpt::math::TSegment3D::distance().

◆ generate2DObject()

void mrpt::math::TLine3D::generate2DObject ( TLine2D l) const
inline

Project into 2D space, discarding the Z coordinate.

Exceptions
std::logic_errorif the line's director vector is orthogonal to the XY plane.

Definition at line 1287 of file lightweight_geom_data.h.

Referenced by intersect().

◆ getDirectorVector()

void mrpt::math::TLine3D::getDirectorVector ( double(&)  vector[3]) const
inline

Get director vector.

Definition at line 1270 of file lightweight_geom_data.h.

References director.

Referenced by getUnitaryDirectorVector().

◆ getUnitaryDirectorVector()

void mrpt::math::TLine3D::getUnitaryDirectorVector ( double(&)  vector[3])
inline

Unitarize and then get director vector.

Definition at line 1277 of file lightweight_geom_data.h.

References getDirectorVector(), and unitarize().

◆ unitarize()

void mrpt::math::TLine3D::unitarize ( )

Member Data Documentation

◆ director

◆ pBase




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