Library of Assembled Shared Sources
|
implementation of 2d line with both cartesian and parametric equation. More...
#include <line_2d_cartesian.h>
Public Member Functions | |
Line2DCartesian () | |
initializes to an invalid state. | |
Line2DCartesian (const TPoint &iSupport, const TPoint &iPoint) | |
Construct a line through three points. | |
Line2DCartesian (const TPoint &iSupport, const TVector &iDirection) | |
construct a line through a support point and by two direction vectors. | |
Line2DCartesian (const TVector &iNormal, const TPoint &iSupport) | |
Construct a line through a support point and by a normal vector. | |
Line2DCartesian (const TVector &iNormal, TParam iD) | |
Construct a line by a cartesian equation N.P + d == 0. | |
const TPoint | support () const |
return generated support point. | |
const TVector | direction () const |
return generated direction vector. | |
const TValue | equation (const TPoint &iPoint) const |
Return value of point in equation. | |
const TValue | equation (const TPoint &iPoint, TParam iRelativeTolerance) const |
Return value of point in equation, snapped to zero by iRelativeTolerance. | |
const TVector | reject (const TPoint &iPoint) const |
return the vector that, if added to the PROJECTION of iPoint, you get iPoint again. | |
const TVector | reject (const TVector &iVector) const |
return the part of iVector that is orthogonal to the line. | |
const TPoint | project (const TPoint &iPoint) const |
project a point orthogonally onto the line | |
const TVector | project (const TVector &iVector) const |
project a vector orthogonally onto the line | |
const TPoint | reflect (const TPoint &iPoint) const |
reflect a point orthogonally into the line. | |
const TVector | reflect (const TVector &iVector) const |
reflect a vector orthogonally into the line | |
const TPoint | point (TParam iT) const |
return point by filling in parameter in generated parametric equation | |
const TValue | t (const TPoint &iPoint) const |
return parameter along generated paremetric equation. | |
bool | isValid () const |
return true if line is a valid line (no normal or direction vectors that are zero). | |
implementation of 2d line with both cartesian and parametric equation.
Definition at line 65 of file line_2d_cartesian.h.
lass::prim::impl::Line2DCartesian< T, NP >::Line2DCartesian | ( | const TPoint & | iSupport, |
const TPoint & | iPoint ) |
Construct a line through three points.
Definition at line 80 of file line_2d_cartesian.inl.
lass::prim::impl::Line2DCartesian< T, NP >::Line2DCartesian | ( | const TPoint & | iSupport, |
const TVector & | iDirection ) |
construct a line through a support point and by two direction vectors.
Definition at line 96 of file line_2d_cartesian.inl.
lass::prim::impl::Line2DCartesian< T, NP >::Line2DCartesian | ( | const TVector & | iNormal, |
const TPoint & | iSupport ) |
Construct a line through a support point and by a normal vector.
Definition at line 112 of file line_2d_cartesian.inl.
lass::prim::impl::Line2DCartesian< T, NP >::Line2DCartesian | ( | const TVector & | iNormal, |
TParam | iD ) |
Construct a line by a cartesian equation N.P + d == 0.
Definition at line 128 of file line_2d_cartesian.inl.
const Line2DCartesian< T, NP >::TPoint lass::prim::impl::Line2DCartesian< T, NP >::support | ( | ) | const |
return generated support point.
Definition at line 141 of file line_2d_cartesian.inl.
Referenced by lass::prim::Line2D< T, EquationPolicy, NormalizingPolicy >::distance(), lass::prim::Line2D< T, EquationPolicy, NormalizingPolicy >::intersect(), point(), and t().
const Line2DCartesian< T, NP >::TVector lass::prim::impl::Line2DCartesian< T, NP >::reject | ( | const TPoint & | iPoint | ) | const |
return the vector that, if added to the PROJECTION of iPoint, you get iPoint again.
iPoint == (almost) project(iPoint) + reject(iPoint)
Definition at line 211 of file line_2d_cartesian.inl.
References equation().
Referenced by project(), project(), reflect(), and reflect().
const Line2DCartesian< T, NP >::TVector lass::prim::impl::Line2DCartesian< T, NP >::reject | ( | const TVector & | iVector | ) | const |
return the part of iVector that is orthogonal to the line.
it's the vector that, if added to the PROJECTION of iVector, you get iVector again. iVector == (almost) project(iVector) + reject(iVector).
Definition at line 224 of file line_2d_cartesian.inl.