AURobotServers
4
|
#include <ufeaturepool.h>
Public Member Functions | |
bool | addData (UFeatureData *data) |
void | clear () |
UFeatureData * | getScan (int age) |
int | getScansCnt () |
int | getScansMax () |
UPosRot | getSensorPose () |
bool | gotSensorPose () |
void | markAsNotNew (const char *dataType) |
void | setSensorPose (UPosRot value) |
UFeaturePool () | |
~UFeaturePool () | |
Public Member Functions inherited from UOnEvent | |
bool | addEventHandler (UCallBack *object, Method methodToCall) |
bool | event (const char *interface, const char *dataType, void *dataPtr) |
UOnEvent () | |
~UOnEvent () | |
Protected Attributes | |
UPosRot | defaultSensorPose |
bool | defaultSensorPoseOK |
int | newest |
UFeatureData | scans [MAX_SEGMENT_SCANS] |
int | scansCnt |
Protected Attributes inherited from UOnEvent | |
Method | method [MAX_CALL_BACKS] |
UCallBack * | obj [MAX_CALL_BACKS] |
int | objCnt |
Static Protected Attributes | |
static const int | MAX_SEGMENT_SCANS = 400 |
Static Protected Attributes inherited from UOnEvent | |
static const int | MAX_CALL_BACKS = 20 |
Additional Inherited Members | |
Public Types inherited from UOnEvent | |
typedef bool(UCallBack::* | Method) (const char *interface, const char *dataType, void *data) |
Holds history of scanfeatures
@author Christian Andersen <jca@oersted.dtu.dk>
UFeaturePool::UFeaturePool | ( | ) |
Constructor
UFeaturePool::~UFeaturePool | ( | ) |
Destructor
bool UFeaturePool::addData | ( | UFeatureData * | data | ) |
Add a new set of data to the pool
References UFeatureData::addSegment(), UFeatureData::clear(), UFeatureData::getTypeMax(), UFeatureData::isNewest, ULock::lock(), maxi(), UFeatureData::pose, UFeatureData::scanTime, UFeatureData::segs, UFeatureData::segsCnt, UFeatureData::segsInt, UFeatureData::segsStr, UFeatureData::segsValue, UFeatureData::type, ULock::unlock(), and UFeatureData::valid.
Referenced by UResLaserIfSf::handlePass(), UResLaserIfSf::handleRoad(), and UResLaserIfSf::handleSF().
void UFeaturePool::clear | ( | void | ) |
UFeatureData * UFeaturePool::getScan | ( | int | age | ) |
Get pointer to scan
Referenced by UNavPaint::paintFeatures(), and UNavView::paintFeatures().
|
inline |
Get max number of scans in pool
Referenced by UFunctionLaserIfData::handleLaserIf(), UResLaserIfSf::handlePass(), UResLaserIfSf::handleRoad(), UResLaserIfSf::handleSF(), UNavPaint::paintFeatures(), UNavView::paintFeatures(), and UResLaserIfSf::snprint().
|
inline |
Get max number of scans in pool
|
inline |
Get the default sensor pose - used to convert sensor positions to robot coordinates
Referenced by UResLaserIfSf::handlePass(), and UResLaserIfSf::handleSF().
|
inline |
Is default sensor pose set from a laser scanner message
Referenced by UResLaserIfSf::handlePass(), and UResLaserIfSf::handleSF().
void UFeaturePool::markAsNotNew | ( | const char * | dataType | ) |
Mark all entries of this type as not new, until an enty is found that is not new already.
References UFeatureData::isA(), and UFeatureData::isNewest.
|
inline |
Set default sensor pose - used to convert sensor positions to robot coordinates
Referenced by UResLaserIfSf::handlePass(), and UResLaserIfSf::handleSF().
|
protected |
Default laser scanner posr - if not included in sensor data set
|
protected |
Is default sensor pose set
|
staticprotected |
Max number of segment scans
|
protected |
Newest scan index
|
protected |
Segments
|
protected |
Number of received scans