AURobotServers  4
Public Member Functions | Protected Attributes | List of all members
UObj3dGroup Class Reference

#include <uobj3dpool.h>

Inheritance diagram for UObj3dGroup:
Inheritance graph

Public Member Functions

bool addObstPoly (UPolygon *newpoly, UPoseTime pt, bool isHuman, bool isGndBased)
 
UPoseTime getPosePrev ()
 
virtual UObstaclemakeNewObst ()
 
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 ()
 
UObstaclegetNewObst ()
 
UObstaclegetObstacle (int idx)
 
UObstaclegetObstacle (unsigned long oSerial, bool mayCreate, int *obstacleIndex)
 
int getObstsCnt ()
 
UPoseTime getPoseFirst ()
 
UPoseTime getPoseLast ()
 
UPoseTimegetPPoseFirst ()
 
UPoseTimegetPPoseLast ()
 
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
 
UObstacleobsts [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
 

Detailed Description

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.

Constructor & Destructor Documentation

UObj3dGroup::UObj3dGroup ( )

Constructor

References mergeObstacles, and obstacleMergeDistance.

Referenced by UObj3dPool::advanceNewGroup().

UObj3dGroup::~UObj3dGroup ( )

Destructor

Member Function Documentation

bool UObj3dGroup::addObstPoly ( UPolygon newpoly,
UPoseTime  pt,
bool  isHuman,
bool  isGndBased 
)
UPoseTime UObj3dGroup::getPosePrev ( )
inline

Get previous postion. Previous position is the pose for the set of updates before the latest set of updates.

virtual UObstacle* UObj3dGroup::makeNewObst ( )
inlinevirtual

This is where new obstacles are created, used by obstacle group, when new obstacles are needed (old obstacles are reused if possible)

Returns
pointer to the newly created obstacle

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().

void UObj3dGroup::setPosePrev ( UPoseTime  pt)
inline

Set previous postion. Previous position is the pose for the set of updates before the latest set of updates.

Referenced by UObj3dPool::getObstGrp().

Member Data Documentation

bool UObj3dGroup::mergeObstacles
protected

Merge obstacles

Referenced by addObstPoly(), setMergeDistance(), and UObj3dGroup().

double UObj3dGroup::obstacleMergeDistance
protected

Merge distance

Referenced by addObstPoly(), setMergeDistance(), and UObj3dGroup().

UPoseTime UObj3dGroup::posePrev
protected

Previous pose, to be used for merging obstacles in rough grass

Referenced by addObstPoly().


The documentation for this class was generated from the following files: