Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends
jafar::geom::VoxelSpace< _dimension_, _TObject_, _BoundingBoxGetter_ > Class Template Reference

This class allow to store geometric objects in a voxel space. More...


Detailed Description

template<int _dimension_, class _TObject_, class _BoundingBoxGetter_>
class jafar::geom::VoxelSpace< _dimension_, _TObject_, _BoundingBoxGetter_ >

This class allow to store geometric objects in a voxel space.

_TObject_ can be of any type but must give access to the atom through _BoundingBoxGetter_.

_BoundingBoxGetter_ defines the following static function: const geom::Atom<_dimension_>& _BoundingBoxGetter_::boundingBox( const _TObject* );

Definition at line 176 of file VoxelSpace.hpp.

#include <VoxelSpace.hpp>

List of all members.

Classes

struct  FindObjectsFunctor
 This functor is used to retrieve all objects inside a bounding box. More...
struct  FindVoxelsFunctor
 This functor is used to find all the voxels inside a bounding box. More...
struct  InsertFunctor
 This functor is used to insert a new object. More...
struct  RemoveFunctor
struct  StreamFunctor
class  Voxel

Public Member Functions

 VoxelSpace (double voxelSize_)
 Creates a new space of voxels.
void insertObject (_TObject_ *object)
 Insert an object into the VoxelSpace.
void removeObject (_TObject_ *object)
 Remove an obejct from the VoxelSpace .
std::list< const Voxel * > voxelsCountaining (const _TObject_ *object) const
std::list< _TObject_ * > objectsIn (const BoundingBoxD &) const

Private Types

typedef geom::BoundingBox
< _dimension_ > 
BoundingBoxD
typedef Atom< _dimension_ >
::HomogenousVecD 
HomogenousVecD
typedef
boost::numeric::ublas::bounded_vector
< int, _dimension_ > 
IndexVec
typedef std::list< _TObject_ * > ObjectsList
typedef ObjectsList::iterator ObjectsList_it
typedef ObjectsList::const_iterator ObjectsList_cit

Private Member Functions

IndexVec indexFor (const HomogenousVecD &v) const

Private Attributes

VoxelMultiDimensionStorage
< _dimension_, Voxel
m_voxels
 This parameter defines the size of a voxel.

Friends

std::ostream & operator<< (std::ostream &s, const VoxelSpace< _dimension_, _TObject_, _BoundingBoxGetter_ > &)

Member Function Documentation

template<int _dimension_, class _TObject_ , class _BoundingBoxGetter_ >
IndexVec jafar::geom::VoxelSpace< _dimension_, _TObject_, _BoundingBoxGetter_ >::indexFor ( const HomogenousVecD v) const [private]
Returns:
the voxel index which contains this vector
template<int _dimension_, class _TObject_ , class _BoundingBoxGetter_ >
void jafar::geom::VoxelSpace< _dimension_, _TObject_, _BoundingBoxGetter_ >::insertObject ( _TObject_ *  object)

Insert an object into the VoxelSpace.

Parameters:
_TObject_object to insert.
template<int _dimension_, class _TObject_ , class _BoundingBoxGetter_ >
std::list<const Voxel*> jafar::geom::VoxelSpace< _dimension_, _TObject_, _BoundingBoxGetter_ >::voxelsCountaining ( const _TObject_ *  object) const
Returns:
the list of voxels countaining an object.

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:38 for Jafar by doxygen 1.7.6.1
LAAS-CNRS