CCameraPathInterpolator Class Reference

#include <CCameraPathInterpolator.h>

List of all members.

Public Types

 SHAPE_LINE = 0
 SHAPE_TCB = 1
 SHAPE_CATMULL_ROM = 2
 PATH_OPEN = 0
 PATH_CLOSED = 1
enum  ShapeType { SHAPE_LINE = 0, SHAPE_TCB = 1, SHAPE_CATMULL_ROM = 2 }
enum  PathType { PATH_OPEN = 0, PATH_CLOSED = 1 }

Public Member Functions

 CCameraPathInterpolator (CList< CCameraKeyPathPoint > path, ShapeType nShapeType=SHAPE_LINE, PathType nPathType=PATH_OPEN)
 ~CCameraPathInterpolator ()
int getNumFrames ()
CCameraKeyPathPointgetFrame (int nFrame)
CList< CCameraKeyPathPointgetPath ()

Protected Member Functions

void compute ()
CCamera add (const CCamera &c1, const CCamera &c2) const
CCamera sub (const CCamera &c1, const CCamera &c2) const
CCamera mul (const CCamera &c, const double d) const

Protected Attributes

CList< CCameraKeyPathPointkeys
ShapeType m_nShapeType
PathType m_nPathType
CList< CCameraKeyPathPointm_ShapeList


Detailed Description

Calculates a camera path out of the given key path. There a different possible types of interpolation algorithms to use defined as ShapeTypes.

Author:
Thomas Woerner, Michael Meissner
[tw] 2001/04/28 initial version [tw] 2001/05/01 added Catmull-Rom interpolation


Member Enumeration Documentation

enum CCameraPathInterpolator::PathType

Enumerator:
PATH_OPEN 
PATH_CLOSED 

enum CCameraPathInterpolator::ShapeType

Enumerator:
SHAPE_LINE 
SHAPE_TCB 
SHAPE_CATMULL_ROM 


Constructor & Destructor Documentation

CCameraPathInterpolator::CCameraPathInterpolator ( CList< CCameraKeyPathPoint path,
ShapeType  nShapeType = SHAPE_LINE,
PathType  nPathType = PATH_OPEN 
) [inline]

Constructs new Interpolator and computes path.

CCameraPathInterpolator::~CCameraPathInterpolator (  )  [inline]

Destructs (default).


Member Function Documentation

CCamera CCameraPathInterpolator::add ( const CCamera c1,
const CCamera c2 
) const [inline, protected]

Adds two CCameras. Copies first CCamera, adds (eye, ref point, view up, ratio, fovy, vpheight)

void CCameraPathInterpolator::compute (  )  [protected]

Computes path.

CCameraKeyPathPoint* CCameraPathInterpolator::getFrame ( int  nFrame  )  [inline]

Returns frame of computed path. frame in [1..getNumFrames()]

int CCameraPathInterpolator::getNumFrames (  )  [inline]

Returns total number of frames of computed path.

CList<CCameraKeyPathPoint> CCameraPathInterpolator::getPath (  )  [inline]

Returns computed path.

CCamera CCameraPathInterpolator::mul ( const CCamera c,
const double  d 
) const [inline, protected]

Multiplies CCamera with double value Copies CCamera, multiplies (eye, ref point, view up, ratio, fovy, vpheight)

CCamera CCameraPathInterpolator::sub ( const CCamera c1,
const CCamera c2 
) const [inline, protected]

Subtracts two CCameras. Copies first CCamera, subtracts (eye, ref point, view up, ratio, fovy, vpheight)


Member Data Documentation

CList<CCameraKeyPathPoint> CCameraPathInterpolator::keys [protected]

Input path (sampling points).

PathType CCameraPathInterpolator::m_nPathType [protected]

Path type: open / closed.

ShapeType CCameraPathInterpolator::m_nShapeType [protected]

Shape type: linear / tcb.

CList<CCameraKeyPathPoint> CCameraPathInterpolator::m_ShapeList [protected]

Computed output path.


The documentation for this class was generated from the following files:
Generated on Mon Jul 10 12:45:59 2006 for QGLViewer by  doxygen 1.4.7