Main Page Modules Namespaces C++ Classes Compound List File List Index
TNL: Zap::MoveObject Class Reference

# Zap::MoveObject Class Reference

`#include <moveObject.h>`

Inheritance diagram for Zap::MoveObject:

## Public Types

enum | { ActualState = 0, RenderState, LastProcessState, MoveStateCount
}

## Public Member Functions

| MoveObject (Point pos=Point(0, 0), float radius=1, float mass=1)
void | updateInterpolation ()
void | updateExtent ()
Point | getRenderPos ()
Point | getActualPos ()
float | getMass ()
Point | getRenderVel ()
Point | getActualVel ()
void | move (F32 time, U32 stateIndex, bool displacing)
bool | collide (GameObject *otherObject)
GameObject * | findFirstCollision (U32 stateIndex, F32 &collisionTime, Point &collisionPoint)
void | computeCollisionResponseMoveObject (U32 stateIndex, MoveObject *objHit)
void | computeCollisionResponseBarrier (U32 stateIndex, Point &collisionPoint)
F32 | computeMinSeperationTime (U32 stateIndex, MoveObject *contactObject, Point intendedPos)
bool | getCollisionCircle (U32 stateIndex, Point &point, float &radius)
F32 | getRadius ()

## Protected Types

enum | { InterpMaxVelocity = 900, InterpAcceleration = 1800 }

## Protected Attributes

float | mRadius
float | mMass
MoveState | mMoveState [MoveStateCount]
bool | mInterpolating

## Data Structures

struct | MoveState

## Member Enumeration Documentation

anonymous enum

Enumerator:

  ActualState |
  RenderState |
  LastProcessState |
  MoveStateCount |

anonymous enum`[protected]`

Enumerator:

  InterpMaxVelocity |
  InterpAcceleration |

## Constructor & Destructor Documentation

Zap::MoveObject::MoveObject | ( | Point | pos = `Point(0, 0)`,
|  | float | radius = `1`,
|  | float | mass = `1` |
| ) |  |  |

## Member Function Documentation

void Zap::MoveObject::updateInterpolation | ( |  | ) |

void Zap::MoveObject::updateExtent | ( |  | ) |

Point Zap::MoveObject::getRenderPos | ( |  | ) | `[inline, virtual]`

Reimplemented from Zap::GameObject.

Point Zap::MoveObject::getActualPos | ( |  | ) | `[inline, virtual]`

Reimplemented from Zap::GameObject.

float Zap::MoveObject::getMass | ( |  | ) | `[inline]`

Point Zap::MoveObject::getRenderVel | ( |  | ) | `[inline, virtual]`

Reimplemented from Zap::GameObject.

Point Zap::MoveObject::getActualVel | ( |  | ) | `[inline, virtual]`

Reimplemented from Zap::GameObject.

void Zap::MoveObject::move | ( | F32 | time,
|  | U32 | stateIndex,
|  | bool | displacing |
| ) |  |  |

bool Zap::MoveObject::collide | ( | GameObject * | otherObject | ) | `[virtual]`

Reimplemented from Zap::GameObject.

Reimplemented in Zap::FlagItem, Zap::HuntersFlagItem, Zap::Item, Zap::PickupItem, Zap::GrenadeProjectile, Zap::Mine, and Zap::SoccerBallItem.

GameObject* Zap::MoveObject::findFirstCollision | ( | U32 | stateIndex,
|  | F32 & | collisionTime,
|  | Point & | collisionPoint |
| ) |  |  |

void Zap::MoveObject::computeCollisionResponseMoveObject | ( | U32 | stateIndex,
|  | MoveObject * | objHit |
| ) |  |  |

void Zap::MoveObject::computeCollisionResponseBarrier | ( | U32 | stateIndex,
|  | Point & | collisionPoint |
| ) |  |  |

F32 Zap::MoveObject::computeMinSeperationTime | ( | U32 | stateIndex,
|  | MoveObject * | contactObject,
|  | Point | intendedPos |
| ) |  |  |

bool Zap::MoveObject::getCollisionCircle | ( | U32 | stateIndex,
|  | Point & | point,
|  | float & | radius |
| ) |  |  | `[inline, virtual]`

Reimplemented from Zap::GameObject.

F32 Zap::MoveObject::getRadius | ( |  | ) | `[inline]`

## Field Documentation

float Zap::MoveObject::mRadius`[protected]`

float Zap::MoveObject::mMass`[protected]`

MoveState Zap::MoveObject::mMoveState[MoveStateCount]`[protected]`

bool Zap::MoveObject::mInterpolating`[protected]`