ompl::GridB< _T, LessThanExternal, LessThanInternal > Class Template Reference

This class defines a grid that keeps track of its boundary: it distinguishes between interior and exterior cells. More...

#include <GridB.h>

Inheritance diagram for ompl::GridB< _T, LessThanExternal, LessThanInternal >:
Inheritance graph
[legend]

List of all members.

Classes

struct  LessThanExternalCell
 Define order for external cells. More...
struct  LessThanInternalCell
 Define order for internal cells. More...

Public Types

typedef GridN< _T >::Cell Cell
 Definition of a cell in this grid.
typedef GridN< _T >::CellArray CellArray
 The datatype for arrays of cells.
typedef GridN< _T >::Coord Coord
 Datatype for cell coordinates.
typedef void(* EventCellUpdate )(Cell *, void *)

Public Member Functions

virtual void add (Cell *cell)
 Add the cell to the grid.
virtual void clear (void)
 Clear all cells in the grid.
unsigned int countExternal (void) const
 Return the number of external cells.
unsigned int countInternal (void) const
 Return the number of internal cells.
virtual CellcreateCell (const Coord &coord, CellArray *nbh=NULL)
 Create a cell but do not add it to the grid; update neighboring cells however.
double fracExternal (void) const
 Return the fraction of external cells.
double fracInternal (void) const
 Return the fraction of internal cells.
 GridB (unsigned int dimension)
 Constructor.
void onCellUpdate (EventCellUpdate event, void *arg)
virtual bool remove (Cell *cell)
 Remove a cell from the grid.
virtual void status (std::ostream &out=std::cout) const
 Print information about the data in this grid structure.
CelltopExternal (void) const
 Return the cell that is at the top of the heap maintaining external cells.
CelltopInternal (void) const
 Return the cell that is at the top of the heap maintaining internal cells.
void update (Cell *cell)
 Update the position in the heaps for a particular cell.
void updateAll (void)
 Update all cells and reconstruct the heaps.
virtual ~GridB (void)

Protected Types

typedef BinaryHeap< CellX
*, LessThanExternalCell
externalBHeap
 Datatype for a heap of cells containing exterior cells.
typedef BinaryHeap< CellX
*, LessThanInternalCell
internalBHeap
 Datatype for a heap of cells containing interior cells.

Protected Member Functions

void clearHeaps (void)
 Clear the data from both heaps.
void setupHeaps (void)
 Set the update procedure for the heaps of internal and external cells.

Static Protected Member Functions

static void noCellUpdate (Cell *, void *)
 Default no-op update routine for a cell.
static void setHeapElementE (typename externalBHeap::Element *element, void *)
 Routine used internally for keeping track of binary heap elements for external cells.
static void setHeapElementI (typename internalBHeap::Element *element, void *)
 Routine used internally for keeping track of binary heap elements for internal cells.

Protected Attributes

EventCellUpdate eventCellUpdate_
 Pointer to function to be called when a cell needs to be updated.
void * eventCellUpdateData_
 Data to be passed to function pointer above.
externalBHeap external_
 The heap of external cells.
internalBHeap internal_
 The heap of interior cells.

Detailed Description

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
class ompl::GridB< _T, LessThanExternal, LessThanInternal >

This class defines a grid that keeps track of its boundary: it distinguishes between interior and exterior cells.

Definition at line 51 of file GridB.h.


Member Typedef Documentation

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
typedef GridN<_T>::Cell ompl::GridB< _T, LessThanExternal, LessThanInternal >::Cell

Definition of a cell in this grid.

Definition at line 56 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
typedef GridN<_T>::CellArray ompl::GridB< _T, LessThanExternal, LessThanInternal >::CellArray

The datatype for arrays of cells.

Reimplemented from ompl::GridN< _T >.

Definition at line 59 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
typedef GridN<_T>::Coord ompl::GridB< _T, LessThanExternal, LessThanInternal >::Coord

Datatype for cell coordinates.

Reimplemented from ompl::GridN< _T >.

Definition at line 62 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
typedef void(* ompl::GridB< _T, LessThanExternal, LessThanInternal >::EventCellUpdate)(Cell *, void *)

Event to be called when a cell's priority is to be updated

Definition at line 87 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
typedef BinaryHeap< CellX*, LessThanExternalCell > ompl::GridB< _T, LessThanExternal, LessThanInternal >::externalBHeap [protected]

Datatype for a heap of cells containing exterior cells.

Definition at line 345 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
typedef BinaryHeap< CellX*, LessThanInternalCell > ompl::GridB< _T, LessThanExternal, LessThanInternal >::internalBHeap [protected]

Datatype for a heap of cells containing interior cells.

Definition at line 342 of file GridB.h.


Constructor & Destructor Documentation

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
ompl::GridB< _T, LessThanExternal, LessThanInternal >::GridB ( unsigned int  dimension  )  [inline, explicit]

Constructor.

Definition at line 91 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
virtual ompl::GridB< _T, LessThanExternal, LessThanInternal >::~GridB ( void   )  [inline, virtual]

Definition at line 96 of file GridB.h.


Member Function Documentation

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
virtual void ompl::GridB< _T, LessThanExternal, LessThanInternal >::add ( Cell cell  )  [inline, virtual]

Add the cell to the grid.

Reimplemented from ompl::Grid< _T >.

Definition at line 214 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
virtual void ompl::GridB< _T, LessThanExternal, LessThanInternal >::clear ( void   )  [inline, virtual]

Clear all cells in the grid.

Reimplemented from ompl::Grid< _T >.

Definition at line 276 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
void ompl::GridB< _T, LessThanExternal, LessThanInternal >::clearHeaps ( void   )  [inline, protected]

Clear the data from both heaps.

Definition at line 312 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
unsigned int ompl::GridB< _T, LessThanExternal, LessThanInternal >::countExternal ( void   )  const [inline]

Return the number of external cells.

Definition at line 130 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
unsigned int ompl::GridB< _T, LessThanExternal, LessThanInternal >::countInternal ( void   )  const [inline]

Return the number of internal cells.

Definition at line 124 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
virtual Cell* ompl::GridB< _T, LessThanExternal, LessThanInternal >::createCell ( const Coord coord,
CellArray nbh = NULL 
) [inline, virtual]

Create a cell but do not add it to the grid; update neighboring cells however.

Reimplemented from ompl::Grid< _T >.

Definition at line 171 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
double ompl::GridB< _T, LessThanExternal, LessThanInternal >::fracExternal ( void   )  const [inline]

Return the fraction of external cells.

Definition at line 136 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
double ompl::GridB< _T, LessThanExternal, LessThanInternal >::fracInternal ( void   )  const [inline]

Return the fraction of internal cells.

Definition at line 142 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
static void ompl::GridB< _T, LessThanExternal, LessThanInternal >::noCellUpdate ( Cell ,
void *   
) [inline, static, protected]

Default no-op update routine for a cell.

Definition at line 298 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
void ompl::GridB< _T, LessThanExternal, LessThanInternal >::onCellUpdate ( EventCellUpdate  event,
void *  arg 
) [inline]

Set the function callback and to be called when a cell's priority is updated

Definition at line 103 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
virtual bool ompl::GridB< _T, LessThanExternal, LessThanInternal >::remove ( Cell cell  )  [inline, virtual]

Remove a cell from the grid.

Reimplemented from ompl::GridN< _T >.

Definition at line 228 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
static void ompl::GridB< _T, LessThanExternal, LessThanInternal >::setHeapElementE ( typename externalBHeap::Element *  element,
void *   
) [inline, static, protected]

Routine used internally for keeping track of binary heap elements for external cells.

Definition at line 354 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
static void ompl::GridB< _T, LessThanExternal, LessThanInternal >::setHeapElementI ( typename internalBHeap::Element *  element,
void *   
) [inline, static, protected]

Routine used internally for keeping track of binary heap elements for internal cells.

Definition at line 348 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
void ompl::GridB< _T, LessThanExternal, LessThanInternal >::setupHeaps ( void   )  [inline, protected]

Set the update procedure for the heaps of internal and external cells.

Definition at line 303 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
virtual void ompl::GridB< _T, LessThanExternal, LessThanInternal >::status ( std::ostream &  out = std::cout  )  const [inline, virtual]

Print information about the data in this grid structure.

Reimplemented from ompl::Grid< _T >.

Definition at line 282 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
Cell* ompl::GridB< _T, LessThanExternal, LessThanInternal >::topExternal ( void   )  const [inline]

Return the cell that is at the top of the heap maintaining external cells.

Definition at line 117 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
Cell* ompl::GridB< _T, LessThanExternal, LessThanInternal >::topInternal ( void   )  const [inline]

Return the cell that is at the top of the heap maintaining internal cells.

Definition at line 110 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
void ompl::GridB< _T, LessThanExternal, LessThanInternal >::update ( Cell cell  )  [inline]

Update the position in the heaps for a particular cell.

Definition at line 148 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
void ompl::GridB< _T, LessThanExternal, LessThanInternal >::updateAll ( void   )  [inline]

Update all cells and reconstruct the heaps.

Definition at line 160 of file GridB.h.


Member Data Documentation

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
EventCellUpdate ompl::GridB< _T, LessThanExternal, LessThanInternal >::eventCellUpdate_ [protected]

Pointer to function to be called when a cell needs to be updated.

Definition at line 292 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
void* ompl::GridB< _T, LessThanExternal, LessThanInternal >::eventCellUpdateData_ [protected]

Data to be passed to function pointer above.

Definition at line 295 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
externalBHeap ompl::GridB< _T, LessThanExternal, LessThanInternal >::external_ [protected]

The heap of external cells.

Definition at line 363 of file GridB.h.

template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
internalBHeap ompl::GridB< _T, LessThanExternal, LessThanInternal >::internal_ [protected]

The heap of interior cells.

Definition at line 360 of file GridB.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


ompl
Author(s): Ioan Sucan/isucan@rice.edu, Mark Moll/mmoll@rice.edu, Lydia Kavraki/kavraki@rice.edu
autogenerated on Fri Jan 11 09:33:58 2013