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

3D Line More...

#include <line_3d.h>

Inheritance diagram for lass::prim::Line3D< T, NormalizingPolicy >:

Data Structures

struct  Rebind
 rebind to other value type More...
 

Public Member Functions

const TVectordirection () const
 Return direction of line.
 
void setDirection (const TVector &iDirection)
 Set direction and normalize it if that's the policy.
 
void lookAt (const TPoint &iLookAt)
 Set direction from support to look-at point.
 
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 on line by it's parameter.
 
const TValue t (const TPoint &iPoint) const
 Return parameter of point on the line that is the projection of the given point.
 
bool isValid () const
 Return true if line is valid (direction isn't a zero vector).
 

Detailed Description

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

3D Line

Author
Bram de Greve [BdG]
Date
3003

Definition at line 73 of file line_3d.h.

Member Function Documentation

◆ reject() [1/2]

template<typename T, class NP>
const Line3D< T, NP >::TVector lass::prim::Line3D< 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 148 of file line_3d.inl.

References reject().

Referenced by reject(), and reject().

◆ reject() [2/2]

template<typename T, class NP>
const Line3D< T, NP >::TVector lass::prim::Line3D< 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 161 of file line_3d.inl.

References project(), and reject().

◆ point()

template<typename T, class NP>
const Line3D< T, NP >::TPoint lass::prim::Line3D< T, NP >::point ( TParam iT) const

Return point on line by it's parameter.

Returns
support + t * direction

Definition at line 218 of file line_3d.inl.

References point().

Referenced by point().


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