#include <truckmesh.h>
Inherits OdeRobot.
Inheritance diagram for TruckMesh:
Public Member Functions | |
TruckMesh (const OdeHandle &odeHandle, const OsgHandle &osgHandle, const std::string &name, double size=1, double force=3, double speed=15, double mass=1) | |
constructor of TruckMesh robot | |
virtual | ~TruckMesh () |
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 | middlewidth |
double | middlelength |
double | height |
double | radius |
double | wheelthickness |
double | cmass |
double | wmass |
int | sensorno |
int | motorno |
int | segmentsno |
double | speed |
bool | drawBoundings |
double | max_force |
bool | created |
Primitive * | object [7] |
Hinge2Joint * | joint [6] |
TruckMesh | ( | const OdeHandle & | odeHandle, | |
const OsgHandle & | osgHandle, | |||
const std::string & | name, | |||
double | size = 1 , |
|||
double | force = 3 , |
|||
double | speed = 15 , |
|||
double | mass = 1 | |||
) |
constructor of TruckMesh robot
odeHandle | data structure for accessing ODE | |
osgHandle | ata structure for accessing OSG | |
size | scaling of robot | |
force | maximal used force to realize motorcommand | |
speed | factor for changing speed of robot |
virtual ~TruckMesh | ( | ) | [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] |
bool drawBoundings [protected] |
double height [protected] |
Hinge2Joint* joint[6] [protected] |
double length [protected] |
double max_force [protected] |
double middlelength [protected] |
double middlewidth [protected] |
int motorno [protected] |
double radius [protected] |
int segmentsno [protected] |
int sensorno [protected] |
double speed [protected] |
double wheelthickness [protected] |
double width [protected] |
double wmass [protected] |