#include <BALL/DATATYPE/hashGrid.h>
Classes | |
| class | BoxIteratorTraits |
Public Member Functions | |
Constructors and destructor | |
| HashGrid3 () | |
| Default constructor. | |
| HashGrid3 (const Vector3 &origin, Size dimension_x, Size dimension_y, Size dimension_z, float spacing_x, float spacing_y, float spacing_z) | |
| HashGrid3 (const Vector3 &origin, Size dimension_x, Size dimension_y, Size dimension_z, float spacing) | |
| HashGrid3 (const Vector3 &origin, const Vector3 &size, float spacing) | |
| HashGrid3 (const HashGrid3 &grid, bool deep=true) | |
| Copy constructor. | |
| virtual | ~HashGrid3 () |
| Destructor. | |
| virtual void | clear () |
| Clears the whole grid. | |
| void | clear (Position x, Position y, Position z) |
| Clears the HashGridBox3 at position (x, y, z). | |
| void | clear (const Vector3 &vector) |
Clears the HashGridBox3 at position vector | |
| void | destroy () |
| Destroys the grid (obsolete, only calls clear()). | |
| void | destroy (Position x, Position y, Position z) |
| Destroys a box of the grid (obsolete, only calls clear()). | |
| void | destroy (const Vector3 &vector) |
| Destroys a box of the grid (obsolete, only calls clear()). | |
Assignment | |
| void | set (const Vector3 &origin, const Vector3 &unit, Size dimension_x, Size dimension_y, Size dimension_z) |
| assigns the content of a hash grid (obsolete) | |
| void | set (const Vector3 &origin, float unit, Size size) |
| assigns the content of a hash grid (obsolete) | |
| void | set (const HashGrid3 &grid, bool deep=true) |
| assigns the content of a hash grid (obsolete) | |
| const HashGrid3 & | operator= (const HashGrid3 &grid) |
| Assignment operator. | |
| void | get (Vector3 &origin, Vector3 &unit, Size &dimension_x, Size &dimension_y, Size &dimension_z) const |
| void | get (HashGrid3 &grid, bool deep=true) const |
Accessors | |
| Size | countNonEmptyBoxes () const |
| Counts the non-empty boxes of a grid. | |
| Size | getSize () const |
| Returns the size of a grid, i. e. ????? | |
| Vector3 & | getOrigin () |
| Returns the origin of the grid. | |
| const Vector3 & | getOrigin () const |
| Returns a const reference of the grid origin. | |
| Vector3 & | getUnit () |
| Returns the unit of the grid. | |
| const Vector3 & | getUnit () const |
| Returns the unit of the grid (const version). | |
| Size | getSizeX () const |
| Get the x dimension of the grid. | |
| Size | getSizeY () const |
| Get the y dimension of the grid. | |
| Size | getSizeZ () const |
| Get the z dimension of the grid. | |
| HashGridBox3< Item > * | getBox (Position x, Position y, Position z) |
| Return the HashGridBox3 at position (x, y, z). | |
| const HashGridBox3< Item > * | getBox (Position x, Position y, Position z) const |
| Return the HashGridBox3 at position (x, y, z) (const version). | |
| HashGridBox3< Item > * | getBox (const Vector3 &vector) |
| Return the HashGridBox3 at position vector. | |
| const HashGridBox3< Item > * | getBox (const Vector3 &vector) const |
| Return the HashGridBox3 at position vector (const version). | |
| bool | getIndices (const HashGridBox3< Item > &box, Position &x, Position &y, Position &z) const |
| Get the position indices of a HashGridBox3. | |
| void | insert (Position x, Position y, Position z, const Item &item) |
| Insert an item at position (x, y, z). | |
| void | insert (const Vector3 &vector, const Item &item) |
Insert an item at position vector | |
| bool | remove (Position x, Position y, Position z, const Item &item) |
| Remove an item from position (x, y ,z). | |
| bool | remove (const Vector3 &vector, const Item &item) |
Remove an item from position vector | |
Miscellaneous | |
| void | host (Visitor< HashGrid3 > &visitor) |
Predicates | |
| bool | operator== (const HashGrid3 &grid) const |
| Equality operator. | |
| bool | operator!= (const HashGrid3 &grid) const |
| Inequality operator. | |
| bool | isEmpty () const |
Tests, whether this is empty. | |
Debugging and Diagnostics | |
| virtual bool | isValid () const |
| Validity check. | |
| virtual void | dump (std::ostream &s=std::cout, Size depth=0) const |
| Dump the contents of a HashGrid3 to a stream. | |
Private Member Functions | |
| Index | getIndex_ (const HashGridBox3< Item > &box) const |
Private Attributes | |
| Vector3 | origin_ |
| Vector3 | unit_ |
| Size | dimension_x_ |
| Size | dimension_y_ |
| Size | dimension_z_ |
| vector< HashGridBox3< Item > > | box_ |
External Iterators | |
|
| |
| typedef Position | BoxIteratorPosition |
| typedef ForwardIterator < HashGrid3< Item > , HashGridBox3< Item > , BoxIteratorPosition, BoxIteratorTraits > | BoxIterator |
| typedef ConstForwardIterator < HashGrid3< Item > , HashGridBox3< Item > , BoxIteratorPosition, BoxIteratorTraits > | ConstBoxIterator |
| class | BoxIteratorTraits |
| BoxIterator | beginBox () |
| BoxIterator | endBox () |
| ConstBoxIterator | beginBox () const |
| ConstBoxIterator | endBox () const |
Internal Iterators | |
|
| |
| bool | apply (UnaryProcessor< Item > &processor) |
| bool | apply (UnaryProcessor< HashGridBox3< Item > > &processor) |
| const Item * | getClosestItem (const Vector3 &point, Size distance) const |
| static float | calculateMinSpacing (LongIndex memory, const Vector3 &size) |
Three-dimensional Hash Grid Class. ?????
Definition at line 755 of file hashGrid.h.
| typedef ForwardIterator<HashGrid3<Item>, HashGridBox3<Item>, BoxIteratorPosition, BoxIteratorTraits> BALL::HashGrid3< Item >::BoxIterator |
Definition at line 1097 of file hashGrid.h.
| typedef Position BALL::HashGrid3< Item >::BoxIteratorPosition |
Definition at line 969 of file hashGrid.h.
| typedef ConstForwardIterator<HashGrid3<Item>, HashGridBox3<Item>, BoxIteratorPosition, BoxIteratorTraits> BALL::HashGrid3< Item >::ConstBoxIterator |
Definition at line 1116 of file hashGrid.h.
| BALL::HashGrid3< Item >::HashGrid3 | ( | ) | [inline] |
Default constructor.
Definition at line 1156 of file hashGrid.h.
| BALL::HashGrid3< Item >::HashGrid3 | ( | const Vector3 & | origin, | |
| Size | dimension_x, | |||
| Size | dimension_y, | |||
| Size | dimension_z, | |||
| float | spacing_x, | |||
| float | spacing_y, | |||
| float | spacing_z | |||
| ) | [inline] |
Constructor using origin, dimensions, and spacings of the grid. It creates a hashgrid at origin with axis-dependant spacings.
| origin | ||
| dimension_x | ||
| dimension_y | ||
| dimension_z | ||
| spacing_x | ||
| spacing_y | ||
| spacing_z |
Definition at line 1167 of file hashGrid.h.
| BALL::HashGrid3< Item >::HashGrid3 | ( | const Vector3 & | origin, | |
| Size | dimension_x, | |||
| Size | dimension_y, | |||
| Size | dimension_z, | |||
| float | spacing | |||
| ) | [inline] |
Constructor using origin, dimensions, and a single spacing (only cubic grids)
Definition at line 1181 of file hashGrid.h.
| BALL::HashGrid3< Item >::HashGrid3 | ( | const Vector3 & | origin, | |
| const Vector3 & | size, | |||
| float | spacing | |||
| ) | [inline] |
Constructor using two vectors and a single spacing. This constructor creates a hash grid at origin with spacing spacing. The vector size has to be relative to origin and defines the opposite corner of the grid, thereby setting the size of the grid.
| origin | a vector defining the origin of our cubic hash grid | |
| size | a vector defining the opposite corner of the cubic grid | |
| spacing | this float will be used as spacing in all three dimensions |
Definition at line 1194 of file hashGrid.h.
| BALL::HashGrid3< Item >::HashGrid3 | ( | const HashGrid3< Item > & | grid, | |
| bool | deep = true | |||
| ) | [inline] |
Copy constructor.
Definition at line 1206 of file hashGrid.h.
| BALL::HashGrid3< Item >::~HashGrid3 | ( | ) | [inline, virtual] |
Destructor.
Definition at line 1212 of file hashGrid.h.
| bool BALL::HashGrid3< Item >::apply | ( | UnaryProcessor< HashGridBox3< Item > > & | processor | ) | [inline] |
Definition at line 1715 of file hashGrid.h.
| bool BALL::HashGrid3< Item >::apply | ( | UnaryProcessor< Item > & | processor | ) | [inline] |
Definition at line 1689 of file hashGrid.h.
| ConstBoxIterator BALL::HashGrid3< Item >::beginBox | ( | ) | const [inline] |
Definition at line 1119 of file hashGrid.h.
| BoxIterator BALL::HashGrid3< Item >::beginBox | ( | ) | [inline] |
Definition at line 1100 of file hashGrid.h.
| BALL_INLINE float BALL::HashGrid3< Item >::calculateMinSpacing | ( | LongIndex | memory, | |
| const Vector3 & | size | |||
| ) | [inline, static] |
Calculate the minimum required spacing to build a HashGrid3 with the given size and less than the given memory consumption.
| memory | the amount of memory in bytes | |
| size | the diagonal of the grid |
Definition at line 1456 of file hashGrid.h.
| BALL_INLINE void BALL::HashGrid3< Item >::clear | ( | const Vector3 & | vector | ) | [inline] |
Clears the HashGridBox3 at position vector
Definition at line 1241 of file hashGrid.h.
| BALL_INLINE void BALL::HashGrid3< Item >::clear | ( | Position | x, | |
| Position | y, | |||
| Position | z | |||
| ) | [inline] |
Clears the HashGridBox3 at position (x, y, z).
Definition at line 1229 of file hashGrid.h.
| void BALL::HashGrid3< Item >::clear | ( | ) | [inline, virtual] |
Clears the whole grid.
Definition at line 1217 of file hashGrid.h.
| Size BALL::HashGrid3< Item >::countNonEmptyBoxes | ( | ) | const [inline] |
Counts the non-empty boxes of a grid.
Definition at line 1342 of file hashGrid.h.
| BALL_INLINE void BALL::HashGrid3< Item >::destroy | ( | const Vector3 & | vector | ) | [inline] |
Destroys a box of the grid (obsolete, only calls clear()).
Definition at line 1267 of file hashGrid.h.
| BALL_INLINE void BALL::HashGrid3< Item >::destroy | ( | Position | x, | |
| Position | y, | |||
| Position | z | |||
| ) | [inline] |
Destroys a box of the grid (obsolete, only calls clear()).
Definition at line 1260 of file hashGrid.h.
| BALL_INLINE void BALL::HashGrid3< Item >::destroy | ( | ) | [inline] |
Destroys the grid (obsolete, only calls clear()).
Definition at line 1253 of file hashGrid.h.
| void BALL::HashGrid3< Item >::dump | ( | std::ostream & | s = std::cout, |
|
| Size | depth = 0 | |||
| ) | const [inline, virtual] |
Dump the contents of a HashGrid3 to a stream.
Definition at line 1641 of file hashGrid.h.
| ConstBoxIterator BALL::HashGrid3< Item >::endBox | ( | ) | const [inline] |
Definition at line 1125 of file hashGrid.h.
| BoxIterator BALL::HashGrid3< Item >::endBox | ( | ) | [inline] |
Definition at line 1106 of file hashGrid.h.
| BALL_INLINE void BALL::HashGrid3< Item >::get | ( | HashGrid3< Item > & | grid, | |
| bool | deep = true | |||
| ) | const [inline] |
Definition at line 1335 of file hashGrid.h.
| BALL_INLINE void BALL::HashGrid3< Item >::get | ( | Vector3 & | origin, | |
| Vector3 & | unit, | |||
| Size & | dimension_x, | |||
| Size & | dimension_y, | |||
| Size & | dimension_z | |||
| ) | const [inline] |
Definition at line 1323 of file hashGrid.h.
| BALL_INLINE const HashGridBox3< Item > * BALL::HashGrid3< Item >::getBox | ( | const Vector3 & | vector | ) | const [inline] |
Return the HashGridBox3 at position vector (const version).
Definition at line 1505 of file hashGrid.h.
| BALL_INLINE HashGridBox3< Item > * BALL::HashGrid3< Item >::getBox | ( | const Vector3 & | vector | ) | [inline] |
Return the HashGridBox3 at position vector.
Definition at line 1489 of file hashGrid.h.
| BALL_INLINE const HashGridBox3< Item > * BALL::HashGrid3< Item >::getBox | ( | Position | x, | |
| Position | y, | |||
| Position | z | |||
| ) | const [inline] |
Return the HashGridBox3 at position (x, y, z) (const version).
Definition at line 1482 of file hashGrid.h.
| BALL_INLINE HashGridBox3< Item > * BALL::HashGrid3< Item >::getBox | ( | Position | x, | |
| Position | y, | |||
| Position | z | |||
| ) | [inline] |
Return the HashGridBox3 at position (x, y, z).
Definition at line 1466 of file hashGrid.h.
| const Item * BALL::HashGrid3< Item >::getClosestItem | ( | const Vector3 & | point, | |
| Size | distance | |||
| ) | const [inline] |
Get the nearest item for a point
| distance | number of adjacted boxes in each direction to search in |
Definition at line 1412 of file hashGrid.h.
| BALL_INLINE Index BALL::HashGrid3< Item >::getIndex_ | ( | const HashGridBox3< Item > & | box | ) | const [inline, private] |
Definition at line 1740 of file hashGrid.h.
| BALL_INLINE bool BALL::HashGrid3< Item >::getIndices | ( | const HashGridBox3< Item > & | box, | |
| Position & | x, | |||
| Position & | y, | |||
| Position & | z | |||
| ) | const [inline] |
Get the position indices of a HashGridBox3.
Definition at line 1513 of file hashGrid.h.
| BALL_INLINE const Vector3 & BALL::HashGrid3< Item >::getOrigin | ( | ) | const [inline] |
Returns a const reference of the grid origin.
Definition at line 1371 of file hashGrid.h.
| BALL_INLINE Vector3 & BALL::HashGrid3< Item >::getOrigin | ( | ) | [inline] |
Returns the origin of the grid.
Definition at line 1364 of file hashGrid.h.
| BALL_INLINE Size BALL::HashGrid3< Item >::getSize | ( | ) | const [inline] |
Returns the size of a grid, i. e. ?????
Definition at line 1357 of file hashGrid.h.
| BALL_INLINE Size BALL::HashGrid3< Item >::getSizeX | ( | ) | const [inline] |
Get the x dimension of the grid.
Definition at line 1392 of file hashGrid.h.
| BALL_INLINE Size BALL::HashGrid3< Item >::getSizeY | ( | ) | const [inline] |
Get the y dimension of the grid.
Definition at line 1399 of file hashGrid.h.
| BALL_INLINE Size BALL::HashGrid3< Item >::getSizeZ | ( | ) | const [inline] |
Get the z dimension of the grid.
Definition at line 1406 of file hashGrid.h.
| BALL_INLINE const Vector3 & BALL::HashGrid3< Item >::getUnit | ( | ) | const [inline] |
Returns the unit of the grid (const version).
Definition at line 1385 of file hashGrid.h.
| BALL_INLINE Vector3 & BALL::HashGrid3< Item >::getUnit | ( | ) | [inline] |
Returns the unit of the grid.
Definition at line 1378 of file hashGrid.h.
| BALL_INLINE void BALL::HashGrid3< Item >::host | ( | Visitor< HashGrid3< Item > > & | visitor | ) | [inline] |
Definition at line 1588 of file hashGrid.h.
| BALL_INLINE void BALL::HashGrid3< Item >::insert | ( | const Vector3 & | vector, | |
| const Item & | item | |||
| ) | [inline] |
Insert an item at position vector
Definition at line 1548 of file hashGrid.h.
| BALL_INLINE void BALL::HashGrid3< Item >::insert | ( | Position | x, | |
| Position | y, | |||
| Position | z, | |||
| const Item & | item | |||
| ) | [inline] |
Insert an item at position (x, y, z).
Definition at line 1536 of file hashGrid.h.
| BALL_INLINE bool BALL::HashGrid3< Item >::isEmpty | ( | ) | const [inline] |
Tests, whether this is empty.
Definition at line 1619 of file hashGrid.h.
| bool BALL::HashGrid3< Item >::isValid | ( | ) | const [inline, virtual] |
Validity check.
Definition at line 1625 of file hashGrid.h.
| BALL_INLINE bool BALL::HashGrid3< Item >::operator!= | ( | const HashGrid3< Item > & | grid | ) | const [inline] |
Inequality operator.
Definition at line 1612 of file hashGrid.h.
| BALL_INLINE const HashGrid3< Item > & BALL::HashGrid3< Item >::operator= | ( | const HashGrid3< Item > & | grid | ) | [inline] |
Assignment operator.
Definition at line 1314 of file hashGrid.h.
| BALL_INLINE bool BALL::HashGrid3< Item >::operator== | ( | const HashGrid3< Item > & | grid | ) | const [inline] |
Equality operator.
Definition at line 1595 of file hashGrid.h.
| BALL_INLINE bool BALL::HashGrid3< Item >::remove | ( | const Vector3 & | vector, | |
| const Item & | item | |||
| ) | [inline] |
Remove an item from position vector
Definition at line 1574 of file hashGrid.h.
| BALL_INLINE bool BALL::HashGrid3< Item >::remove | ( | Position | x, | |
| Position | y, | |||
| Position | z, | |||
| const Item & | item | |||
| ) | [inline] |
Remove an item from position (x, y ,z).
Definition at line 1560 of file hashGrid.h.
| void BALL::HashGrid3< Item >::set | ( | const HashGrid3< Item > & | grid, | |
| bool | deep = true | |||
| ) | [inline] |
assigns the content of a hash grid (obsolete)
Definition at line 1297 of file hashGrid.h.
| void BALL::HashGrid3< Item >::set | ( | const Vector3 & | origin, | |
| float | unit, | |||
| Size | size | |||
| ) | [inline] |
assigns the content of a hash grid (obsolete)
Definition at line 1286 of file hashGrid.h.
| void BALL::HashGrid3< Item >::set | ( | const Vector3 & | origin, | |
| const Vector3 & | unit, | |||
| Size | dimension_x, | |||
| Size | dimension_y, | |||
| Size | dimension_z | |||
| ) | [inline] |
assigns the content of a hash grid (obsolete)
Definition at line 1274 of file hashGrid.h.
friend class BoxIteratorTraits [friend] |
Definition at line 1091 of file hashGrid.h.
vector<HashGridBox3<Item> > BALL::HashGrid3< Item >::box_ [private] |
Definition at line 1148 of file hashGrid.h.
Size BALL::HashGrid3< Item >::dimension_x_ [private] |
Definition at line 1142 of file hashGrid.h.
Size BALL::HashGrid3< Item >::dimension_y_ [private] |
Definition at line 1144 of file hashGrid.h.
Size BALL::HashGrid3< Item >::dimension_z_ [private] |
Definition at line 1146 of file hashGrid.h.
Vector3 BALL::HashGrid3< Item >::origin_ [private] |
Definition at line 1138 of file hashGrid.h.
Vector3 BALL::HashGrid3< Item >::unit_ [private] |
Definition at line 1140 of file hashGrid.h.
1.6.3