#include <ArForbiddenRangeDevice.h>
Inheritance diagram for ArForbiddenRangeDevice:
Public Member Functions | |
ArForbiddenRangeDevice (ArMapInterface *armap, double distanceIncrement=100, unsigned int maxRange=4000, const char *name="forbidden") | |
Constructor. | |
void | disable (void) |
Disables readings until reenabled. | |
void | enable (void) |
Enable readings. | |
ArFunctor * | getDisableCB (void) |
Gets a callback to disable the device. | |
ArFunctor * | getEnableCB (void) |
Gets a callback to enable the device. | |
bool | isEnabled (void) const |
Sees if this device is active or not. | |
void | processMap (void) |
Saves the forbidden lines from the map. | |
void | processReadings (void) |
Remakes the readings. | |
virtual void | setRobot (ArRobot *robot) |
Sets the robot pointer and attachs its process function. | |
virtual | ~ArForbiddenRangeDevice () |
Destructor. | |
Protected Attributes | |
ArMutex | myDataMutex |
ArFunctorC< ArForbiddenRangeDevice > | myDisableCB |
double | myDistanceIncrement |
ArFunctorC< ArForbiddenRangeDevice > | myEnableCB |
bool | myIsEnabled |
ArMapInterface * | myMap |
ArFunctorC< ArForbiddenRangeDevice > | myMapChangedCB |
ArFunctorC< ArForbiddenRangeDevice > | myProcessCB |
std::list< ArLineSegment * > | mySegments |
|
Constructor. This will take a map and then convert the forbidden lines into range device readings every cycle. It doesn't add any data for drawing the current range device readings since the lines themselves show up in the map.
|