PhysicsEngine Class Reference

#include <physics.h>

List of all members.


Detailed Description

Abstract class computing physics operations

Definition at line 248 of file physics.h.


Public Member Functions

double TimeToCollision (IMovingObject &mobj, IObject &sobj) const
PointsVector CollisionPoints (IMovingObject &mobj, IObject &sobj) const
Position PositionAfterTime (IMovingObject &mobj, double time) const
Point PositionAtTime (IMovingObject &mobj, const DateTime &time) const
double DistanceAfterTime (IMovingObject &mobj, double time) const
double DistanceAtTime (IMovingObject &mobj, const DateTime &time) const
double TimeToDistance (IMovingObject &mobj, double distance) const
DateTime TimeAfterDistance (IMovingObject &mobj, double distance, const DateTime &now) const
double TimeToPoint (IMovingObject &mobj, struct Point point) const
double GetCollisionTime (IMovingObject &obj, IMovingObject &reference, Point &collPoint) const
virtual ~PhysicsEngine ()

Protected Member Functions

virtual double ImplTimeToCollision (IMovingObject &mobj, IObject &sobj) const =0
virtual PointsVector ImplCollisionPoints (IMovingObject &mobj, IObject &sobj) const =0
virtual Position ImplPositionAfterTime (IMovingObject &mobj, double time) const =0
virtual Point ImplPositionAtTime (IMovingObject &mobj, const DateTime &time) const =0
virtual double ImplDistanceAfterTime (IMovingObject &mobj, double time) const =0
virtual double ImplDistanceAtTime (IMovingObject &mobj, const DateTime &time) const =0
virtual double ImplTimeToDistance (IMovingObject &mobj, double distance) const =0
virtual DateTime ImplTimeAfterDistance (IMovingObject &mobj, double distance, const DateTime &now) const =0
virtual double ImplTimeToPoint (IMovingObject &mobj, struct Point point) const =0
virtual double ImplGetCollTime (IMovingObject &obj, IMovingObject &reference, Point &collPoint) const =0

Constructor & Destructor Documentation

virtual ~PhysicsEngine (  )  [inline, virtual]

Definition at line 336 of file physics.h.


Member Function Documentation

double TimeToCollision ( IMovingObject mobj,
IObject sobj 
) const [inline]

Computes time to first collision. If no collision occurs then return infinite;

Returns:
Time duration to first collision

Definition at line 257 of file physics.h.

References ImplTimeToCollision().

Here is the call graph for this function:

PointsVector CollisionPoints ( IMovingObject mobj,
IObject sobj 
) const [inline]

Computes points which are in objects collision. If no collision occurs then return empty container. Points are ordered by time.

Returns:
Container with colliosion points.

Definition at line 268 of file physics.h.

References ImplCollisionPoints().

Here is the call graph for this function:

Position PositionAfterTime ( IMovingObject mobj,
double  time 
) const [inline]

Computes position of moving object after time duration.

Returns:
Center of object after time.

Definition at line 277 of file physics.h.

References ImplPositionAfterTime().

Here is the call graph for this function:

Point PositionAtTime ( IMovingObject mobj,
const DateTime time 
) const [inline]

Computes moving object position at time

Returns:
Position of object at specified time

Definition at line 286 of file physics.h.

References ImplPositionAtTime().

Here is the call graph for this function:

double DistanceAfterTime ( IMovingObject mobj,
double  time 
) const [inline]

Computes way length after time duration

Returns:
Length of way

Definition at line 295 of file physics.h.

References ImplDistanceAfterTime().

Here is the call graph for this function:

double DistanceAtTime ( IMovingObject mobj,
const DateTime time 
) const [inline]

Computes way length at time

Returns:
Length of way

Definition at line 304 of file physics.h.

References ImplDistanceAtTime().

Here is the call graph for this function:

double TimeToDistance ( IMovingObject mobj,
double  distance 
) const [inline]

Computes time required of moving object for move to on way to new position specified by distance

Returns:
Time duration reaquired to move

Definition at line 314 of file physics.h.

References ImplTimeToDistance().

Here is the call graph for this function:

DateTime TimeAfterDistance ( IMovingObject mobj,
double  distance,
const DateTime now 
) const [inline]

Computes time which occurs after move to position specified by way length.

Returns:
Time after move

Definition at line 324 of file physics.h.

References ImplTimeAfterDistance().

Here is the call graph for this function:

double TimeToPoint ( IMovingObject mobj,
struct Point  point 
) const [inline]

Definition at line 328 of file physics.h.

References ImplTimeToPoint().

Here is the call graph for this function:

double GetCollisionTime ( IMovingObject obj,
IMovingObject reference,
Point collPoint 
) const [inline]

Definition at line 332 of file physics.h.

References ImplGetCollTime().

Here is the call graph for this function:

virtual double ImplTimeToCollision ( IMovingObject mobj,
IObject sobj 
) const [protected, pure virtual]

Referenced by TimeToCollision().

Here is the caller graph for this function:

virtual PointsVector ImplCollisionPoints ( IMovingObject mobj,
IObject sobj 
) const [protected, pure virtual]

Referenced by CollisionPoints().

Here is the caller graph for this function:

virtual Position ImplPositionAfterTime ( IMovingObject mobj,
double  time 
) const [protected, pure virtual]

Referenced by PositionAfterTime().

Here is the caller graph for this function:

virtual Point ImplPositionAtTime ( IMovingObject mobj,
const DateTime time 
) const [protected, pure virtual]

Referenced by PositionAtTime().

Here is the caller graph for this function:

virtual double ImplDistanceAfterTime ( IMovingObject mobj,
double  time 
) const [protected, pure virtual]

Referenced by DistanceAfterTime().

Here is the caller graph for this function:

virtual double ImplDistanceAtTime ( IMovingObject mobj,
const DateTime time 
) const [protected, pure virtual]

Referenced by DistanceAtTime().

Here is the caller graph for this function:

virtual double ImplTimeToDistance ( IMovingObject mobj,
double  distance 
) const [protected, pure virtual]

Referenced by TimeToDistance().

Here is the caller graph for this function:

virtual DateTime ImplTimeAfterDistance ( IMovingObject mobj,
double  distance,
const DateTime now 
) const [protected, pure virtual]

Referenced by TimeAfterDistance().

Here is the caller graph for this function:

virtual double ImplTimeToPoint ( IMovingObject mobj,
struct Point  point 
) const [protected, pure virtual]

Referenced by TimeToPoint().

Here is the caller graph for this function:

virtual double ImplGetCollTime ( IMovingObject obj,
IMovingObject reference,
Point collPoint 
) const [protected, pure virtual]

Referenced by GetCollisionTime().

Here is the caller graph for this function:


The documentation for this class was generated from the following file:
Generated on Fri Jul 10 22:42:16 2009 for rob08 by  doxygen 1.5.4