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);
INTPOINT3D getClosestObstacle(int x, int y, int z) const
gets the closest occupied cell for that location
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
unsigned int getSizeY() const
returns the y size of the workspace/map
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)
void occupyCell(int x, int y, int z)
add an obstacle at the specified cell coordinate
int getSQCellDistance(int x, int y, int z) const
returns the squared obstacle distance in cell units at the specified location
std::vector< INTPOINT3D > lastObstacles
float getDistance(int x, int y, int z) const
returns the obstacle distance at the specified location
void propagateCell(INTPOINT3D &p, dataCell &c, bool updateRealDist)
BucketPrioQueue< INTPOINT3D > open
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)
bool isOccupied(int x, int y, int z) const
checks whether the specficied location is occupied
A DynamicEDT3D object computes and updates a 3D distance map.
unsigned int getSizeZ() const
returns the z size of the workspace/map
virtual void update(bool updateRealDist=true)
update distance map to reflect the changes
void removeObstacle(int x, int y, int z)
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)