Cafu Engine
cf::math::PlueckerT< T > Class Template Reference

This class represents Pluecker coordinates. More...

#include "Pluecker.hpp"

Public Member Functions

 PlueckerT ()
 The default constructor. More...
 
 PlueckerT (const T p0, const T p1, const T p2, const T p3, const T p4, const T p5)
 Constructor for creating a Pluecker coordinate from individual components. More...
 
T & operator[] (unsigned long i)
 Returns the i-th component of this Pluecker coordinate. More...
 
const T & operator[] (unsigned long i) const
 Returns the i-th component of this Pluecker coordinate. More...
 
operator* (const PlueckerT &Other) const
 This operator computes the permuted inner product (as described in Tellers dissertation) of the two Pluecker coordinates. More...
 

Static Public Member Functions

static PlueckerT CreateFromLine (const Vector3T< T > &A, const Vector3T< T > &B)
 Creates a Pluecker coordinate from the line (segment) that starts at point A and ends at point B. More...
 
static PlueckerT CreateFromRay (const Vector3T< T > &A, const Vector3T< T > &Dir)
 Creates a Pluecker coordinate from the ray that starts at (or "passes through") point A into direction Dir. More...
 

Public Attributes

p [6]
 The six components of the Pluecker coordinate. More...
 

Detailed Description

template<class T>
class cf::math::PlueckerT< T >

This class represents Pluecker coordinates.

Good introductions about Pluecker coordinates are found in publications by Seth Teller (e.g. "Visibility Computations in Densely Occluded Polyhedral Environments" (Ph.D. dissertation, Berkeley, 1992)), at Wikipedia (http://en.wikipedia.org/wiki/Pl%C3%BCcker_co-ordinates), and many other internet sites.

Constructor & Destructor Documentation

template<class T >
cf::math::PlueckerT< T >::PlueckerT ( )
inline

The default constructor.

template<class T >
cf::math::PlueckerT< T >::PlueckerT ( const T  p0,
const T  p1,
const T  p2,
const T  p3,
const T  p4,
const T  p5 
)
inline

Constructor for creating a Pluecker coordinate from individual components.

Member Function Documentation

template<class T >
static PlueckerT cf::math::PlueckerT< T >::CreateFromLine ( const Vector3T< T > &  A,
const Vector3T< T > &  B 
)
inlinestatic

Creates a Pluecker coordinate from the line (segment) that starts at point A and ends at point B.

template<class T >
static PlueckerT cf::math::PlueckerT< T >::CreateFromRay ( const Vector3T< T > &  A,
const Vector3T< T > &  Dir 
)
inlinestatic

Creates a Pluecker coordinate from the ray that starts at (or "passes through") point A into direction Dir.

template<class T >
T cf::math::PlueckerT< T >::operator* ( const PlueckerT< T > &  Other) const
inline

This operator computes the permuted inner product (as described in Tellers dissertation) of the two Pluecker coordinates.

template<class T >
T& cf::math::PlueckerT< T >::operator[] ( unsigned long  i)
inline

Returns the i-th component of this Pluecker coordinate.

template<class T >
const T& cf::math::PlueckerT< T >::operator[] ( unsigned long  i) const
inline

Returns the i-th component of this Pluecker coordinate.

Member Data Documentation

template<class T >
T cf::math::PlueckerT< T >::p[6]

The six components of the Pluecker coordinate.


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