Defines the basic space hash. More...
#include <space_hash.h>


Public Member Functions | |
| virtual void | Update () |
| Updates the entire space hash. More... | |
Public Member Functions inherited from argos::CAbstractSpaceHash< ENTITY > | |
| CAbstractSpaceHash () | |
| Class constructor. More... | |
| virtual | ~CAbstractSpaceHash () |
| Class destructor. More... | |
| virtual void | AddEntity (ENTITY &c_entity) |
| Adds an entity to the space hash. More... | |
| TEntityList & | GetEntities () |
| Returns the list of entities held by this space hash. More... | |
| virtual void | RemoveEntity (ENTITY &c_entity) |
| Remove an entity from the space hash. More... | |
| size_t | GetSize () |
| Returns the size of the space hash. More... | |
| virtual void | SetSize (size_t un_size) |
| Sets the size of the space hash. More... | |
| CVector3 & | GetCellSize () |
| Returns the size of the cells of the space hash. More... | |
| CVector3 & | GetInvCellSize () |
| Returns the inverse size of the cells of the space hash. More... | |
| virtual void | SetCellSize (const CVector3 &c_cell_size) |
| Sets the size of the cells of the space hash. More... | |
| virtual void | UpdateCell (SInt32 n_x, SInt32 n_y, SInt32 n_z, ENTITY &c_entity)=0 |
| Adds an entity to a cell of the space hash. More... | |
| virtual SInt32 | SpaceToHashTable (Real f_coord, UInt32 un_axis) |
| Converts a single space coordinate into a space hash cell coordinate. More... | |
| virtual Real | HashTableToSpace (SInt32 n_coord, UInt32 un_axis) |
| Converts a single space hash cell coordinate into a space coordinate. More... | |
| virtual void | SpaceToHashTable (SInt32 &n_i, SInt32 &n_j, SInt32 &n_k, const CVector3 &c_pos) |
| Converts a space position into a space hash cell The values are written into n_i, n_j, and n_k. More... | |
| virtual bool | CheckCell (SInt32 n_i, SInt32 n_j, SInt32 n_k, TEntityList &t_entities)=0 |
| Looks for entities to process in a cell. More... | |
| virtual void | Dump (CARGoSLog &c_os)=0 |
Public Member Functions inherited from argos::CPositionalIndex< ENTITY > | |
| CPositionalIndex () | |
| virtual | ~CPositionalIndex () |
| virtual void | Init (TConfigurationNode &t_tree)=0 |
| Initializes the resource. More... | |
| virtual void | Reset ()=0 |
| Resets the resource. More... | |
| virtual void | Destroy ()=0 |
| Undoes whatever was done by Init(). More... | |
| virtual void | GetEntitiesAt (CSet< ENTITY *, SEntityComparator > &c_entities, const CVector3 &c_position) const =0 |
| Puts the entities located at the given point in the passed buffer. More... | |
| virtual void | ForAllEntities (COperation &c_operation)=0 |
| Executes an operation on all the indexed entities. More... | |
| virtual void | ForEntitiesInSphereRange (const CVector3 &c_center, Real f_radius, COperation &c_operation)=0 |
| Executes an operation on all entities within the specified sphere range. More... | |
| virtual void | ForEntitiesInBoxRange (const CVector3 &c_center, const CVector3 &c_half_size, COperation &c_operation)=0 |
| Executes an operation on all entities within the specified box range. More... | |
| virtual void | ForEntitiesInCircleRange (const CVector3 &c_center, Real f_radius, COperation &c_operation)=0 |
| Executes an operation on all entities within the specified circle range. More... | |
| virtual void | ForEntitiesInRectangleRange (const CVector3 &c_center, const CVector2 &c_half_size, COperation &c_operation)=0 |
| Executes an operation on all entities within the specified rectangle range. More... | |
| virtual void | ForEntitiesAlongRay (const CRay3 &c_ray, COperation &c_operation, bool b_stop_at_closest_match=false)=0 |
| Executes an operation on all entities that intersect the given ray. More... | |
Additional Inherited Members | |
Public Types inherited from argos::CAbstractSpaceHash< ENTITY > | |
| typedef CSet< ENTITY * > | TEntityList |
| Type definition for the list of entities held by the space hash. More... | |
Protected Member Functions inherited from argos::CAbstractSpaceHash< ENTITY > | |
| UInt32 | CoordinateHash (SInt32 n_i, SInt32 n_j, SInt32 n_k) |
| Calculates the hash of a space hash coordinate. More... | |
Defines the basic space hash.
If you want to create a new space hash implementation, you need to extend this class.
| ENTITY | The type of entity held by the corresponding space hash |
| UPDATER | The cell updater for type ENTITY |
Definition at line 300 of file space_hash.h.
|
inlinevirtual |
Updates the entire space hash.
It calls the updater for all the entities held by the space hash.
Implements argos::CAbstractSpaceHash< ENTITY >.
Reimplemented in argos::CSpaceHashNative< Element, Updater >.
Definition at line 309 of file space_hash.h.