AURobotServers
4
|
Public Member Functions | |
void | clearPoly () |
clear detections More... | |
void | createGlobalVariables (UVarPool *vp) |
create global variables More... | |
int | doDetect (ULaserData *data, int polySys, UMatrix4 *mRS, UMatrix4 *mSR, UMatrix4 *mRG) |
void | setBox (const char *boxname, int idx, double x1, double y1, double x2, double y2, UMatrix4 *mRO) |
void | setCornersAsPolygon (UMatrix4 *mRG) |
UNamedBox () | |
Public Attributes | |
double | area |
area of box - if 0, then box is invalid More... | |
UPolygon | cornerPolygon |
corner polygon More... | |
UPosRot * | laserPose |
laser scanner pose More... | |
UVarPool * | parentStruct |
parent structure for global variables More... | |
UPolygon | poly |
polygon with detections More... | |
UVariable * | varBoxLimits |
box definition in laser scanner coordinates More... | |
UVariable * | varCooSys |
selected coordinate system More... | |
UVariable * | varDetections |
detections More... | |
UVariable * | varDetectMinMaxCoo |
detection limits in selected coordinate system coordinates More... | |
UVariable * | varDetectMinMaxRob |
detection limits in robot coordinates More... | |
UVariable * | varName |
name of structure More... | |
Class with one detect box
|
inline |
References UPolygon::setSize().
|
inline |
|
inline |
create global variables
References UVarPool::addVar(), and UVarPool::addVarA().
Referenced by UNamedBoxes::addBox().
|
inline |
test if there are detections within boxex for this scan.
data | is pointer to laser scan detections. |
noPoly | if true, then no displayable polygon is generated. |
mRS | is conversion matrix from Robot to Sensor coordinates. |
mSR | is conversion matrix from Sensor to Robot coordinates. |
mRG | is conversion matrix from Robot to selected (global) coordinate system. |
References UPolygon::add(), UPolygon::clear(), UPosition::clear(), UPolygon::copyPointsTo(), UPolygon::extractConvexTo(), ULaserData::get2d(), UVariable::getDouble(), UPolygon::getLimits(), UPolygon::getPoints(), UPolygon::getPointsCnt(), ULaserData::getRangeCnt(), U2Dpos::length(), UPolygon::setAsPolygon(), setCornersAsPolygon(), UVariable::setDouble(), UVariable::setInt(), U2Dpos::x, UPosition::x, U2Dpos::y, and UPosition::y.
Referenced by UNamedBoxes::doDetect().
|
inline |
set box
boxname | name of box - used as polygon name |
idx | is the index or box number |
x1,y1,x2,y2 | is the corner coordinates in robot coordinates. |
mRO | coordinate conversion matrix to odometry coordinates |
References UPolygon::color, setCornersAsPolygon(), UVariable::setValued(), UVariable::setValues(), UPosition::x, and UPosition::y.
Referenced by UNamedBoxes::addBox().
|
inline |
get box corners as polygon
boxpoly | is the destination polygon. |
mCC | is the converion matrix to convert the coordinates (no conversion if NULL) |
References UPolygon::add(), UPolygon::clear(), UPolygon::color, UVariable::getDouble(), UPolygon::getPoints(), UPolygon::getPointsCnt(), UPolygon::setAsPolygon(), UPosition::x, and UPosition::y.
Referenced by doDetect(), and setBox().
double UNamedBox::area |
area of box - if 0, then box is invalid
Referenced by UNamedBoxes::addBox().
UPolygon UNamedBox::cornerPolygon |
corner polygon
Referenced by UFuncLaserBox::handleCommand().
UPosRot* UNamedBox::laserPose |
laser scanner pose
UVarPool* UNamedBox::parentStruct |
parent structure for global variables
Referenced by UNamedBoxes::doDetect().
UPolygon UNamedBox::poly |
polygon with detections
Referenced by UFuncLaserBox::handleCommand().
UVariable* UNamedBox::varBoxLimits |
box definition in laser scanner coordinates
UVariable* UNamedBox::varCooSys |
selected coordinate system
Referenced by UNamedBoxes::doDetect().
UVariable* UNamedBox::varDetections |
detections
Referenced by UFuncLaserBox::handleCommand().
UVariable* UNamedBox::varDetectMinMaxCoo |
detection limits in selected coordinate system coordinates
UVariable* UNamedBox::varDetectMinMaxRob |
detection limits in robot coordinates
UVariable* UNamedBox::varName |
name of structure
Referenced by UNamedBoxes::findNamedBox(), and UFuncLaserBox::handleCommand().