Public Member Functions

gmtl::CubicCurve< DATA_TYPE, SIZE > Class Template Reference

A representation of a cubic curve with order set to 4. More...

#include <ParametricCurve.h>

Inheritance diagram for gmtl::CubicCurve< DATA_TYPE, SIZE >:
Inheritance graph
[legend]
Collaboration diagram for gmtl::CubicCurve< DATA_TYPE, SIZE >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CubicCurve ()
 CubicCurve (const CubicCurve &other)
 ~CubicCurve ()
CubicCurveoperator= (const CubicCurve &other)
void makeBezier ()
void makeCatmullRom ()
void makeHermite ()
void makeBspline ()

Detailed Description

template<typename DATA_TYPE, unsigned SIZE>
class gmtl::CubicCurve< DATA_TYPE, SIZE >

A representation of a cubic curve with order set to 4.

Template Parameters:
DATA_TYPE The data type to use for the components.
SIZE The number of components this curve has.

Definition at line 303 of file ParametricCurve.h.


Constructor & Destructor Documentation

template<typename DATA_TYPE , unsigned SIZE>
gmtl::CubicCurve< DATA_TYPE, SIZE >::CubicCurve (  ) 

Definition at line 318 of file ParametricCurve.h.

{
}

template<typename DATA_TYPE , unsigned SIZE>
gmtl::CubicCurve< DATA_TYPE, SIZE >::CubicCurve ( const CubicCurve< DATA_TYPE, SIZE > &  other  ) 

Definition at line 323 of file ParametricCurve.h.

{
   *this = other;
}

template<typename DATA_TYPE , unsigned SIZE>
gmtl::CubicCurve< DATA_TYPE, SIZE >::~CubicCurve (  ) 

Definition at line 329 of file ParametricCurve.h.

{
}


Member Function Documentation

template<typename DATA_TYPE , unsigned SIZE>
void gmtl::CubicCurve< DATA_TYPE, SIZE >::makeBezier (  ) 

Definition at line 343 of file ParametricCurve.h.

{
   mBasisMatrix.set(
      -1.0, 3.0, -3.0, 1.0,
      3.0, -6.0, 3.0, 0.0,
      -3.0, 3.0, 0.0, 0.0,
      1.0, 0.0, 0.0, 0.0
   );
}

template<typename DATA_TYPE , unsigned SIZE>
void gmtl::CubicCurve< DATA_TYPE, SIZE >::makeBspline (  ) 

Definition at line 376 of file ParametricCurve.h.

{
   mBasisMatrix.set(
      -1.0 / 6.0, 0.5, -0.5, 1.0 / 6.0,
      0.5, -1.0, 0.5, 0.0,
      -0.5, 0.0, 0.5, 0.0,
      1.0 / 6.0, 2.0 / 3.0, 1.0 / 6.0, 0.0
   );
}

template<typename DATA_TYPE , unsigned SIZE>
void gmtl::CubicCurve< DATA_TYPE, SIZE >::makeCatmullRom (  ) 

Definition at line 354 of file ParametricCurve.h.

{
   mBasisMatrix.set(
      -0.5, 1.5, -1.5, 0.5,
      1.0, -2.5, 2.0, -0.5,
      -0.5, 0.0, 0.5, 0.0,
      0.0, 1.0, 0.0, 0.0
   );
}

template<typename DATA_TYPE , unsigned SIZE>
void gmtl::CubicCurve< DATA_TYPE, SIZE >::makeHermite (  ) 

Definition at line 365 of file ParametricCurve.h.

{
   mBasisMatrix.set(
      2.0, -2.0, 1.0, 1.0,
      -3.0, 3.0, -2.0, -1.0,
      0.0, 0.0, 1.0, 0.0,
      1.0, 0.0, 0.0, 0.0
   );
}

template<typename DATA_TYPE , unsigned SIZE>
CubicCurve< DATA_TYPE, SIZE > & gmtl::CubicCurve< DATA_TYPE, SIZE >::operator= ( const CubicCurve< DATA_TYPE, SIZE > &  other  ) 

Definition at line 335 of file ParametricCurve.h.

{
   ParametricCurve::operator =(other);

   return *this;
}


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