ForcedSphere Class Reference

#include <forcedsphere.h>

Inherits OdeRobot.

Inheritance diagram for ForcedSphere:

Inheritance graph
[legend]
Collaboration diagram for ForcedSphere:

Collaboration graph
[legend]
List of all members.

Public Types

enum  Dimensions { X = 1, Y = 2, Z = 4 }

Public Member Functions

 ForcedSphere (const OdeHandle &odeHandle, const OsgHandle &osgHandle, const ForcedSphereConf &ForcedSphereConf, const std::string &name)
 constructor
virtual ~ForcedSphere ()
virtual void update ()
 update the OSG notes here
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 int getSensors (sensor *sensors, int sensornumber)
 returns actual sensorvalues
virtual void setMotors (const motor *motors, int motornumber)
 sets actual motorcommands
virtual int getMotorNumber ()
 returns number of motors
virtual int getSensorNumber ()
 returns number of sensors
virtual PrimitivegetMainPrimitive () const
 overload this in the robot implementation.

Static Public Member Functions

ForcedSphereConf getDefaultConf ()

Protected Member Functions

virtual void create (const osg::Matrix &pose)
virtual void destroy ()

Protected Attributes

Primitiveobject [1]
bool created
ForcedSphereConf conf

Member Enumeration Documentation

enum Dimensions
 

Enumeration values:
X 
Y 
Z 


Constructor & Destructor Documentation

ForcedSphere const OdeHandle odeHandle,
const OsgHandle osgHandle,
const ForcedSphereConf ForcedSphereConf,
const std::string &  name
 

constructor

use getDefaultConf() to obtain a configuration with default values, which can be altered to personal needs.

~ForcedSphere  )  [virtual]
 


Member Function Documentation

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).

Implements OdeRobot.

void create const osg::Matrix pose  )  [protected, virtual]
 

void destroy  )  [protected, virtual]
 

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.

Parameters:
globalData structure that contains global data from the simulation environment

Implements OdeRobot.

ForcedSphereConf getDefaultConf  )  [inline, static]
 

virtual Primitive* getMainPrimitive  )  const [inline, virtual]
 

overload this in the robot implementation.

If there is no object for some reason then return a null pointer

Returns:
main object of the robot (used for tracking)

Implements OdeRobot.

int getMotorNumber  )  [virtual]
 

returns number of motors

Implements AbstractRobot.

int getSensorNumber  )  [virtual]
 

returns number of sensors

Implements AbstractRobot.

int getSensors sensor sensors,
int  sensornumber
[virtual]
 

returns actual sensorvalues

Parameters:
sensors sensors scaled to [-1,1]
sensornumber length of the sensor array
Returns:
number of actually written sensors

Implements AbstractRobot.

void place const osg::Matrix pose  )  [virtual]
 

sets the pose of the vehicle

Parameters:
pose desired 4x4 pose matrix

Implements OdeRobot.

void setMotors const motor motors,
int  motornumber
[virtual]
 

sets actual motorcommands

Parameters:
motors motors scaled to [-1,1]
motornumber length of the motor array

Implements AbstractRobot.

void update  )  [virtual]
 

update the OSG notes here

Implements OdeRobot.


Member Data Documentation

ForcedSphereConf conf [protected]
 

bool created [protected]
 

Primitive* object[1] [protected]
 


The documentation for this class was generated from the following files:
Generated on Tue Jan 16 02:14:54 2007 for Robotsystem of the Robot Group Leipzig by doxygen 1.3.8