Public Types | Public Member Functions | Private Member Functions | Private Attributes

control::ReplayPath::Cursor Class Reference

Cursor tracks a locus of steps in the animation path for interpolation. More...

#include <_src_control_replay_path.hh>

List of all members.

Public Types

typedef std::pair< Step, StepPositionSteps
typedef std::pair< Step, StepQuaternionSteps

Public Member Functions

 Cursor (ReplayPath::Path &path)
 ~Cursor ()
bool IfEnd (void)
void Rewind (void)
void Advance (void)
StepGetCurrentStep (void)
bool IfHaveQuaternionSteps (void)
bool IfHavePositionSteps (void)
QuaternionSteps GetQuaternionSteps (void)
PositionSteps GetPositionSteps (void)

Private Member Functions

void Advance_FindNextStep (ReplayPath::Step &prevStep, ReplayPath::Step &nextStep, const ReplayPath::Path::iterator prevIter, const Command::TypeNum commandType)

Private Attributes

ReplayPath::PathmPath
ReplayPath::Path::iterator mPathIter
ReplayPath::Step mPrevQuaternionStep
ReplayPath::Step mNextQuaternionStep
ReplayPath::Step mPrevPositionStep
ReplayPath::Step mNextPositionStep

Detailed Description

Cursor tracks a locus of steps in the animation path for interpolation.

Cursor facilitates interpolating 3D positions and rotations. ReplayPath::Advance() calls Cursor::Advance() which tracks pairs of Steps having CommandPosition and CommandQuaternion.

Cursor natually tracks the current Step. Additionally, because of interpolation, it also has references to position/rotation commands to execute in the future (lookahead).


Member Typedef Documentation


Constructor & Destructor Documentation

control::ReplayPath::Cursor::Cursor ( ReplayPath::Path path  ) 

ctor/dtor.

control::ReplayPath::Cursor::~Cursor (  ) 

Member Function Documentation

void control::ReplayPath::Cursor::Advance ( void   ) 

Advance cursor to next Step in path.

Precondition:
Cursor::IfEnd() was called first and it returned false. THROWS EXCEPTION.
void control::ReplayPath::Cursor::Advance_FindNextStep ( ReplayPath::Step prevStep,
ReplayPath::Step nextStep,
const ReplayPath::Path::iterator  prevIter,
const Command::TypeNum  commandType 
) [private]
Step& control::ReplayPath::Cursor::GetCurrentStep ( void   )  [inline]
ReplayPath::Cursor::PositionSteps control::ReplayPath::Cursor::GetPositionSteps ( void   ) 
Returns:
Two position steps that the cursor is across.
Precondition:
Caller must query IfHavePositionSteps() before calling this. THROWS EXCEPTION.
ReplayPath::Cursor::QuaternionSteps control::ReplayPath::Cursor::GetQuaternionSteps ( void   ) 
Returns:
Two quaternion steps that the cursor is across.
Precondition:
Caller must query IfHaveQuaternionSteps() before calling this. THROWS EXCEPTION.
bool control::ReplayPath::Cursor::IfEnd ( void   )  [inline]
bool control::ReplayPath::Cursor::IfHavePositionSteps ( void   ) 
Returns:
True if cursor is across two 3D positions in animation path.
bool control::ReplayPath::Cursor::IfHaveQuaternionSteps ( void   ) 
Returns:
True if cursor is across two quaternions in animation path.
void control::ReplayPath::Cursor::Rewind ( void   ) 

Rewind cursor.


Member Data Documentation

ReplayPath::Path::iterator control::ReplayPath::Cursor::mPathIter [private]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Palomino Flight Simulator documents generated by doxygen 1.7.1 on Tue May 15 2012 22:40:11