oops::Simulation Class Reference

#include <Simulation.h>

List of all members.


Public Types

enum  STEPFUNCTION { STEPFUNCTION_STEP, STEPFUNCTION_QUICKSTEP, STEPFUNCTION_STEPFAST1 }

Public Member Functions

 Simulation ()
 ~Simulation ()
void activateCollisionDetection ()
void deactivateCollisionDetection ()
void setGlobalERP (float erp)
void setGlobalCFM (float cfm)
void setGravity (gmtl::Vec3f gravity)
void setStepFunction (STEPFUNCTION function, unsigned numberOfSteps=1)
void setStepSize (float stepSize)
void setGlobalAutoDisable (bool active)
void setAutoDisableLinearThreshold (float threshold)
void setAutoDisableAngularThreshold (float threshold)
void setAutoDisableTime (float time)
void setObjectsVisible (bool visible)
const dWorldID getODEWorld ()
const dSpaceID getODESpace ()
float getGlobalERP ()
float getGlobalCFM ()
gmtl::Vec3f getGravity ()
float getStepSize ()
bool addRigidBody (RigidBody *obj)
bool addJoint (Joint *joint)
bool addArticulatedBody (ArticulatedBody *obj)
bool removeRigidBody (RigidBody *obj)
bool removeRigidBodyWithID (uint64_t id)
bool removeJoint (Joint *joint)
bool removeJointWithID (uint64_t id)
bool removeArticulatedBody (ArticulatedBody *obj, bool leaveRigidBodies=false)
bool removeArticulatedBodyWithID (uint64_t id, bool leaveRigidBodies=false)
void registerCollisionListener (CollisionListenerInterface *listener)
void checkCollisionWithWorld (RigidBody *body, std::vector< ContactData * > &contacts)
void simulate (float dt)
void step (float dt)
void renderObjects ()
RigidBodygetRigidBodyByID (uint64_t id)
RigidBodygetRigidBodyByName (std::string name)
JointgetJointByID (uint64_t id)
JointgetJointByName (std::string name)
ArticulatedBodygetArticulatedBodyByID (uint64_t id)
ArticulatedBodygetArticulatedBodyByName (std::string name)

Protected Member Functions

void checkCollisionWithWorld (dGeomID o1, dGeomID o2, std::vector< ContactData * > *contacts)
void checkCollision (void *data, dGeomID o1, dGeomID o2)

Static Protected Member Functions

static void checkCollisionHelp (void *data, dGeomID o1, dGeomID o2)
static void checkCollisionWithWorldHelp (void *data, dGeomID o1, dGeomID o2)

Private Member Functions

void applyObjectForces ()
void updatePosAndRot ()
bool jointConnectionAvoidsCollision (RigidBody *body1, RigidBody *body2)

Private Attributes

dWorldID world
dSpaceID space
dJointGroupID contactGroup
STEPFUNCTION function
unsigned numberOfSteps
float timestep
gmtl::Vec3f gravity
bool doCollisionDetection
bool objectsVisible
std::vector< RigidBody * > rigidBodyList
std::vector< Joint * > jointList
std::vector< ArticulatedBody * > articulatedBodyList
std::map< uint64_t, RigidBody * > rigidBodyMap
std::map< uint64_t, Joint * > jointMap
std::map< uint64_t,
ArticulatedBody * > 
articulatedBodyMap
std::vector
< CollisionListenerInterface * > 
collisionListenerList

Member Enumeration Documentation

Enumerator:
STEPFUNCTION_STEP 
STEPFUNCTION_QUICKSTEP 
STEPFUNCTION_STEPFAST1 


Constructor & Destructor Documentation

oops::Simulation::Simulation (  ) 

oops::Simulation::~Simulation (  ) 


Member Function Documentation

void oops::Simulation::activateCollisionDetection (  ) 

bool oops::Simulation::addArticulatedBody ( ArticulatedBody obj  ) 

bool oops::Simulation::addJoint ( Joint joint  ) 

bool oops::Simulation::addRigidBody ( RigidBody obj  ) 

void oops::Simulation::applyObjectForces (  )  [private]

void oops::Simulation::checkCollision ( void *  data,
dGeomID  o1,
dGeomID  o2 
) [protected]

void oops::Simulation::checkCollisionHelp ( void *  data,
dGeomID  o1,
dGeomID  o2 
) [static, protected]

void oops::Simulation::checkCollisionWithWorld ( dGeomID  o1,
dGeomID  o2,
std::vector< ContactData * > *  contacts 
) [protected]

void oops::Simulation::checkCollisionWithWorld ( RigidBody body,
std::vector< ContactData * > &  contacts 
)

void oops::Simulation::checkCollisionWithWorldHelp ( void *  data,
dGeomID  o1,
dGeomID  o2 
) [static, protected]

void oops::Simulation::deactivateCollisionDetection (  ) 

ArticulatedBody * oops::Simulation::getArticulatedBodyByID ( uint64_t  id  ) 

ArticulatedBody * oops::Simulation::getArticulatedBodyByName ( std::string  name  ) 

float oops::Simulation::getGlobalCFM (  ) 

float oops::Simulation::getGlobalERP (  ) 

gmtl::Vec3f oops::Simulation::getGravity (  ) 

Joint * oops::Simulation::getJointByID ( uint64_t  id  ) 

Joint * oops::Simulation::getJointByName ( std::string  name  ) 

const dSpaceID oops::Simulation::getODESpace (  ) 

const dWorldID oops::Simulation::getODEWorld (  ) 

RigidBody * oops::Simulation::getRigidBodyByID ( uint64_t  id  ) 

RigidBody * oops::Simulation::getRigidBodyByName ( std::string  name  ) 

float oops::Simulation::getStepSize (  ) 

bool oops::Simulation::jointConnectionAvoidsCollision ( RigidBody body1,
RigidBody body2 
) [private]

void oops::Simulation::registerCollisionListener ( CollisionListenerInterface listener  ) 

bool oops::Simulation::removeArticulatedBody ( ArticulatedBody obj,
bool  leaveRigidBodies = false 
)

bool oops::Simulation::removeArticulatedBodyWithID ( uint64_t  id,
bool  leaveRigidBodies = false 
)

bool oops::Simulation::removeJoint ( Joint joint  ) 

bool oops::Simulation::removeJointWithID ( uint64_t  id  ) 

bool oops::Simulation::removeRigidBody ( RigidBody obj  ) 

bool oops::Simulation::removeRigidBodyWithID ( uint64_t  id  ) 

void oops::Simulation::renderObjects (  ) 

void oops::Simulation::setAutoDisableAngularThreshold ( float  threshold  ) 

void oops::Simulation::setAutoDisableLinearThreshold ( float  threshold  ) 

void oops::Simulation::setAutoDisableTime ( float  time  ) 

void oops::Simulation::setGlobalAutoDisable ( bool  active  ) 

void oops::Simulation::setGlobalCFM ( float  cfm  ) 

void oops::Simulation::setGlobalERP ( float  erp  ) 

void oops::Simulation::setGravity ( gmtl::Vec3f  gravity  ) 

void oops::Simulation::setObjectsVisible ( bool  visible  ) 

void oops::Simulation::setStepFunction ( STEPFUNCTION  function,
unsigned  numberOfSteps = 1 
)

void oops::Simulation::setStepSize ( float  stepSize  ) 

void oops::Simulation::simulate ( float  dt  ) 

void oops::Simulation::step ( float  dt  ) 

void oops::Simulation::updatePosAndRot (  )  [private]


Member Data Documentation

std::map<uint64_t, ArticulatedBody*> oops::Simulation::articulatedBodyMap [private]

dJointGroupID oops::Simulation::contactGroup [private]

gmtl::Vec3f oops::Simulation::gravity [private]

std::vector<Joint*> oops::Simulation::jointList [private]

std::map<uint64_t, Joint*> oops::Simulation::jointMap [private]

unsigned oops::Simulation::numberOfSteps [private]

std::vector<RigidBody*> oops::Simulation::rigidBodyList [private]

std::map<uint64_t, RigidBody*> oops::Simulation::rigidBodyMap [private]

dSpaceID oops::Simulation::space [private]

float oops::Simulation::timestep [private]

dWorldID oops::Simulation::world [private]


The documentation for this class was generated from the following files:

Generated on Wed Oct 20 16:12:04 2010 for inVRs by doxygen 1.5.8