AURobotServers
4
|
#include <uobj3dpool.h>
Public Member Functions | |
bool | addObstPoly (UPolygon *newpoly, UPoseTime pt, bool isHuman, bool isGndBased) |
UPoseTime | getPosePrev () |
virtual UObstacle * | makeNewObst () |
void | setMergeDistance (double mergeDist, bool doMergeObstacles) |
void | setPosePrev (UPoseTime pt) |
UObj3dGroup () | |
~UObj3dGroup () | |
Public Member Functions inherited from UObstacleGroup | |
void | clear () |
virtual const char * | getDataType () |
int | getMaxObstsCnt () |
UObstacle * | getNewObst () |
UObstacle * | getObstacle (int idx) |
UObstacle * | getObstacle (unsigned long oSerial, bool mayCreate, int *obstacleIndex) |
int | getObstsCnt () |
UPoseTime | getPoseFirst () |
UPoseTime | getPoseLast () |
UPoseTime * | getPPoseFirst () |
UPoseTime * | getPPoseLast () |
unsigned long | getSerial () |
void | logAll (unsigned int serial, FILE *logo) |
void | print (const char *prestr) |
void | print (const char *prestr, char *buff, const int buffCnt, bool detail) |
void | removeAllObsts () |
void | removeInvalid (UTime before, int hitLimit) |
void | removeObst (int idx) |
void | setPoseFirst (UPoseTime pose) |
void | setPoseLast (UPoseTime pose) |
void | setSerial (unsigned long value) |
UObstacleGroup () | |
~UObstacleGroup () | |
Public Member Functions inherited from ULock | |
bool | lock () |
void | lockInit () |
void | post () |
bool | tryLock () |
bool | tryWait () |
ULock () | |
void | unlock () |
bool | wait () |
~ULock () | |
Public Member Functions inherited from UDataBase | |
bool | isA (const char *typeString) |
virtual bool | isAlsoA (const char *typeString) |
virtual void | snprint (const char *preString, char *buff, const int buffCnt) |
UDataBase () | |
virtual | ~UDataBase () |
Protected Attributes | |
bool | mergeObstacles |
double | obstacleMergeDistance |
UPoseTime | posePrev |
Protected Attributes inherited from UObstacleGroup | |
unsigned long | nextObstSerial |
UObstacle * | obsts [MAX_OBSTACLES] |
int | obstsCnt |
UPoseTime | poseFirst |
UPoseTime | poseLast |
unsigned long | serial |
Additional Inherited Members | |
Static Public Attributes inherited from UObstacleGroup | |
static const int | MAX_OBSTACLES = 500 |
Obstacle group, that — within reason — can be assumed to have same reference coordinate system, based on odometry. That is, systematic errors in pose within group, can not be corrected for.
UObj3dGroup::UObj3dGroup | ( | ) |
Constructor
References mergeObstacles, and obstacleMergeDistance.
Referenced by UObj3dPool::advanceNewGroup().
UObj3dGroup::~UObj3dGroup | ( | ) |
Destructor
Add this obstacle polygon. The polygon coordinates is assumed to be in odometry coordinates. If 'outdoorObsts', then an extra position is assumed added for correlation. This position is removed before any merge or create is implemented. Returns true if obstacle is merged or added successfuly
References UPolygon::add(), UObstacleVision::clear(), UPolygon::clear(), UPolygon::extractConvexTo(), UObstacle::getHits(), UObstacleGroup::getNewObst(), UPolygon::getPointsCnt(), UObstacle::getPoseFirst(), UObstacle::initPoseFirst(), UPolygon::isOverlappingXYconvex(), ULock::lock(), UObstacleGroup::MAX_OBSTACLES, maxi(), mergeObstacles, obstacleMergeDistance, UObstacleGroup::obsts, UObstacleGroup::obstsCnt, UObstacleGroup::poseLast, posePrev, UPolygon::removeNearVertex(), UObstacleGroup::removeObst(), UObstacle::setHits(), UObstacle::setPoseFirst(), UObstacle::setPoseLast(), UObstacle::setValid(), UPoseTime::t, and ULock::unlock().
Referenced by UObj3dPool::addObstacle(), and UFuncObj3d::handleCommand().
|
inline |
Get previous postion. Previous position is the pose for the set of updates before the latest set of updates.
|
inlinevirtual |
This is where new obstacles are created, used by obstacle group, when new obstacles are needed (old obstacles are reused if possible)
Reimplemented from UObstacleGroup.
void UObj3dGroup::setMergeDistance | ( | double | mergeDist, |
bool | doMergeObstacles | ||
) |
Set merge arameters for this obstacle group
References mergeObstacles, and obstacleMergeDistance.
Referenced by UResObj3d::getObstacleGroupSettings().
|
inline |
Set previous postion. Previous position is the pose for the set of updates before the latest set of updates.
Referenced by UObj3dPool::getObstGrp().
|
protected |
Merge obstacles
Referenced by addObstPoly(), setMergeDistance(), and UObj3dGroup().
|
protected |
Merge distance
Referenced by addObstPoly(), setMergeDistance(), and UObj3dGroup().
|
protected |
Previous pose, to be used for merging obstacles in rough grass
Referenced by addObstPoly().