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.