#include <robotcomponent.h>
Inherits Component.
Inheritance diagram for RobotComponent:


Public Member Functions | |
| RobotComponent (const OdeHandle &odeHandle, const OsgHandle &osgHandle, const ComponentConf &conf) | |
| ~RobotComponent () | |
| virtual int | getSensors (sensor *sensors, int sensornumber) |
| Use this, to get all sensor values of all the joints of all subcomponents, and the sensors of all robots, belonging to all subcompionents. | |
| virtual void | setMotors (const motor *motors, int motornumber) |
| Sets the motor values for the joints connecting the component with its subcomponents, an recursivly the joints of all subComponents. | |
| virtual int | getSensorNumber () |
| returns number of sensors | |
| virtual int | getMotorNumber () |
| returns number of motors | |
| virtual void | update () |
| update the OSG notes here | |
| virtual void | place (const Pos &pos) |
| sets the vehicle to position pos pos desired position of the robot | |
| virtual void | place (const osg::Matrix &pose) |
| sets the pose of the vehicle | |
| virtual bool | collisionCallback (void *data, dGeomID o1, dGeomID o2) |
| checks for internal collisions and treats them. | |
| virtual void | doInternalStuff (const GlobalData &globalData) |
| this function is called in each timestep. | |
| virtual Position | getPosition () const |
| returns position of the object | |
| virtual osg::Vec3 | getPositionbetweenComponents (Component *component) |
| This is only a simple function, calculating the coordinates of the point exactly between two directly connected components. | |
| virtual bool | setRobot (OdeRobot *newrobot) |
| Sets the reference to the robot for the component, but only if there is no Primitive assigned to the component. | |
| virtual OdeRobot * | getRobot () |
| returns a reference to the robot belonging to the component, if there is no robot it is an NULL pointer, then try getMeinPrimitive, because there is only a solid Primitive not a complex robot for this component | |
| virtual Primitive * | getMainPrimitive () const |
| return reference to the simple Primitive, or to the main Primitive of the robot assigend to the component. | |
| RobotComponent | ( | const OdeHandle & | odeHandle, | |
| const OsgHandle & | osgHandle, | |||
| const ComponentConf & | conf | |||
| ) |
| ~RobotComponent | ( | ) |
| 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 Component.
| void doInternalStuff | ( | const 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 |
Reimplemented from Component.
| Primitive * getMainPrimitive | ( | ) | const [virtual] |
| int getMotorNumber | ( | ) | [virtual] |
| Position getPosition | ( | ) | const [virtual] |
| OdeRobot * getRobot | ( | ) | [virtual] |
returns a reference to the robot belonging to the component, if there is no robot it is an NULL pointer, then try getMeinPrimitive, because there is only a solid Primitive not a complex robot for this component
| int getSensorNumber | ( | ) | [virtual] |
| int getSensors | ( | sensor * | sensors, | |
| int | sensornumber | |||
| ) | [virtual] |
Use this, to get all sensor values of all the joints of all subcomponents, and the sensors of all robots, belonging to all subcompionents.
The sensor values have the following sequence: values of the component connecting joints, values of the robot of the component, values of component connecting joints of the first subcomponent, values of the robot of the first subcomponent, ... sensor values of the connecting joints of this component and all subcomponents
Reimplemented from Component.
| void place | ( | const osg::Matrix & | pose | ) | [virtual] |
| void place | ( | const Pos & | pos | ) | [virtual] |
sets the vehicle to position pos pos desired position of the robot
| pos | desired position of the robot |
Implements Component.
| void setMotors | ( | const motor * | motors, | |
| int | motornumber | |||
| ) | [virtual] |
Sets the motor values for the joints connecting the component with its subcomponents, an recursivly the joints of all subComponents.
The motors of all robots of the subcomponents is not set.
Reimplemented from Component.
| bool setRobot | ( | OdeRobot * | newrobot | ) | [virtual] |
Sets the reference to the robot for the component, but only if there is no Primitive assigned to the component.
Overwriting an existing robot reference is possible, also to set it NULL, and then set a reference to a Primitive with setSimplePrimitive ( .. ). But first the robot reference should be saved elsewhere or it won't be updated graficaly return true if the reference could be set; false else
| void update | ( | ) | [virtual] |
1.4.7