Library of Assembled Shared Sources
lass::prim::impl::Line2DParametric< T, NormalizingPolicy > Class Template Reference

implementation of 2d line with parametric equation. More...

#include <line_2d_parametric.h>

Inheritance diagram for lass::prim::impl::Line2DParametric< T, NormalizingPolicy >:

Public Member Functions

 Line2DParametric ()
 initializes to an invalid state.
 
 Line2DParametric (const TPoint &iSupport, const TPoint &iPoint)
 Construct a line through three points.
 
 Line2DParametric (const TPoint &iSupport, const TVector &iDir)
 construct a line through a support point and by two direction vectors.
 
 Line2DParametric (const TVector &iNormal, const TPoint &iSupport)
 Construct a line through a support point and by a normal vector.
 
 Line2DParametric (const TVector &iNormal, TParam iD)
 Construct a line by a cartesian equation N.P + d == 0.
 
const TPoint & support () const
 return support point.
 
const TVectordirection () const
 return 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.
 
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 to the line
 
const TPoint point (TParam iT) const
 return point by filling in the parametric equation: P(t) = S + t * U
 
const TValue t (const TPoint &iPoint) const
 return UV pair of parameters
 
bool isValid () const
 return true if line is a valid line (no normal or direction vectors that are zero).
 

Detailed Description

template<typename T, class NormalizingPolicy = Normalized>
class lass::prim::impl::Line2DParametric< T, NormalizingPolicy >

implementation of 2d line with parametric equation.

Author
Bram de Greve [BdG]

Definition at line 65 of file line_2d_parametric.h.

Constructor & Destructor Documentation

◆ Line2DParametric() [1/4]

template<typename T, class NP>
lass::prim::impl::Line2DParametric< T, NP >::Line2DParametric ( const TPoint & iSupport,
const TPoint & iPoint )

Construct a line through three points.

  • support point S is given by the first point iSupport.
  • direction vector U is choosen from iSupport to iPointU and iPointV respectively (U = iPoint - iSupport).

Definition at line 78 of file line_2d_parametric.inl.

◆ Line2DParametric() [2/4]

template<typename T, class NP>
lass::prim::impl::Line2DParametric< T, NP >::Line2DParametric ( const TPoint & iSupport,
const TVector & iDirection )

construct a line through a support point and by two direction vectors.

  • support point S is given by the point iSupport.
  • direction vector U is given by iDirection.

Definition at line 92 of file line_2d_parametric.inl.

◆ Line2DParametric() [3/4]

template<typename T, class NP>
lass::prim::impl::Line2DParametric< T, NP >::Line2DParametric ( const TVector & iNormal,
const TPoint & iSupport )

Construct a line through a support point and by a normal vector.

  • support point S is given by the point iSupport.
  • direction vector U is automatically generated so that iNormal is perp of U.

Definition at line 106 of file line_2d_parametric.inl.

◆ Line2DParametric() [4/4]

template<typename T, class NP>
lass::prim::impl::Line2DParametric< T, NP >::Line2DParametric ( const TVector & iNormal,
TParam iD )

Construct a line by a cartesian equation N.P + d == 0.

  • support point S automatically generated so that iNormal.S + iD == 0.
  • direction vector U is automatically generated so that iNormal is perp of U.

Definition at line 120 of file line_2d_parametric.inl.

Member Function Documentation

◆ reject() [1/2]

template<typename T, class NP>
const Line2DParametric< T, NP >::TVector lass::prim::impl::Line2DParametric< 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 214 of file line_2d_parametric.inl.

References reject().

Referenced by reject().

◆ reject() [2/2]

template<typename T, class NP>
const Line2DParametric< T, NP >::TVector lass::prim::impl::Line2DParametric< 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 227 of file line_2d_parametric.inl.


The documentation for this class was generated from the following files: