Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

oxygen::Space Class Reference

Space encapsulates an ODE space object. More...

#include <space.h>

Inheritance diagram for oxygen::Space:

Inheritance graph
[legend]
Collaboration diagram for oxygen::Space:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Space ()
virtual ~Space ()
dSpaceID GetODESpace () const
 returns the ID of the managed ODE space
dJointGroupID GetODEJointGroup () const
 retuns the ID of joint group for all created contact joints
void Collide ()
 starts ODE's collision culling system.
virtual void HandleCollide (dGeomID obj1, dGeomID obj2)
 callback to handle a potential collision between two contained geoms.

Protected Member Functions

virtual bool ConstructInternal ()
 creates them managed ODE space and a contact joint group
virtual void PostPhysicsUpdateInternal ()
 updates internal state after physics calculation

Private Attributes

dSpaceID mODESpace
 the managed ODE space
dJointGroupID mODEContactGroup
 the ODE group for all created contact joints

Detailed Description

Space encapsulates an ODE space object.

A space is a non-placeable geometry object ('geom') that can contain other geoms. It is similar to the rigid body concept of the `world', except that it applies to collision instead of dynamics.

Definition at line 38 of file space.h.


Constructor & Destructor Documentation

Space::Space  ) 
 

Definition at line 37 of file space.cpp.

Space::~Space  )  [virtual]
 

Definition at line 41 of file space.cpp.

References mODEContactGroup, and mODESpace.


Member Function Documentation

void Space::Collide  ) 
 

starts ODE's collision culling system.

ODE will quickly identify which pairs of geoms are potentially intersecting. Those pairs will be passed to the callback function HandleCollide, which in turn will notify the responsible collider classes.

Definition at line 67 of file space.cpp.

References collisionNearCallback(), and mODESpace.

Here is the call graph for this function:

bool Space::ConstructInternal  )  [protected, virtual]
 

creates them managed ODE space and a contact joint group

Reimplemented from zeitgeist::Object.

Definition at line 121 of file space.cpp.

References mODEContactGroup, and mODESpace.

dJointGroupID Space::GetODEJointGroup  )  const
 

retuns the ID of joint group for all created contact joints

Definition at line 62 of file space.cpp.

References mODEContactGroup.

dSpaceID Space::GetODESpace  )  const
 

returns the ID of the managed ODE space

Definition at line 57 of file space.cpp.

References mODESpace.

void Space::HandleCollide dGeomID  obj1,
dGeomID  obj2
[virtual]
 

callback to handle a potential collision between two contained geoms.

It will look up and notify the corresponding colliders for a potential collision.

Definition at line 73 of file space.cpp.

References oxygen::Collider::CT_DIRECT, oxygen::Collider::CT_SYMMETRIC, and oxygen::Collider::GetCollider().

Referenced by collisionNearCallback().

Here is the call graph for this function:

void Space::PostPhysicsUpdateInternal  )  [protected, virtual]
 

updates internal state after physics calculation

Reimplemented from oxygen::BaseNode.

Definition at line 137 of file space.cpp.

References mODEContactGroup.


Member Data Documentation

dJointGroupID oxygen::Space::mODEContactGroup [private]
 

the ODE group for all created contact joints

Definition at line 82 of file space.h.

Referenced by ConstructInternal(), GetODEJointGroup(), PostPhysicsUpdateInternal(), and ~Space().

dSpaceID oxygen::Space::mODESpace [private]
 

the managed ODE space

Definition at line 79 of file space.h.

Referenced by Collide(), ConstructInternal(), GetODESpace(), and ~Space().


The documentation for this class was generated from the following files:
Generated on Thu Apr 6 15:46:32 2006 for rcssserver3d by  doxygen 1.4.4