Loading...
Searching...
No Matches
Classes |
Public Types |
Public Member Functions |
Protected Types |
Protected Member Functions |
Static Protected Member Functions |
Protected Attributes |
List of all members
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 <ompl/datastructures/GridB.h>
Inheritance diagram for ompl::GridB< _T, LessThanExternal, LessThanInternal >:

Classes | |
| struct | LessThanInternalCell |
| Define order for internal cells. More... | |
| struct | LessThanExternalCell |
| Define order for external cells. More... | |
Public Types | |
| using | Cell = typename GridN<_T>::Cell |
| Definition of a cell in this grid. | |
| using | BaseCell = typename GridN<_T>::BaseCell |
| using | CellArray = typename GridN<_T>::CellArray |
| The datatype for arrays of cells. | |
| using | Coord = typename GridN<_T>::Coord |
| Datatype for cell coordinates. | |
| using | EventCellUpdate = void (*)(Cell *, void *) |
| Event to be called when a cell's priority is to be updated. | |
| Public Types inherited from ompl::GridN< _T > | |
| using | BaseCell = typename Grid<_T>::Cell |
| Datatype for cell in base class. | |
| using | BaseCellArray = typename Grid<_T>::CellArray |
| Datatype for array of cells in base class. | |
| using | Coord = typename Grid<_T>::Coord |
| Datatype for cell coordinates. | |
| using | CellArray = std::vector<Cell *> |
| The datatype for arrays of cells. | |
| Public Types inherited from ompl::Grid< _T > | |
| using | Coord = Eigen::VectorXi |
| Definition of a coordinate within this grid. | |
| using | CellArray = std::vector<Cell *> |
| The datatype for arrays of cells. | |
| using | iterator = typename CoordHash::const_iterator |
| We only allow const iterators. | |
Public Member Functions | |
| GridB (unsigned int dimension) | |
| Constructor. | |
| void | onCellUpdate (EventCellUpdate event, void *arg) |
| Cell * | topInternal () const |
| Return the cell that is at the top of the heap maintaining internal cells. | |
| Cell * | topExternal () const |
| Return the cell that is at the top of the heap maintaining external cells. | |
| unsigned int | countInternal () const |
| Return the number of internal cells. | |
| unsigned int | countExternal () const |
| Return the number of external cells. | |
| double | fracExternal () const |
| Return the fraction of external cells. | |
| double | fracInternal () const |
| Return the fraction of internal cells. | |
| void | update (Cell *cell) |
| Update the position in the heaps for a particular cell. | |
| void | updateAll () |
| Update all cells and reconstruct the heaps. | |
| virtual Cell * | createCell (const Coord &coord, CellArray *nbh=nullptr) |
| Create a cell but do not add it to the grid; update neighboring cells however. | |
| virtual void | add (Cell *cell) |
| Add the cell to the grid. | |
| bool | remove (BaseCell *cell) override |
| Remove a cell from the grid. | |
| void | clear () override |
| Clear all cells in the grid. | |
| void | status (std::ostream &out=std::cout) const override |
| Print information about the data in this grid structure. | |
| Public Member Functions inherited from ompl::GridN< _T > | |
| GridN (unsigned int dimension) | |
| The constructor takes the dimension of the grid as argument. | |
| void | setDimension (unsigned int dimension) |
| void | setBounds (const Coord &low, const Coord &up) |
| void | setInteriorCellNeighborLimit (unsigned int count) |
| Cell * | getCell (const Coord &coord) const |
| Get the cell at a specified coordinate. | |
| void | neighbors (const Cell *cell, CellArray &list) const |
| Get the list of neighbors for a given cell. | |
| void | neighbors (const Coord &coord, CellArray &list) const |
| Get the list of neighbors for a given coordinate. | |
| void | neighbors (Coord &coord, CellArray &list) const |
| Get the list of neighbors for a given coordinate. | |
| BaseCell * | createCell (const Coord &coord, BaseCellArray *nbh=nullptr) override |
| bool | remove (BaseCell *cell) override |
| void | getCells (CellArray &cells) const |
| Get the set of instantiated cells in the grid. | |
| Public Member Functions inherited from ompl::Grid< _T > | |
| Grid (unsigned int dimension) | |
| The constructor takes the dimension of the grid as argument. | |
| virtual | ~Grid () |
| Destructor. | |
| unsigned int | getDimension () const |
| Return the dimension of the grid. | |
| void | setDimension (unsigned int dimension) |
| bool | has (const Coord &coord) const |
| Check if a cell exists at the specified coordinate. | |
| Cell * | getCell (const Coord &coord) const |
| Get the cell at a specified coordinate. | |
| void | neighbors (const Cell *cell, CellArray &list) const |
| Get the list of neighbors for a given cell. | |
| void | neighbors (const Coord &coord, CellArray &list) const |
| Get the list of neighbors for a given coordinate. | |
| void | neighbors (Coord &coord, CellArray &list) const |
| Get the list of neighbors for a given coordinate. | |
| std::vector< std::vector< Cell * > > | components () const |
| Get the connected components formed by the cells in this grid (based on neighboring relation). | |
| virtual bool | remove (Cell *cell) |
| virtual void | add (Cell *cell) |
| Add an instantiated cell to the grid. | |
| virtual void | destroyCell (Cell *cell) const |
| Clear the memory occupied by a cell; do not call this function unless remove() was called first. | |
| void | getContent (std::vector< _T > &content) const |
| Get the data stored in the cells we are aware of. | |
| void | getCoordinates (std::vector< Coord * > &coords) const |
| Get the set of coordinates where there are cells. | |
| void | getCells (CellArray &cells) const |
| Get the set of instantiated cells in the grid. | |
| void | printCoord (Coord &coord, std::ostream &out=std::cout) const |
| Print the value of a coordinate to a stream. | |
| bool | empty () const |
| Check if the grid is empty. | |
| unsigned int | size () const |
| Check the size of the grid. | |
| iterator | begin () const |
| Return the begin() iterator for the grid. | |
| iterator | end () const |
| Return the end() iterator for the grid. | |
Protected Types | |
| using | internalBHeap = BinaryHeap<CellX *, LessThanInternalCell> |
| Datatype for a heap of cells containing interior cells. | |
| using | externalBHeap = BinaryHeap<CellX *, LessThanExternalCell> |
| Datatype for a heap of cells containing exterior cells. | |
| Protected Types inherited from ompl::Grid< _T > | |
| using | CoordHash = std::unordered_map<Coord *, Cell *, HashFunCoordPtr, EqualCoordPtr> |
| Define the datatype for the used hash structure. | |
Protected Member Functions | |
| void | setupHeaps () |
| Set the update procedure for the heaps of internal and external cells. | |
| void | clearHeaps () |
| Clear the data from both heaps. | |
| Protected Member Functions inherited from ompl::GridN< _T > | |
| unsigned int | numberOfBoundaryDimensions (const Coord &coord) const |
| Compute how many sides of a coordinate touch the boundaries of the grid. | |
| Protected Member Functions inherited from ompl::Grid< _T > | |
| void | freeMemory () |
| Free the allocated memory. | |
Static Protected Member Functions | |
| static void | noCellUpdate (Cell *, void *) |
| Default no-op update routine for a cell. | |
| static void | setHeapElementI (typename internalBHeap::Element *element, void *) |
| Routine used internally for keeping track of binary heap elements for internal cells. | |
| static void | setHeapElementE (typename externalBHeap::Element *element, void *) |
| Routine used internally for keeping track of binary heap elements for external 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. | |
| internalBHeap | internal_ |
| The heap of interior cells. | |
| externalBHeap | external_ |
| The heap of external cells. | |
| Protected Attributes inherited from ompl::GridN< _T > | |
| bool | hasBounds_ |
| Flag indicating whether bounds are in effect for this grid. | |
| Coord | lowBound_ |
| If bounds are set, this defines the lower corner cell. | |
| Coord | upBound_ |
| If bounds are set, this defines the upper corner cell. | |
| unsigned int | interiorCellNeighborsLimit_ |
| bool | overrideCellNeighborsLimit_ |
| Protected Attributes inherited from ompl::Grid< _T > | |
| unsigned int | dimension_ |
| The dimension of the grid. | |
| unsigned int | maxNeighbors_ |
| The maximum number of neighbors a cell can have (2 * dimension). | |
| CoordHash | hash_ |
| The hash holding the cells. | |
Detailed Description
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
class ompl::GridB< _T, LessThanExternal, LessThanInternal >
class ompl::GridB< _T, LessThanExternal, LessThanInternal >
This class defines a grid that keeps track of its boundary: it distinguishes between interior and exterior cells.
Member Typedef Documentation
◆ BaseCell
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
| using ompl::GridB< _T, LessThanExternal, LessThanInternal >::BaseCell = typename GridN<_T>::BaseCell |
◆ Cell
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
| using ompl::GridB< _T, LessThanExternal, LessThanInternal >::Cell = typename GridN<_T>::Cell |
◆ CellArray
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
| using ompl::GridB< _T, LessThanExternal, LessThanInternal >::CellArray = typename GridN<_T>::CellArray |
◆ Coord
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
| using ompl::GridB< _T, LessThanExternal, LessThanInternal >::Coord = typename GridN<_T>::Coord |
◆ EventCellUpdate
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
| using ompl::GridB< _T, LessThanExternal, LessThanInternal >::EventCellUpdate = void (*)(Cell *, void *) |
◆ externalBHeap
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
protected |
◆ internalBHeap
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
protected |
Constructor & Destructor Documentation
◆ GridB()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inlineexplicit |
◆ ~GridB()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inlineoverride |
Member Function Documentation
◆ add()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inlinevirtual |
◆ clear()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inlineoverridevirtual |
Clear all cells in the grid.
Reimplemented from ompl::Grid< _T >.
◆ clearHeaps()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inlineprotected |
◆ countExternal()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inline |
◆ countInternal()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inline |
◆ createCell()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inlinevirtual |
Create a cell but do not add it to the grid; update neighboring cells however.
Reimplemented from ompl::Grid< _T >.
◆ fracExternal()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inline |
◆ fracInternal()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inline |
◆ noCellUpdate()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inlinestaticprotected |
◆ onCellUpdate()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inline |
◆ remove()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inlineoverride |
◆ setHeapElementE()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inlinestaticprotected |
◆ setHeapElementI()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inlinestaticprotected |
◆ setupHeaps()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inlineprotected |
◆ status()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inlineoverridevirtual |
Print information about the data in this grid structure.
Reimplemented from ompl::Grid< _T >.
◆ topExternal()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inline |
◆ topInternal()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inline |
◆ update()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inline |
◆ updateAll()
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
inline |
Member Data Documentation
◆ eventCellUpdate_
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
protected |
◆ eventCellUpdateData_
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
protected |
◆ external_
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
protected |
◆ internal_
template<typename _T, class LessThanExternal = std::less<_T>, class LessThanInternal = LessThanExternal>
|
protected |
The documentation for this class was generated from the following file:
- ompl/datastructures/GridB.h