#include <grid_of_cubes.h>
This class offers an intersection detection between atoms using a grid. The bounding box of all the atoms is subdivided using a regular grid of cubes (which edge length is twice the largest radius + epsilon). Testing intersection between two atoms then reduces to test intersection between atoms in the same cube or in a direct neighboring cube.
Traits | is a class providing static function indicating how to handle stored objects (see Traits_for_grid for an example.) |
typedef std::map<Cube_coordinates,Cube_unit*> ESBTL::Grid_of_cubes< Traits >::Cube_container |
typedef tuple<int,int,int> ESBTL::Grid_of_cubes< Traits >::Cube_coordinates |
typedef Grid_of_cubes<Traits>::Cube_unit::In_cube_iterator ESBTL::Grid_of_cubes< Traits >::In_cube_iterator |
typedef Traits::Iterator ESBTL::Grid_of_cubes< Traits >::Object_iterator |
ESBTL::Grid_of_cubes< Traits >::Grid_of_cubes | ( | ) | [inline] |
ESBTL::Grid_of_cubes< Traits >::Grid_of_cubes | ( | const Object_iterator & | it_beg, |
const Object_iterator & | it_end | ||
) | [inline] |
ESBTL::Grid_of_cubes< Traits >::~Grid_of_cubes | ( | ) | [inline] |
iterator ESBTL::Grid_of_cubes< Traits >::begin | ( | ) | [inline] |
iterator ESBTL::Grid_of_cubes< Traits >::end | ( | ) | [inline] |
void ESBTL::Grid_of_cubes< Traits >::erase | ( | const object_iterator & | it | ) | [inline] |
void ESBTL::Grid_of_cubes< Traits >::fill | ( | Object_iterator | it_beg, |
Object_iterator | it_end | ||
) | [inline] |
neighbor_iterator ESBTL::Grid_of_cubes< Traits >::first_neighbor | ( | const Cube_coordinates & | C | ) | [inline] |
neighbor_iterator ESBTL::Grid_of_cubes< Traits >::first_neighbor | ( | iterator & | it | ) | [inline] |
object_iterator ESBTL::Grid_of_cubes< Traits >::first_object | ( | ) | [inline] |
Cube_unit* ESBTL::Grid_of_cubes< Traits >::get_cube | ( | const Cube_coordinates & | t | ) | [inline] |
Cube_unit* ESBTL::Grid_of_cubes< Traits >::get_cube | ( | Any_iterator | v | ) | [inline] |
Cube_coordinates ESBTL::Grid_of_cubes< Traits >::get_first_neighbor | ( | Cube_coordinates & | T | ) | [inline] |
void ESBTL::Grid_of_cubes< Traits >::init | ( | const Object_iterator & | it_beg, |
const Object_iterator & | it_end | ||
) | [inline] |
void ESBTL::Grid_of_cubes< Traits >::insert_in_cube | ( | Object_iterator | V | ) | [inline] |
bool ESBTL::Grid_of_cubes< Traits >::is_outside_grid | ( | Any_iterator | v | ) | const [inline] |
object_iterator ESBTL::Grid_of_cubes< Traits >::last_object | ( | ) | [inline] |
Cube_coordinates ESBTL::Grid_of_cubes< Traits >::locate_cube | ( | Any_iterator | v | ) | const [inline] |
unsigned ESBTL::Grid_of_cubes< Traits >::nb_element | ( | ) | const [inline] |
neighbor_iterator ESBTL::Grid_of_cubes< Traits >::nend | ( | ) | [inline] |
bool ESBTL::Grid_of_cubes< Traits >::valid_tuple | ( | const Cube_coordinates & | T | ) | const [inline] |
Cube_container ESBTL::Grid_of_cubes< Traits >::cube_container |
Traits::NT ESBTL::Grid_of_cubes< Traits >::cube_edge_length |
Traits::Point ESBTL::Grid_of_cubes< Traits >::lower_corner |
int ESBTL::Grid_of_cubes< Traits >::xlim |
int ESBTL::Grid_of_cubes< Traits >::ylim |
int ESBTL::Grid_of_cubes< Traits >::zlim |