#include <odehandle.h>
Collaboration diagram for OdeHandle:
Public Member Functions | |
OdeHandle () | |
OdeHandle (dWorldID _world, dSpaceID _space, dJointGroupID _jointGroup) | |
void | init (double *time) |
creates world at global space and so on and sets global time pointer. | |
void | createNewSimpleSpace (dSpaceID parentspace, bool ignore_inside_collisions) |
use this function to create a new space with optional ignored collisions, use deleteSpace to destroy it | |
void | deleteSpace () |
destroys the space and unregisters them in the global lists | |
void | addIgnoredSpace (dSpaceID g) |
adds a space to the list of ignored spaces for collision detection (i.e within this space there is no collision) | |
void | removeIgnoredSpace (dSpaceID g) |
removes a space from the list of ignored spaces for collision detection | |
bool | isIgnoredSpace (dSpaceID g) const |
checks whether the space is an ignored space for collision detection | |
void | addSpace (dSpaceID g) |
adds a space to the list of spaces for collision detection (ignored spaces do not need to be insered) | |
void | removeSpace (dSpaceID g) |
removes a space from the list of ignored spaces for collision detection | |
void | destroySpaces () |
deletes all associated memory objects, handle with care - use only when program exits | |
const std::vector< dSpaceID > & | getSpaces () |
returns list of all spaces (as vector for parallelisation | |
double | getTime () |
void | addIgnoredPair (dGeomID g1, dGeomID g2) |
adds a pair of geoms to the list of ignored geom pairs for collision detection | |
void | addIgnoredPair (Primitive *p1, Primitive *p2) |
like addIgnoredPair(dGeomID g1, dGeomID g2) just with primitives (provided for convinience) | |
void | removeIgnoredPair (dGeomID g1, dGeomID g2) |
removes pair of geoms from the list of ignored geom pairs for collision detection | |
void | removeIgnoredPair (Primitive *p1, Primitive *p2) |
like removeIgnoredPair(dGeomID g1, dGeomID g2) just with primitives (provided for convinience) | |
bool | isIgnoredPair (dGeomID g1, dGeomID g2) const |
checks whether a pair of geoms is an ignored pair for collision detection | |
Public Attributes | |
dWorldID | world |
dSpaceID | space |
dJointGroupID | jointGroup |
Substance | substance |
Protected Attributes | |
double * | time |
std::vector< dSpaceID > * | spaces |
list of spaces, except ignored spaces | |
__gnu_cxx::hash_set< long > * | ignoredSpaces |
set of ignored spaces | |
__gnu_cxx::hash_set< std::pair< long, long >, geomPairHash > * | ignoredPairs |
set of ignored geom pairs for collision |
OdeHandle | ( | ) |
OdeHandle | ( | dWorldID | _world, | |
dSpaceID | _space, | |||
dJointGroupID | _jointGroup | |||
) |
like addIgnoredPair(dGeomID g1, dGeomID g2) just with primitives (provided for convinience)
void addIgnoredPair | ( | dGeomID | g1, | |
dGeomID | g2 | |||
) |
adds a pair of geoms to the list of ignored geom pairs for collision detection
void addIgnoredSpace | ( | dSpaceID | g | ) |
adds a space to the list of ignored spaces for collision detection (i.e within this space there is no collision)
void addSpace | ( | dSpaceID | g | ) |
adds a space to the list of spaces for collision detection (ignored spaces do not need to be insered)
void createNewSimpleSpace | ( | dSpaceID | parentspace, | |
bool | ignore_inside_collisions | |||
) |
use this function to create a new space with optional ignored collisions, use deleteSpace to destroy it
All primitives initialised with this handle are within this space.
void deleteSpace | ( | ) |
destroys the space and unregisters them in the global lists
void destroySpaces | ( | ) |
deletes all associated memory objects, handle with care - use only when program exits
const std::vector< dSpaceID > & getSpaces | ( | ) |
returns list of all spaces (as vector for parallelisation
double getTime | ( | ) | [inline] |
void init | ( | double * | time | ) |
creates world at global space and so on and sets global time pointer.
bool isIgnoredPair | ( | dGeomID | g1, | |
dGeomID | g2 | |||
) | const [inline] |
checks whether a pair of geoms is an ignored pair for collision detection
bool isIgnoredSpace | ( | dSpaceID | g | ) | const [inline] |
checks whether the space is an ignored space for collision detection
like removeIgnoredPair(dGeomID g1, dGeomID g2) just with primitives (provided for convinience)
void removeIgnoredPair | ( | dGeomID | g1, | |
dGeomID | g2 | |||
) |
removes pair of geoms from the list of ignored geom pairs for collision detection
void removeIgnoredSpace | ( | dSpaceID | g | ) |
removes a space from the list of ignored spaces for collision detection
void removeSpace | ( | dSpaceID | g | ) |
removes a space from the list of ignored spaces for collision detection
__gnu_cxx::hash_set<std::pair<long,long>, geomPairHash >* ignoredPairs [protected] |
set of ignored geom pairs for collision
__gnu_cxx::hash_set<long>* ignoredSpaces [protected] |
set of ignored spaces
dJointGroupID jointGroup |
dSpaceID space |
std::vector<dSpaceID>* spaces [protected] |
list of spaces, except ignored spaces
double* time [protected] |
dWorldID world |