Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

CCameraPathInterpolator Class Reference

#include <CCameraPathInterpolator.h>

List of all members.

Public Types

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
 

Enumeration values:
PATH_OPEN 
PATH_CLOSED 

enum CCameraPathInterpolator::ShapeType
 

Enumeration values:
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 Sun May 16 12:02:02 2004 for QGLViewer by doxygen 1.3.7