#include <irsensor.h>
Inherits RaySensor.
Inheritance diagram for IRSensor:


Public Member Functions | |
| IRSensor (double exponent=1) | |
| virtual | ~IRSensor () |
| virtual void | init (const OdeHandle &odeHandle, const OsgHandle &osgHandle, Primitive *body, const osg::Matrix pose, double range, rayDrawMode drawMode=drawSensor) |
| providing essential informations | |
| virtual void | reset () |
| used for reseting the sensor value to a value of maximal distance. | |
| virtual bool | sense (dGeomID object) |
| performs sense action by checking collision with the given object | |
| virtual double | get () |
| returns the sensor value (usually in the range [-1,1] ) | |
| virtual void | update () |
| draws the sensor ray | |
| virtual dGeomID | getGeomID () |
| returns the geomID of the ray geom (used for optimisation) | |
| double | getExponent () const |
| returns the exponent of the sensor characteritic (default: 1 (linear)) | |
| void | setExponent (double exp) |
| sets the exponent of the sensor characteritic (default: 1 (linear)) | |
Protected Member Functions | |
| virtual double | characteritic (double len) |
| describes the sensor characteritic linear curve used here | |
Protected Attributes | |
| dGeomID | transform |
| dGeomID | ray |
| double | range |
| double | len |
| double | value |
| double | exponent |
| OSGCylinder * | sensorBody |
| OSGBox * | sensorRay |
| OsgHandle | osgHandle |
| bool | initialised |
IR sensors are based on distance measurements using the ODE geom class Ray. The sensor value is obtained by collisions. However of no collision is detected the sensor needs to ajust its output as well. Therefore a reset function is provided.
| IRSensor | ( | double | exponent = 1 |
) |
| exponent | exponent of the sensor characteritic (default: 1 (linear)) |
| ~IRSensor | ( | ) | [virtual] |
| double characteritic | ( | double | len | ) | [protected, virtual] |
describes the sensor characteritic linear curve used here
| double get | ( | ) | [virtual] |
| double getExponent | ( | ) | const [inline] |
returns the exponent of the sensor characteritic (default: 1 (linear))
| dGeomID getGeomID | ( | ) | [virtual] |
| void init | ( | const OdeHandle & | odeHandle, | |
| const OsgHandle & | osgHandle, | |||
| Primitive * | body, | |||
| const osg::Matrix | pose, | |||
| double | range, | |||
| rayDrawMode | drawMode = drawSensor | |||
| ) | [virtual] |
providing essential informations
| void reset | ( | ) | [virtual] |
| bool sense | ( | dGeomID | object | ) | [virtual] |
performs sense action by checking collision with the given object
Implements RaySensor.
| void setExponent | ( | double | exp | ) | [inline] |
sets the exponent of the sensor characteritic (default: 1 (linear))
| void update | ( | ) | [virtual] |
double exponent [protected] |
bool initialised [protected] |
double len [protected] |
double range [protected] |
dGeomID ray [protected] |
OSGCylinder* sensorBody [protected] |
dGeomID transform [protected] |
double value [protected] |
1.4.7