#include <oderobot.h>
Inherits AbstractRobot.
Inherited by Arm2Segm, Component, DefaultCaterPillar, DefaultWheelie, ForcedSphere, Formel1, Hand, HurlingSnake, MuscledArm, Nimm2, Nimm4, Schlange, ShortCircuit, SliderWheelie, Sphererobot, Sphererobot3Masses, TruckMesh, and Uwo.
Inheritance diagram for OdeRobot:
Public Member Functions | |
OdeRobot (const OdeHandle &odeHandle, const OsgHandle &osgHandle, const std::string &name, const std::string &revision) | |
Constructor. | |
virtual | ~OdeRobot () |
virtual void | update ()=0 |
update the OSG notes here | |
virtual void | place (const Pos &pos) |
sets the vehicle to position pos | |
virtual void | place (const osg::Matrix &pose)=0 |
sets the pose of the vehicle | |
virtual bool | collisionCallback (void *data, dGeomID o1, dGeomID o2)=0 |
checks for internal collisions and treats them. | |
virtual void | doInternalStuff (const GlobalData &globalData)=0 |
this function is called in each timestep. | |
virtual void | setColor (const Color &col) |
sets color of the robot | |
virtual Position | getPosition () const |
returns position of the object | |
virtual Position | getSpeed () const |
returns linear speed vector of the object | |
virtual matrix::Matrix | getOrientation () const |
returns the orientation of the object | |
virtual Primitive * | getMainPrimitive () const =0 |
overload this in the robot implementation. | |
Static Protected Member Functions | |
bool | isGeomInPrimitiveList (Primitive **ps, int len, dGeomID geom) |
bool | isGeomInPrimitiveList (std::list< Primitive * > ps, dGeomID geom) |
Protected Attributes | |
OdeHandle | odeHandle |
OsgHandle | osgHandle |
dSpaceID | parentspace |
|
Constructor.
|
|
|
|
checks for internal collisions and treats them. In case of a treatment return true (collision will be ignored by other objects and the default routine) else false (collision is passed to other objects and (if not treated) to the default routine). Implemented in Arm2Segm, AtomComponent, Component, DefaultCaterPillar, DefaultWheelie, ForcedSphere, Formel1, HurlingSnake, MuscledArm, Nimm2, Nimm4, RobotComponent, Schlange, ShortCircuit, SimpleComponent, SliderWheelie, Sphererobot, Sphererobot3Masses, TruckMesh, Uwo, and Hand.
|
|
this function is called in each timestep. It should perform robot-internal checks, like space-internal collision detection, sensor resets/update etc.
Implemented in Arm2Segm, AtomComponent, Component, DefaultCaterPillar, DefaultWheelie, ForcedSphere, Formel1, HurlingSnake, MuscledArm, Nimm2, Nimm4, RobotComponent, Schlange, ShortCircuit, SimpleComponent, SliderWheelie, Sphererobot, Sphererobot3Masses, TruckMesh, Uwo, and Hand.
|
|
overload this in the robot implementation. If there is no object for some reason then return a null pointer
Implemented in Arm2Segm, AtomComponent, Component, DefaultCaterPillar, DefaultWheelie, ForcedSphere, Formel1, HurlingSnake, MuscledArm, Nimm2, Nimm4, PrimitiveComponent, RobotComponent, Schlange, ShortCircuit, SimpleComponent, SliderWheelie, Sphererobot, Sphererobot3Masses, TruckMesh, Uwo, and Hand.
|
|
returns the orientation of the object
Implements Trackable.
|
|
returns position of the object
Implements Trackable.
Reimplemented in AtomComponent, Component, PrimitiveComponent, RobotComponent, and SimpleComponent.
|
|
returns linear speed vector of the object
Implements Trackable.
|
|
|
|
|
|
sets the pose of the vehicle
Implemented in Arm2Segm, AtomComponent, DefaultCaterPillar, DefaultWheelie, ForcedSphere, Formel1, HurlingSnake, MuscledArm, Nimm2, Nimm4, RobotComponent, Schlange, ShortCircuit, SimpleComponent, SliderWheelie, Sphererobot, Sphererobot3Masses, TruckMesh, Uwo, and Hand.
|
|
sets the vehicle to position pos
Reimplemented in AtomComponent, Component, PrimitiveComponent, RobotComponent, and SimpleComponent.
|
|
sets color of the robot
|
|
update the OSG notes here
Implemented in Arm2Segm, AtomComponent, Component, DefaultCaterPillar, DefaultWheelie, ForcedSphere, Formel1, HurlingSnake, MuscledArm, Nimm2, Nimm4, PrimitiveComponent, RobotComponent, Schlange, ShortCircuit, SimpleComponent, SliderWheelie, Sphererobot, Sphererobot3Masses, TruckMesh, Uwo, and Hand.
|
|
|
|
|
|
Reimplemented in Arm2Segm, and MuscledArm.
|