Robot Simulator of the Robotics Group for Self-Organization of Control  0.8.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OdeHandle Class Reference

Data structure for accessing the ODE. More...

#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. More...
 
void close ()
 deletes the world and global data More...
 
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 More...
 
void createNewHashSpace (dSpaceID parentspace, bool ignore_inside_collisions)
 like createNewSimpleSpace but with a HashSpace. More...
 
void deleteSpace ()
 destroys the space and unregisters them in the global lists More...
 
void addSpace (dSpaceID g)
 adds a space to the list of spaces for collision detection (ignored spaces do not need to be insered) More...
 
void removeSpace (dSpaceID g)
 removes a space from the list of ignored spaces for collision detection More...
 
void destroySpaces ()
 deletes all associated memory objects, handle with care - use only when program exits More...
 
const std::vector< dSpaceID > & getSpaces ()
 returns list of all spaces (as vector for parallelisation More...
 
double getTime ()
 
void addIgnoredPair (dGeomID g1, dGeomID g2)
 adds a pair of geoms to the list of ignored geom pairs for collision detection More...
 
void addIgnoredPair (Primitive *p1, Primitive *p2)
 like addIgnoredPair(dGeomID g1, dGeomID g2) just with primitives (provided for convinience) More...
 
void removeIgnoredPair (dGeomID g1, dGeomID g2)
 removes pair of geoms from the list of ignored geom pairs for collision detection More...
 
void removeIgnoredPair (Primitive *p1, Primitive *p2)
 like removeIgnoredPair(dGeomID g1, dGeomID g2) just with primitives (provided for convinience) More...
 
bool isIgnoredPair (dGeomID g1, dGeomID g2) const
 checks whether a pair of geoms is an ignored pair for collision detection More...
 

Public Attributes

dWorldID world
 
dSpaceID space
 
dJointGroupID jointGroup
 
Substance substance
 

Protected Attributes

double * time
 
std::vector< dSpaceID > * spaces
 list of spaces, except ignored spaces More...
 
HashSet< long > * ignoredSpaces
 set of ignored spaces More...
 
HashSet< std::pair< long, long >
, geomPairHash > * 
ignoredPairs
 set of ignored geom pairs for collision More...
 

Detailed Description

Data structure for accessing the ODE.

Constructor & Destructor Documentation

OdeHandle ( )
OdeHandle ( dWorldID  _world,
dSpaceID  _space,
dJointGroupID  _jointGroup 
)

Member Function Documentation

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 addSpace ( dSpaceID  g)

adds a space to the list of spaces for collision detection (ignored spaces do not need to be insered)

void close ( )

deletes the world and global data

void createNewHashSpace ( dSpaceID  parentspace,
bool  ignore_inside_collisions 
)

like createNewSimpleSpace but with a HashSpace.

More efficient for large objects

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

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)

void removeSpace ( dSpaceID  g)

removes a space from the list of ignored spaces for collision detection

Member Data Documentation

HashSet<std::pair<long,long>, geomPairHash >* ignoredPairs
protected

set of ignored geom pairs for collision

HashSet<long>* ignoredSpaces
protected

set of ignored spaces

dJointGroupID jointGroup
dSpaceID space
std::vector<dSpaceID>* spaces
protected

list of spaces, except ignored spaces

Substance substance
double* time
protected
dWorldID world

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