38 #ifndef _DYNAMICEDT3D_H_ 39 #define _DYNAMICEDT3D_H_ 57 void initializeMap(
int _sizeX,
int _sizeY,
int sizeZ,
bool*** _gridMap);
67 virtual void update(
bool updateRealDist=
true);
110 inline void inspectCellRaise(
int &nx,
int &ny,
int &nz,
bool updateRealDist);
void initializeMap(int _sizeX, int _sizeY, int sizeZ, bool ***_gridMap)
Initialization with a given binary map (false==free, true==occupied)
void clearCell(int x, int y, int z)
remove an obstacle at the specified cell coordinate
void setObstacle(int x, int y, int z)
static int distanceInCellsValue_Error
distance value returned when requesting distance in cell units for a cell outside the map ...
std::vector< INTPOINT3D > removeList
void raiseCell(INTPOINT3D &p, dataCell &c, bool updateRealDist)
float getDistance(int x, int y, int z) const
returns the obstacle distance at the specified location
void occupyCell(int x, int y, int z)
add an obstacle at the specified cell coordinate
std::vector< INTPOINT3D > lastObstacles
void propagateCell(INTPOINT3D &p, dataCell &c, bool updateRealDist)
BucketPrioQueue< INTPOINT3D > open
unsigned int getSizeZ() const
returns the z size of the workspace/map
void exchangeObstacles(std::vector< INTPOINT3D > newObstacles)
remove old dynamic obstacles and add the new ones
void initializeEmpty(int _sizeX, int _sizeY, int sizeZ, bool initGridMap=true)
Initialization with an empty map.
void commitAndColorize(bool updateRealDist=true)
std::vector< INTPOINT3D > addList
static float distanceValue_Error
distance value returned when requesting distance for a cell outside the map
void inspectCellRaise(int &nx, int &ny, int &nz, bool updateRealDist)
A DynamicEDT3D object computes and updates a 3D distance map.
int getSQCellDistance(int x, int y, int z) const
returns the squared obstacle distance in cell units at the specified location
bool isOccupied(int x, int y, int z) const
checks whether the specficied location is occupied
virtual void update(bool updateRealDist=true)
update distance map to reflect the changes
void removeObstacle(int x, int y, int z)
INTPOINT3D getClosestObstacle(int x, int y, int z) const
gets the closest occupied cell for that location
unsigned int getSizeY() const
returns the y size of the workspace/map
unsigned int getSizeX() const
returns the x size of the workspace/map
DynamicEDT3D(int _maxdist_squared)
void inspectCellPropagate(int &nx, int &ny, int &nz, dataCell &c, bool updateRealDist)