#include <raysensorbank.h>
Collaboration diagram for RaySensorBank:
Public Member Functions | |
RaySensorBank () | |
virtual | ~RaySensorBank () |
virtual void | init (const OdeHandle &odeHandle, const OsgHandle &osgHandle) |
initialises sensor bank with handles for ode and osg | |
virtual unsigned int | registerSensor (RaySensor *raysensor, Primitive *body, const osg::Matrix &pose, float range, RaySensor::rayDrawMode drawMode) |
registers a new sensor at the sensor bank. | |
virtual void | reset () |
resets all sensors (used for reseting the sensor value to a value of maximal distance) | |
virtual int | size () |
returns the number of sensors | |
virtual double | get (unsigned int index) |
returns the sensor value of the given sensor (usually in the range [-1,1] ) | |
virtual int | get (double *sensorarray, unsigned int array_size) |
writes sensorvalues in given sensorarray | |
virtual int | getSensorNumber () |
returns the number of sensors in the bank | |
virtual void | setRange (unsigned int index, float range) |
set the range of the specified sensor (index) | |
virtual void | setRange (float range) |
set the range of all sensors | |
virtual dSpaceID | getSpaceID () |
returns the spaceID of the sensor space | |
virtual void | update () |
updates the sensor's graphical representation | |
virtual void | clear () |
Protected Attributes | |
std::vector< RaySensor * > | bank |
bool | initialized |
OdeHandle | odeHandle |
OsgHandle | osgHandle |
Ray sensors can be registered at the bank. Methods for resetting, sensing and reading the sensor values of all sensors are provided.
RaySensorBank | ( | ) |
~RaySensorBank | ( | ) | [virtual] |
void clear | ( | ) | [virtual] |
int get | ( | double * | sensorarray, | |
unsigned int | array_size | |||
) | [virtual] |
writes sensorvalues in given sensorarray
sensorarray | pointer to the sensorarray in which the values should be stored | |
array_size | maximal number of all elements in the sensorarray |
double get | ( | unsigned int | index | ) | [virtual] |
returns the sensor value of the given sensor (usually in the range [-1,1] )
int getSensorNumber | ( | ) | [virtual] |
returns the number of sensors in the bank
dSpaceID getSpaceID | ( | ) | [virtual] |
returns the spaceID of the sensor space
initialises sensor bank with handles for ode and osg
unsigned int registerSensor | ( | RaySensor * | raysensor, | |
Primitive * | body, | |||
const osg::Matrix & | pose, | |||
float | range, | |||
RaySensor::rayDrawMode | drawMode | |||
) | [virtual] |
registers a new sensor at the sensor bank.
The body and the pose have to be provided.
raysensor | RaySensor to add | |
body | body to which the sensor should be connected | |
pose | relative position/orientation | |
range | maximum sense range of the sensor |
void reset | ( | ) | [virtual] |
resets all sensors (used for reseting the sensor value to a value of maximal distance)
void setRange | ( | float | range | ) | [virtual] |
set the range of all sensors
range | new length of the sensors |
void setRange | ( | unsigned int | index, | |
float | range | |||
) | [virtual] |
set the range of the specified sensor (index)
index | index of sensor to modify | |
range | new length of the sensor |
virtual int size | ( | ) | [inline, virtual] |
returns the number of sensors
void update | ( | ) | [virtual] |
updates the sensor's graphical representation
bool initialized [protected] |