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

gator::TravelMethod Class Reference

travel method. More...

#include <TravelMethod.h>

Inheritance diagram for gator::TravelMethod:

ani::DynamicSystem< ani::Body > ani::Body ani::Memory gator::Car4WheelsMethod gator::SimpleFlyMethod gator::TetheredDriveMethod gator::SimpleDriveMethod List of all members.

Public Methods

 TravelMethod ()
virtual void digitalInput (unsigned int id, EdgeState value)=0
 call this with the id that you want to trigger. More...

virtual void analogInput (unsigned int id, float value)=0
 call this with the id that you want to trigger. More...

virtual void xformInput (unsigned int id, const gmtl::Matrix44f &value)=0
 call this with the id that you want to trigger. More...

ani::Bodyavatar ()
 the avatar. More...

ani::Bodycamera ()
 the camera. More...

ani::Bodyplatform ()
 the platform. More...

virtual void setCollisionDetector (CollisionDetectorPtr &detect)
 tell the travel method how to collide with your scene. More...

virtual void setPosition (const gmtl::Matrix44f &value)=0
virtual gmtl::Matrix44f getPosition ()=0
virtual void setHomePosition (const gmtl::Matrix44f &value)
virtual void reset ()
void setName (std::string s)
std::string getName ()

Protected Attributes

ani::BodyPtr mAvatar
 in the travel pattern, there is an avatar, a camera and a platform. More...

ani::BodyPtr mCamera
 in the travel pattern, there is an avatar, a camera and a platform. More...

ani::BodyPtr mPlatform
 in the travel pattern, there is an avatar, a camera and a platform. More...

CollisionDetectorPtr mCollisionDetector
 also in the travel pattern, there is collision, here is how we allow the application to define the collision space. More...


Detailed Description

travel method.

implements the travel pattern. to control the system, use the generic Input functions. every system should document its input identifiers, see the system you're using for information on its controls.

to get a matrix that will control your viewpoint, convert the camera() object to a gmtl::Matrix44f

See also:
ani::matrix for conversion of ani::Body to gmtl::Matrix44f

Definition at line 32 of file TravelMethod.h.


Constructor & Destructor Documentation

gator::TravelMethod::TravelMethod   [inline]
 

Definition at line 35 of file TravelMethod.h.

References ani::Body::Body(), mAvatar, mCamera, mCollisionDetector, and mPlatform.


Member Function Documentation

virtual void gator::TravelMethod::digitalInput unsigned int    id,
EdgeState    value
[pure virtual]
 

call this with the id that you want to trigger.

Implemented in gator::Car4WheelsMethod, gator::SimpleDriveMethod, gator::SimpleFlyMethod, and gator::TetheredDriveMethod.

virtual void gator::TravelMethod::analogInput unsigned int    id,
float    value
[pure virtual]
 

call this with the id that you want to trigger.

Implemented in gator::Car4WheelsMethod, gator::SimpleDriveMethod, gator::SimpleFlyMethod, and gator::TetheredDriveMethod.

virtual void gator::TravelMethod::xformInput unsigned int    id,
const gmtl::Matrix44f &    value
[pure virtual]
 

call this with the id that you want to trigger.

Implemented in gator::Car4WheelsMethod, gator::SimpleDriveMethod, gator::SimpleFlyMethod, and gator::TetheredDriveMethod.

ani::Body& gator::TravelMethod::avatar   [inline]
 

the avatar.

this is where in world coordinates your avatar is.

See also:
ani::matrix to get the transform. , ani::Body

Definition at line 56 of file TravelMethod.h.

References mAvatar.

ani::Body& gator::TravelMethod::camera   [inline]
 

the camera.

set your viewpoint to this transform.

See also:
ani::matrix to get the transform. , ani::Body

Definition at line 63 of file TravelMethod.h.

References mCamera.

ani::Body& gator::TravelMethod::platform   [inline]
 

the platform.

this isn't always used, but sometimes represents a platform (like a cave) that is navigated instead of the avatar.

See also:
ani::matrix to get the transform. , ani::Body

Definition at line 71 of file TravelMethod.h.

References mPlatform.

virtual void gator::TravelMethod::setCollisionDetector CollisionDetectorPtr   detect [inline, virtual]
 

tell the travel method how to collide with your scene.

define your own collision detector, or use one predefined from gator.

Reimplemented in gator::Car4WheelsMethod, gator::SimpleFlyMethod, and gator::TetheredDriveMethod.

Definition at line 77 of file TravelMethod.h.

References gator::CollisionDetectorPtr, and mCollisionDetector.

virtual void gator::TravelMethod::setPosition const gmtl::Matrix44f &    value [pure virtual]
 

Implemented in gator::SimpleFlyMethod, and gator::TetheredDriveMethod.

Referenced by reset().

virtual gmtl::Matrix44f gator::TravelMethod::getPosition   [pure virtual]
 

Implemented in gator::SimpleFlyMethod, and gator::TetheredDriveMethod.

virtual void gator::TravelMethod::setHomePosition const gmtl::Matrix44f &    value [inline, virtual]
 

Definition at line 85 of file TravelMethod.h.

virtual void gator::TravelMethod::reset   [inline, virtual]
 

Definition at line 89 of file TravelMethod.h.

References mAvatar, and setPosition().

Referenced by gator::SimpleFlyMethod::digitalInput().

void gator::TravelMethod::setName std::string    s [inline]
 

Definition at line 94 of file TravelMethod.h.

std::string gator::TravelMethod::getName   [inline]
 

Definition at line 95 of file TravelMethod.h.


Member Data Documentation

ani::BodyPtr gator::TravelMethod::mAvatar [protected]
 

in the travel pattern, there is an avatar, a camera and a platform.

Sometimes 2 or more of these are equal depending on the travel method.

Definition at line 102 of file TravelMethod.h.

Referenced by avatar(), gator::Car4WheelsMethod::Car4WheelsMethod(), gator::TetheredDriveMethod::digitalInput(), gator::SimpleFlyMethod::digitalInput(), gator::SimpleDriveMethod::digitalInput(), gator::Car4WheelsMethod::digitalInput(), gator::TetheredDriveMethod::getPosition(), gator::SimpleFlyMethod::getPosition(), reset(), gator::TetheredDriveMethod::setPosition(), gator::SimpleFlyMethod::setPosition(), gator::SimpleDriveMethod::SimpleDriveMethod(), gator::SimpleFlyMethod::SimpleFlyMethod(), gator::TetheredDriveMethod::TetheredDriveMethod(), and TravelMethod().

ani::BodyPtr gator::TravelMethod::mCamera [protected]
 

in the travel pattern, there is an avatar, a camera and a platform.

Sometimes 2 or more of these are equal depending on the travel method.

Definition at line 102 of file TravelMethod.h.

Referenced by camera(), gator::Car4WheelsMethod::Car4WheelsMethod(), gator::SimpleFlyMethod::SimpleFlyMethod(), gator::TetheredDriveMethod::TetheredDriveMethod(), and TravelMethod().

ani::BodyPtr gator::TravelMethod::mPlatform [protected]
 

in the travel pattern, there is an avatar, a camera and a platform.

Sometimes 2 or more of these are equal depending on the travel method.

Definition at line 102 of file TravelMethod.h.

Referenced by platform(), and TravelMethod().

CollisionDetectorPtr gator::TravelMethod::mCollisionDetector [protected]
 

also in the travel pattern, there is collision, here is how we allow the application to define the collision space.

Definition at line 107 of file TravelMethod.h.

Referenced by gator::Car4WheelsMethod::Car4WheelsMethod(), setCollisionDetector(), gator::SimpleFlyMethod::SimpleFlyMethod(), gator::TetheredDriveMethod::TetheredDriveMethod(), and TravelMethod().


The documentation for this class was generated from the following file:
Generated on Wed Jun 12 01:54:10 2002 for Animaniac by doxygen1.2.15