library of assembled shared sources

http://lass.cocamware.com

lass::prim::impl::Plane3DImplDetail Class Reference

common implementation stuff for Plane3D implementations. More...

#include <plane_3d_impl_detail.h>


Static Public Member Functions

template<typename T >
static void generateCartesian (const Point3D< T > &iSupport, const Vector3D< T > &iDirU, const Vector3D< T > &iDirV, Vector3D< T > &oNormal, T &oD)
 Generate cartesian equation out of parametric equation.
template<typename T >
static void generateDirections (const Vector3D< T > &iNormal, Vector3D< T > &oDirU, Vector3D< T > &oDirV)
 Generate directions vectors U and V of parametric equation P = S + x*U + y*V, based on the normal vector N of the cartesian equation N.P + S == 0.
template<typename T >
static void generateReciprocal (const Vector3D< T > &iDirU, const Vector3D< T > &iDirV, Vector3D< T > &oReciprocalDirU, Vector3D< T > &oReciprocalDirV)
 generate reciprocal direction vectors Ur and Vr given directions U and V.


Detailed Description

common implementation stuff for Plane3D implementations.

Author:
Bram de Greve [BdG]
Here are some common generator functions gahtered, that are used to generate some values automatically from others.

Definition at line 66 of file plane_3d_impl_detail.h.


Member Function Documentation

template<typename T >
static void lass::prim::impl::Plane3DImplDetail::generateCartesian ( const Point3D< T > &  iSupport,
const Vector3D< T > &  iDirU,
const Vector3D< T > &  iDirV,
Vector3D< T > &  oNormal,
T &  oD 
) [inline, static]

Generate cartesian equation out of parametric equation.

Generate normal vector N and value d of cartesian equaition N.P + d == 0, given support point S and direction vectors U and V of parametric equation P = S + x*U + y*V.

Definition at line 74 of file plane_3d_impl_detail.h.

References lass::prim::cross(), lass::prim::dot(), and lass::prim::Point3D< T >::position().

Referenced by lass::prim::impl::Plane3DParametric< T, NormalizingPolicy >::getCartesian(), lass::prim::impl::Plane3DCartesian< T, NormalizingPolicy >::Plane3DCartesian(), and lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::Plane3DCombined().

template<typename T >
static void lass::prim::impl::Plane3DImplDetail::generateDirections ( const Vector3D< T > &  iNormal,
Vector3D< T > &  oDirU,
Vector3D< T > &  oDirV 
) [inline, static]

template<typename T >
static void lass::prim::impl::Plane3DImplDetail::generateReciprocal ( const Vector3D< T > &  iDirU,
const Vector3D< T > &  iDirV,
Vector3D< T > &  oReciprocalDirU,
Vector3D< T > &  oReciprocalDirV 
) [inline, static]

generate reciprocal direction vectors Ur and Vr given directions U and V.

Reciprocal vectors can be used to find the values x and y in A=x*U+y*V, given A, U and V. With Ur and Vr, they can be found by x=A.Ur and y=A.Vr.

Definition at line 125 of file plane_3d_impl_detail.h.

References lass::prim::dot(), and lass::prim::Vector3D< T >::squaredNorm().

Referenced by lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::flip(), lass::prim::impl::Plane3DParametric< T, NormalizingPolicy >::getReciprocals(), lass::prim::impl::Plane3DCartesian< T, NormalizingPolicy >::getReciprocals(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::Plane3DCombined(), and lass::prim::Parallelogram3D< T >::uv().


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

Generated on Mon Nov 10 14:22:14 2008 for Library of Assembled Shared Sources by doxygen 1.5.7.1
SourceForge.net Logo