library of assembled shared sources |
http://lass.cocamware.com |
#include <plane_3d_combined.h>
Public Types | |
enum | { dimension = TPoint::dimension } |
typedef NormalizingPolicy | TNormalizingPolicy |
typedef Point3D< T > | TPoint |
typedef TPoint::TVector | TVector |
typedef Point2D< T > | TUV |
typedef TPoint::TValue | TValue |
typedef TPoint::TParam | TParam |
typedef TPoint::TReference | TReference |
typedef TPoint::TConstReference | TConstReference |
typedef TPoint::TNumTraits | TNumTraits |
Public Member Functions | |
Plane3DCombined () | |
initializes to an invalid state. | |
Plane3DCombined (const TPoint &iSupport, const TPoint &iPointU, const TPoint &iPointV) | |
Construct a plane through three points. | |
Plane3DCombined (const TPoint &iSupport, const TVector &iDirectionU, const TVector &iDirectionV) | |
construct a plane through a support point and by two direction vectors. | |
Plane3DCombined (const TVector &iNormal, const TPoint &iSupport) | |
Construct a plane through a support point and by a normal vector. | |
Plane3DCombined (const TVector &iNormal, TParam iD) | |
Construct a plane by a cartesian equation N.P + d == 0. | |
const TPoint & | support () const |
return support point. | |
void | getDirections (TVector &oDirectionU, TVector &oDirectionV) const |
return U and V direction vectors | |
const TVector & | directionU () const |
return U direction vector. | |
const TVector & | directionV () const |
return V direction vector. | |
void | getReciprocals (TVector &oReciprocalU, TVector &oReciprocalV) const |
return reciprocal vectors for U and V direction vectors | |
const TVector & | reciprocalU () const |
return reciprocal for U direction vector. | |
const TVector & | reciprocalV () const |
return reciprocal for V direction vector. | |
void | getCartesian (TVector &oNormal, TReference oD) const |
const TVector & | normal () const |
const TParam | d () const |
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 plane. | |
const TPoint | project (const TPoint &iPoint) const |
project a point orthogonally onto the plane | |
const TVector | project (const TVector &iVector) const |
project a vector orthogonally onto the plane | |
const TPoint | reflect (const TPoint &iPoint) const |
reflect a point orthogonally into the plane. | |
const TVector | reflect (const TVector &iVector) const |
reflect a vector orthogonally into the plane | |
const TPoint | point (TParam iU, TParam iV) const |
return point by filling in the parametric equation: P(u, v) = S + u * U + v * V | |
const TPoint | point (const TUV &iUV) const |
return point by filling in the parametric equation: P(u, v) = S + u * U + v * V | |
const TUV | uv (const TPoint &iPoint) const |
return UV pair of parameters | |
void | flip () |
const bool | isValid () const |
return true if plane is a valid plane (no normal or direction vectors that are zero). | |
Private Attributes | |
TPoint | support_ |
TVector | directionU_ |
TVector | directionV_ |
TVector | reciprocalU_ |
TVector | reciprocalV_ |
TVector | normal_ |
TValue | d_ |
Definition at line 67 of file plane_3d_combined.h.
typedef NormalizingPolicy lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::TNormalizingPolicy |
Definition at line 71 of file plane_3d_combined.h.
typedef Point3D<T> lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::TPoint |
Definition at line 73 of file plane_3d_combined.h.
typedef TPoint::TVector lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::TVector |
Definition at line 74 of file plane_3d_combined.h.
typedef Point2D<T> lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::TUV |
Definition at line 75 of file plane_3d_combined.h.
typedef TPoint::TValue lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::TValue |
Definition at line 77 of file plane_3d_combined.h.
typedef TPoint::TParam lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::TParam |
Definition at line 78 of file plane_3d_combined.h.
typedef TPoint::TReference lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::TReference |
Definition at line 79 of file plane_3d_combined.h.
typedef TPoint::TConstReference lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::TConstReference |
Definition at line 80 of file plane_3d_combined.h.
typedef TPoint::TNumTraits lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::TNumTraits |
Definition at line 81 of file plane_3d_combined.h.
anonymous enum |
lass::prim::impl::Plane3DCombined< T, NP >::Plane3DCombined | ( | ) | [inline] |
initializes to an invalid state.
Definition at line 63 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::isValid(), and LASS_ASSERT.
lass::prim::impl::Plane3DCombined< T, NP >::Plane3DCombined | ( | const TPoint & | iSupport, | |
const TPoint & | iPointU, | |||
const TPoint & | iPointV | |||
) | [inline] |
Construct a plane through three points.
Definition at line 85 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::d_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionU_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionV_, lass::prim::impl::Plane3DImplDetail::generateCartesian(), lass::prim::impl::Plane3DImplDetail::generateReciprocal(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::normal_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalU_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalV_, and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::support_.
lass::prim::impl::Plane3DCombined< T, NP >::Plane3DCombined | ( | const TPoint & | iSupport, | |
const TVector & | iDirectionU, | |||
const TVector & | iDirectionV | |||
) | [inline] |
construct a plane through a support point and by two direction vectors.
Definition at line 108 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::d_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionU_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionV_, lass::prim::impl::Plane3DImplDetail::generateCartesian(), lass::prim::impl::Plane3DImplDetail::generateReciprocal(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::normal_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalU_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalV_, and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::support_.
lass::prim::impl::Plane3DCombined< T, NP >::Plane3DCombined | ( | const TVector & | iNormal, | |
const TPoint & | iSupport | |||
) | [inline] |
Construct a plane through a support point and by a normal vector.
Definition at line 131 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::d_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionU_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionV_, lass::prim::impl::Plane3DImplDetail::generateDirections(), lass::prim::impl::Plane3DImplDetail::generateReciprocal(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::normal_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalU_, and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalV_.
lass::prim::impl::Plane3DCombined< T, NP >::Plane3DCombined | ( | const TVector & | iNormal, | |
TParam | iD | |||
) | [inline] |
Construct a plane by a cartesian equation N.P + d == 0.
Definition at line 152 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::d_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionU_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionV_, lass::prim::impl::Plane3DImplDetail::generateDirections(), lass::prim::impl::Plane3DImplDetail::generateReciprocal(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::normal_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalU_, and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalV_.
const Plane3DCombined< T, NP >::TPoint & lass::prim::impl::Plane3DCombined< T, NP >::support | ( | ) | const [inline] |
return support point.
Definition at line 169 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::support_.
void lass::prim::impl::Plane3DCombined< T, NP >::getDirections | ( | TVector & | oDirectionU, | |
TVector & | oDirectionV | |||
) | const [inline] |
return U and V direction vectors
Definition at line 179 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionU_, and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionV_.
const Plane3DCombined< T, NP >::TVector & lass::prim::impl::Plane3DCombined< T, NP >::directionU | ( | ) | const [inline] |
return U direction vector.
Definition at line 190 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionU_.
const Plane3DCombined< T, NP >::TVector & lass::prim::impl::Plane3DCombined< T, NP >::directionV | ( | ) | const [inline] |
return V direction vector.
Definition at line 200 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionV_.
void lass::prim::impl::Plane3DCombined< T, NP >::getReciprocals | ( | TVector & | oReciprocalU, | |
TVector & | oReciprocalV | |||
) | const [inline] |
return reciprocal vectors for U and V direction vectors
Definition at line 210 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalU_, and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalV_.
const Plane3DCombined< T, NP >::TVector & lass::prim::impl::Plane3DCombined< T, NP >::reciprocalU | ( | ) | const [inline] |
return reciprocal for U direction vector.
Definition at line 222 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalU_.
const Plane3DCombined< T, NP >::TVector & lass::prim::impl::Plane3DCombined< T, NP >::reciprocalV | ( | ) | const [inline] |
return reciprocal for V direction vector.
Definition at line 232 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalV_.
void lass::prim::impl::Plane3DCombined< T, NP >::getCartesian | ( | TVector & | oNormal, | |
TReference | oD | |||
) | const [inline] |
Definition at line 240 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::d_, and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::normal_.
const Plane3DCombined< T, NP >::TVector & lass::prim::impl::Plane3DCombined< T, NP >::normal | ( | ) | const [inline] |
Definition at line 249 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::normal_.
const Plane3DCombined< T, NP >::TParam lass::prim::impl::Plane3DCombined< T, NP >::d | ( | ) | const [inline] |
Definition at line 257 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::d_.
Referenced by lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::equation().
const Plane3DCombined< T, NP >::TValue lass::prim::impl::Plane3DCombined< T, NP >::equation | ( | const TPoint & | iPoint | ) | const [inline] |
Return value of point in equation.
Definition at line 268 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::d_, lass::prim::dot(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::normal_, and lass::prim::Point3D< T >::position().
Referenced by lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reject().
const Plane3DCombined< T, NP >::TValue lass::prim::impl::Plane3DCombined< T, NP >::equation | ( | const TPoint & | iPoint, | |
TParam | iRelativeTolerance | |||
) | const [inline] |
Return value of point in equation.
Definition at line 279 of file plane_3d_combined.inl.
References lass::num::almostEqual(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::d(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::d_, lass::prim::dot(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::normal_, lass::prim::Point3D< T >::position(), and lass::num::NumTraits< C >::zero.
const Plane3DCombined< T, NP >::TVector lass::prim::impl::Plane3DCombined< T, NP >::reject | ( | const TPoint & | iPoint | ) | const [inline] |
return the vector that, if added to the PROJECTION of iPoint, you get iPoint again.
iPoint == (almost) project(iPoint) + reject(iPoint)
Definition at line 292 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::equation(), and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::normal_.
Referenced by lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::project(), and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reflect().
const Plane3DCombined< T, NP >::TVector lass::prim::impl::Plane3DCombined< T, NP >::reject | ( | const TVector & | iVector | ) | const [inline] |
return the part of iVector that is orthogonal to the plane.
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 305 of file plane_3d_combined.inl.
References lass::prim::dot(), and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::normal_.
const Plane3DCombined< T, NP >::TPoint lass::prim::impl::Plane3DCombined< T, NP >::project | ( | const TPoint & | iPoint | ) | const [inline] |
project a point orthogonally onto the plane
Definition at line 316 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reject().
const Plane3DCombined< T, NP >::TVector lass::prim::impl::Plane3DCombined< T, NP >::project | ( | const TVector & | iVector | ) | const [inline] |
project a vector orthogonally onto the plane
Definition at line 327 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reject().
const Plane3DCombined< T, NP >::TPoint lass::prim::impl::Plane3DCombined< T, NP >::reflect | ( | const TPoint & | iPoint | ) | const [inline] |
reflect a point orthogonally into the plane.
Definition at line 338 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reject().
const Plane3DCombined< T, NP >::TVector lass::prim::impl::Plane3DCombined< T, NP >::reflect | ( | const TVector & | iVector | ) | const [inline] |
reflect a vector orthogonally into the plane
Definition at line 349 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reject().
const Plane3DCombined< T, NP >::TPoint lass::prim::impl::Plane3DCombined< T, NP >::point | ( | TParam | iU, | |
TParam | iV | |||
) | const [inline] |
return point by filling in the parametric equation: P(u, v) = S + u * U + v * V
Definition at line 360 of file plane_3d_combined.inl.
const Plane3DCombined< T, NP >::TPoint lass::prim::impl::Plane3DCombined< T, NP >::point | ( | const TUV & | iUV | ) | const [inline] |
return point by filling in the parametric equation: P(u, v) = S + u * U + v * V
Definition at line 371 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionU_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionV_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::support_, lass::prim::Point2D< T >::x, and lass::prim::Point2D< T >::y.
const Plane3DCombined< T, NP >::TUV lass::prim::impl::Plane3DCombined< T, NP >::uv | ( | const TPoint & | iPoint | ) | const [inline] |
return UV pair of parameters
Definition at line 382 of file plane_3d_combined.inl.
References lass::prim::dot(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalU_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalV_, and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::support_.
void lass::prim::impl::Plane3DCombined< T, NP >::flip | ( | ) | [inline] |
Definition at line 391 of file plane_3d_combined.inl.
References lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::d_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionU_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionV_, lass::prim::impl::Plane3DImplDetail::generateReciprocal(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::normal_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalU_, and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalV_.
const bool lass::prim::impl::Plane3DCombined< T, NP >::isValid | ( | ) | const [inline] |
return true if plane is a valid plane (no normal or direction vectors that are zero).
Definition at line 404 of file plane_3d_combined.inl.
References lass::prim::cross(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionU_, lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionV_, lass::prim::Vector3D< T >::isZero(), and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::normal_.
Referenced by lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::Plane3DCombined().
TPoint lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::support_ [private] |
Definition at line 123 of file plane_3d_combined.h.
Referenced by lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::Plane3DCombined(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::point(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::support(), and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::uv().
TVector lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionU_ [private] |
Definition at line 124 of file plane_3d_combined.h.
Referenced by lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionU(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::flip(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::getDirections(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::isValid(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::Plane3DCombined(), and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::point().
TVector lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionV_ [private] |
Definition at line 125 of file plane_3d_combined.h.
Referenced by lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::directionV(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::flip(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::getDirections(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::isValid(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::Plane3DCombined(), and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::point().
TVector lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalU_ [private] |
Definition at line 126 of file plane_3d_combined.h.
Referenced by lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::flip(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::getReciprocals(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::Plane3DCombined(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalU(), and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::uv().
TVector lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalV_ [private] |
Definition at line 127 of file plane_3d_combined.h.
Referenced by lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::flip(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::getReciprocals(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::Plane3DCombined(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reciprocalV(), and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::uv().
TVector lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::normal_ [private] |
Definition at line 128 of file plane_3d_combined.h.
Referenced by lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::equation(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::flip(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::getCartesian(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::isValid(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::normal(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::Plane3DCombined(), and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reject().
TValue lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::d_ [private] |
Definition at line 129 of file plane_3d_combined.h.
Referenced by lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::d(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::equation(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::flip(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::getCartesian(), and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::Plane3DCombined().
Generated on Mon Nov 10 14:22:14 2008 for Library of Assembled Shared Sources by 1.5.7.1 |