#include <formel1.h>
Inherits OdeRobot.
Inheritance diagram for Formel1:
Public Member Functions | |
Formel1 (const OdeHandle &odeHandle, const OsgHandle &osgHandle, double size=1, double force=3, double speed=15, bool sphereWheels=true) | |
virtual | ~Formel1 () |
virtual void | update () |
updates the osg notes | |
virtual void | place (const osg::Matrix &pose) |
sets the pose of the vehicle | |
virtual int | getSensors (sensor *sensors, int sensornumber) |
returns actual sensorvalues | |
virtual void | setMotors (const motor *motors, int motornumber) |
sets actual motorcommands | |
virtual int | getSensorNumber () |
returns number of sensors | |
virtual int | getMotorNumber () |
returns number of motors | |
virtual bool | collisionCallback (void *data, dGeomID o1, dGeomID o2) |
checks for internal collisions and treats them. | |
virtual void | doInternalStuff (GlobalData &globalData) |
this function is called in each timestep. | |
Protected Member Functions | |
virtual Primitive * | getMainPrimitive () const |
the main object of the robot, which is used for position and speed tracking | |
virtual void | create (const osg::Matrix &pose) |
creates vehicle at desired position | |
virtual void | destroy () |
destroys vehicle and space | |
Static Protected Member Functions | |
static void | mycallback (void *data, dGeomID o1, dGeomID o2) |
things for collision handling inside the space of the robot can be done here | |
Protected Attributes | |
double | length |
double | width |
double | height |
double | radius |
double | wheelthickness |
bool | sphereWheels |
double | cmass |
double | wmass |
int | sensorno |
int | motorno |
int | segmentsno |
double | speed |
double | max_force |
bool | created |
Primitive * | object [5] |
Hinge2Joint * | joint [4] |
Formel1 | ( | const OdeHandle & | odeHandle, | |
const OsgHandle & | osgHandle, | |||
double | size = 1 , |
|||
double | force = 3 , |
|||
double | speed = 15 , |
|||
bool | sphereWheels = true | |||
) |
virtual ~Formel1 | ( | ) | [inline, virtual] |
bool collisionCallback | ( | void * | data, | |
dGeomID | o1, | |||
dGeomID | o2 | |||
) | [virtual] |
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).
Reimplemented from OdeRobot.
void create | ( | const osg::Matrix & | pose | ) | [protected, virtual] |
creates vehicle at desired position
pose | 4x4 pose matrix |
void destroy | ( | ) | [protected, virtual] |
destroys vehicle and space
void doInternalStuff | ( | GlobalData & | globalData | ) | [virtual] |
this function is called in each timestep.
It should perform robot-internal checks, like space-internal collision detection, sensor resets/update etc.
globalData | structure that contains global data from the simulation environment |
Implements OdeRobot.
virtual Primitive* getMainPrimitive | ( | ) | const [inline, protected, virtual] |
virtual int getMotorNumber | ( | ) | [inline, virtual] |
virtual int getSensorNumber | ( | ) | [inline, virtual] |
int getSensors | ( | sensor * | sensors, | |
int | sensornumber | |||
) | [virtual] |
returns actual sensorvalues
sensors | sensors scaled to [-1,1] | |
sensornumber | length of the sensor array |
Implements AbstractRobot.
void mycallback | ( | void * | data, | |
dGeomID | o1, | |||
dGeomID | o2 | |||
) | [static, protected] |
things for collision handling inside the space of the robot can be done here
void place | ( | const osg::Matrix & | pose | ) | [virtual] |
void setMotors | ( | const motor * | motors, | |
int | motornumber | |||
) | [virtual] |
sets actual motorcommands
motors | motors scaled to [-1,1] | |
motornumber | length of the motor array |
Implements AbstractRobot.
void update | ( | ) | [virtual] |
double cmass [protected] |
bool created [protected] |
double height [protected] |
Hinge2Joint* joint[4] [protected] |
double length [protected] |
double max_force [protected] |
int motorno [protected] |
double radius [protected] |
int segmentsno [protected] |
int sensorno [protected] |
double speed [protected] |
bool sphereWheels [protected] |
double wheelthickness [protected] |
double width [protected] |
double wmass [protected] |