Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
DynamicEDT3D Class Reference

A DynamicEDT3D object computes and updates a 3D distance map. More...

#include <dynamicEDT3D.h>

Inheritance diagram for DynamicEDT3D:
Inheritance graph
[legend]

List of all members.

Classes

struct  dataCell

Public Types

enum  ObstDataState { invalidObstData = INT_MAX }

Public Member Functions

void clearCell (int x, int y, int z)
 remove an obstacle at the specified cell coordinate
 DynamicEDT3D (int _maxdist_squared)
void exchangeObstacles (std::vector< INTPOINT3D > newObstacles)
 remove old dynamic obstacles and add the new ones
INTPOINT3D getClosestObstacle (int x, int y, int z) const
 gets the closest occupied cell for that location
float getDistance (int x, int y, int z) const
 returns the obstacle distance at the specified location
unsigned int getSizeX () const
 returns the x size of the workspace/map
unsigned int getSizeY () const
 returns the y size of the workspace/map
unsigned int getSizeZ () const
 returns the z size of the workspace/map
int getSQCellDistance (int x, int y, int z) const
 returns the squared obstacle distance in cell units at the specified location
void initializeEmpty (int _sizeX, int _sizeY, int sizeZ, bool initGridMap=true)
 Initialization with an empty map.
void initializeMap (int _sizeX, int _sizeY, int sizeZ, bool ***_gridMap)
 Initialization with a given binary map (false==free, true==occupied)
bool isOccupied (int x, int y, int z) const
 checks whether the specficied location is occupied
void occupyCell (int x, int y, int z)
 add an obstacle at the specified cell coordinate
virtual void update (bool updateRealDist=true)
 update distance map to reflect the changes
 ~DynamicEDT3D ()

Static Public Attributes

static int distanceInCellsValue_Error = -1
 distance value returned when requesting distance in cell units for a cell outside the map
static float distanceValue_Error = -1.0
 distance value returned when requesting distance for a cell outside the map

Protected Types

enum  QueueingState {
  fwNotQueued = 1, fwQueued = 2, fwProcessed = 3, bwQueued = 4,
  bwProcessed = 1
}
enum  State { free = 0, occupied = 1 }

Protected Member Functions

void inspectCellPropagate (int &nx, int &ny, int &nz, dataCell &c, bool updateRealDist)
void inspectCellRaise (int &nx, int &ny, int &nz, bool updateRealDist)
void propagateCell (INTPOINT3D &p, dataCell &c, bool updateRealDist)
void raiseCell (INTPOINT3D &p, dataCell &c, bool updateRealDist)
void removeObstacle (int x, int y, int z)
void setObstacle (int x, int y, int z)

Protected Attributes

dataCell *** data
double doubleThreshold
bool *** gridMap
double maxDist
int maxDist_squared
int padding
int sizeX
int sizeXm1
int sizeY
int sizeYm1
int sizeZ
int sizeZm1
double sqrt2

Private Member Functions

void commitAndColorize (bool updateRealDist=true)
bool isOccupied (int &x, int &y, int &z, dataCell &c)

Private Attributes

std::vector< INTPOINT3DaddList
std::vector< INTPOINT3DlastObstacles
BucketPrioQueue< INTPOINT3Dopen
std::vector< INTPOINT3DremoveList

Detailed Description

A DynamicEDT3D object computes and updates a 3D distance map.

dynamicEDT3D: A library for incrementally updatable Euclidean distance transforms in 3D.

Author:
C. Sprunk, B. Lau, W. Burgard, University of Freiburg, Copyright (C) 2011.
See also:
http://octomap.sourceforge.net/ License: New BSD License

Definition at line 47 of file dynamicEDT3D.h.


Member Enumeration Documentation

Enumerator:
invalidObstData 

Definition at line 86 of file dynamicEDT3D.h.

enum DynamicEDT3D::QueueingState [protected]
Enumerator:
fwNotQueued 
fwQueued 
fwProcessed 
bwQueued 
bwProcessed 

Definition at line 105 of file dynamicEDT3D.h.

enum DynamicEDT3D::State [protected]
Enumerator:
free 
occupied 

Definition at line 104 of file dynamicEDT3D.h.


Constructor & Destructor Documentation

DynamicEDT3D::DynamicEDT3D ( int  _maxdist_squared)

Definition at line 109 of file dynamicEDT3D.cpp.

Definition at line 117 of file dynamicEDT3D.cpp.


Member Function Documentation

void DynamicEDT3D::clearCell ( int  x,
int  y,
int  z 
)

remove an obstacle at the specified cell coordinate

Definition at line 260 of file dynamicEDT3D.cpp.

void DynamicEDT3D::commitAndColorize ( bool  updateRealDist = true) [private]

Definition at line 544 of file dynamicEDT3D.cpp.

void DynamicEDT3D::exchangeObstacles ( std::vector< INTPOINT3D newObstacles)

remove old dynamic obstacles and add the new ones

Definition at line 288 of file dynamicEDT3D.cpp.

INTPOINT3D DynamicEDT3D::getClosestObstacle ( int  x,
int  y,
int  z 
) const

gets the closest occupied cell for that location

Definition at line 528 of file dynamicEDT3D.cpp.

float DynamicEDT3D::getDistance ( int  x,
int  y,
int  z 
) const

returns the obstacle distance at the specified location

Definition at line 521 of file dynamicEDT3D.cpp.

unsigned int DynamicEDT3D::getSizeX ( ) const [inline]

returns the x size of the workspace/map

Definition at line 80 of file dynamicEDT3D.h.

unsigned int DynamicEDT3D::getSizeY ( ) const [inline]

returns the y size of the workspace/map

Definition at line 82 of file dynamicEDT3D.h.

unsigned int DynamicEDT3D::getSizeZ ( ) const [inline]

returns the z size of the workspace/map

Definition at line 84 of file dynamicEDT3D.h.

int DynamicEDT3D::getSQCellDistance ( int  x,
int  y,
int  z 
) const

returns the squared obstacle distance in cell units at the specified location

Definition at line 536 of file dynamicEDT3D.cpp.

void DynamicEDT3D::initializeEmpty ( int  _sizeX,
int  _sizeY,
int  sizeZ,
bool  initGridMap = true 
)

Initialization with an empty map.

Definition at line 139 of file dynamicEDT3D.cpp.

void DynamicEDT3D::initializeMap ( int  _sizeX,
int  _sizeY,
int  sizeZ,
bool ***  _gridMap 
)

Initialization with a given binary map (false==free, true==occupied)

Definition at line 209 of file dynamicEDT3D.cpp.

void DynamicEDT3D::inspectCellPropagate ( int &  nx,
int &  ny,
int &  nz,
dataCell c,
bool  updateRealDist 
) [inline, protected]

Definition at line 480 of file dynamicEDT3D.cpp.

void DynamicEDT3D::inspectCellRaise ( int &  nx,
int &  ny,
int &  nz,
bool  updateRealDist 
) [inline, protected]

Definition at line 362 of file dynamicEDT3D.cpp.

bool DynamicEDT3D::isOccupied ( int  x,
int  y,
int  z 
) const

checks whether the specficied location is occupied

Definition at line 584 of file dynamicEDT3D.cpp.

bool DynamicEDT3D::isOccupied ( int &  x,
int &  y,
int &  z,
dataCell c 
) [inline, private]

Definition at line 589 of file dynamicEDT3D.cpp.

void DynamicEDT3D::occupyCell ( int  x,
int  y,
int  z 
)

add an obstacle at the specified cell coordinate

Definition at line 255 of file dynamicEDT3D.cpp.

void DynamicEDT3D::propagateCell ( INTPOINT3D p,
dataCell c,
bool  updateRealDist 
) [inline, protected]

Definition at line 385 of file dynamicEDT3D.cpp.

void DynamicEDT3D::raiseCell ( INTPOINT3D p,
dataCell c,
bool  updateRealDist 
) [inline, protected]

Definition at line 338 of file dynamicEDT3D.cpp.

void DynamicEDT3D::removeObstacle ( int  x,
int  y,
int  z 
) [protected]

Definition at line 276 of file dynamicEDT3D.cpp.

void DynamicEDT3D::setObstacle ( int  x,
int  y,
int  z 
) [protected]

Definition at line 265 of file dynamicEDT3D.cpp.

void DynamicEDT3D::update ( bool  updateRealDist = true) [virtual]

update distance map to reflect the changes

Reimplemented in DynamicEDTOctomap.

Definition at line 313 of file dynamicEDT3D.cpp.


Member Data Documentation

std::vector<INTPOINT3D> DynamicEDT3D::addList [private]

Definition at line 125 of file dynamicEDT3D.h.

dataCell*** DynamicEDT3D::data [protected]

Definition at line 137 of file dynamicEDT3D.h.

distance value returned when requesting distance in cell units for a cell outside the map

Reimplemented in DynamicEDTOctomap.

Definition at line 91 of file dynamicEDT3D.h.

float DynamicEDT3D::distanceValue_Error = -1.0 [static]

distance value returned when requesting distance for a cell outside the map

Reimplemented in DynamicEDTOctomap.

Definition at line 89 of file dynamicEDT3D.h.

double DynamicEDT3D::doubleThreshold [protected]

Definition at line 142 of file dynamicEDT3D.h.

bool*** DynamicEDT3D::gridMap [protected]

Definition at line 138 of file dynamicEDT3D.h.

std::vector<INTPOINT3D> DynamicEDT3D::lastObstacles [private]

Definition at line 126 of file dynamicEDT3D.h.

double DynamicEDT3D::maxDist [protected]

Definition at line 145 of file dynamicEDT3D.h.

Definition at line 146 of file dynamicEDT3D.h.

Definition at line 122 of file dynamicEDT3D.h.

int DynamicEDT3D::padding [protected]

Definition at line 141 of file dynamicEDT3D.h.

std::vector<INTPOINT3D> DynamicEDT3D::removeList [private]

Definition at line 124 of file dynamicEDT3D.h.

int DynamicEDT3D::sizeX [protected]

Definition at line 130 of file dynamicEDT3D.h.

int DynamicEDT3D::sizeXm1 [protected]

Definition at line 133 of file dynamicEDT3D.h.

int DynamicEDT3D::sizeY [protected]

Definition at line 131 of file dynamicEDT3D.h.

int DynamicEDT3D::sizeYm1 [protected]

Definition at line 134 of file dynamicEDT3D.h.

int DynamicEDT3D::sizeZ [protected]

Definition at line 132 of file dynamicEDT3D.h.

int DynamicEDT3D::sizeZm1 [protected]

Definition at line 135 of file dynamicEDT3D.h.

double DynamicEDT3D::sqrt2 [protected]

Definition at line 144 of file dynamicEDT3D.h.


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


dynamicEDT3D
Author(s): Christoph Sprunk
autogenerated on Thu Feb 11 2016 23:51:18