ESyS-Particle  2.3
esys::lsm::CartesianGrid< TmplValue > Class Template Reference

#include <CartesianGrid.h>

Inheritance diagram for esys::lsm::CartesianGrid< TmplValue >:
Collaboration diagram for esys::lsm::CartesianGrid< TmplValue >:

Classes

class  Cell
 
class  TCellIterator
 
class  ValueConstIterator
 
class  ValueIterator
 
class  VecIndexIterator
 

Public Types

typedef TmplValue value_type
 
typedef value_typereference
 
typedef const value_typeconst_reference
 
typedef value_typepointer
 
typedef TCellIterator
< CartesianGrid *, Cell
&, Cell
CellIterator
 
typedef TCellIterator< const
CartesianGrid *, const Cell
&, Cell
CellConstIterator
 
typedef std::vector< pointerValueVector
 

Public Member Functions

 CartesianGrid (const BoundingBox &bBox, double gridSpacing)
 
const Vec3LgetDimensions () const
 
const BoundingBoxgetBBox () const
 
const Vec3getMinPt () const
 
int getScalarIndex (int xIdx, int yIdx, int zIdx) const
 
Vec3L getVecIndex (const Vec3 &pt) const
 
Vec3 getPos (const Vec3L &index) const
 
int getScalarIndex (const Vec3L &index) const
 
int getScalarIndex (const Vec3 &pt) const
 
const Vec3LgetMinVecIndex () const
 
const Vec3LgetMaxVecIndex () const
 
void insert (const Vec3 &pos, const_reference data)
 
const CellgetCell (int scalarIndex) const
 
CellgetCell (int scalarIndex)
 
const CellgetCell (const Vec3 &pos) const
 
CellgetCell (const Vec3 &pos)
 
CellIterator getCellIterator (const Vec3 &pos, double radius)
 
CellConstIterator getCellIterator (const Vec3 &pos, double radius) const
 
CellIterator getCellIterator (const Vec3 &pos)
 
CellConstIterator getCellIterator (const Vec3 &pos) const
 
CellIterator getCellIterator ()
 
CellConstIterator getCellIterator () const
 
ValueIterator getValueIterator ()
 
ValueConstIterator getValueIterator () const
 
size_t size () const
 
double getGridSpacing () const
 
void clear ()
 

Protected Member Functions

void insertRef (const Vec3 &pos, reference data)
 
void initialise (const BoundingBox &bBox, double gridSpacing)
 

Private Types

typedef std::vector< CellCellVector
 
typedef boost::object_pool
< value_type
Pool
 
typedef boost::shared_ptr< PoolPoolPtr
 

Private Attributes

BoundingBox m_bBox
 
double m_gridSpacing
 
Vec3L m_dimensions
 
Vec3L m_minIndex
 
Vec3L m_maxIndex
 
CellVector m_cellVector
 
PoolPtr m_valuePoolPtr
 
ValueVector m_valueVector
 

Member Typedef Documentation

template<typename TmplValue>
typedef TCellIterator<const CartesianGrid *, const Cell &, Cell> esys::lsm::CartesianGrid< TmplValue >::CellConstIterator
template<typename TmplValue>
typedef TCellIterator<CartesianGrid *, Cell &, Cell> esys::lsm::CartesianGrid< TmplValue >::CellIterator
template<typename TmplValue>
typedef std::vector<Cell> esys::lsm::CartesianGrid< TmplValue >::CellVector
private
template<typename TmplValue>
typedef const value_type& esys::lsm::CartesianGrid< TmplValue >::const_reference
template<typename TmplValue>
typedef value_type* esys::lsm::CartesianGrid< TmplValue >::pointer
template<typename TmplValue>
typedef boost::object_pool<value_type> esys::lsm::CartesianGrid< TmplValue >::Pool
private
template<typename TmplValue>
typedef boost::shared_ptr<Pool> esys::lsm::CartesianGrid< TmplValue >::PoolPtr
private
template<typename TmplValue>
typedef value_type& esys::lsm::CartesianGrid< TmplValue >::reference
template<typename TmplValue>
typedef TmplValue esys::lsm::CartesianGrid< TmplValue >::value_type
template<typename TmplValue>
typedef std::vector<pointer> esys::lsm::CartesianGrid< TmplValue >::ValueVector

Constructor & Destructor Documentation

template<typename TmplValue>
esys::lsm::CartesianGrid< TmplValue >::CartesianGrid ( const BoundingBox bBox,
double  gridSpacing 
)
inline

Member Function Documentation

template<typename TmplValue>
void esys::lsm::CartesianGrid< TmplValue >::clear ( )
inline
template<typename TmplValue>
const BoundingBox& esys::lsm::CartesianGrid< TmplValue >::getBBox ( ) const
inline

Referenced by esys::lsm::CartesianGrid< Tensor >::getMinPt().

Here is the caller graph for this function:

template<typename TmplValue>
const Cell& esys::lsm::CartesianGrid< TmplValue >::getCell ( int  scalarIndex) const
inline
template<typename TmplValue>
Cell& esys::lsm::CartesianGrid< TmplValue >::getCell ( int  scalarIndex)
inline
template<typename TmplValue>
const Cell& esys::lsm::CartesianGrid< TmplValue >::getCell ( const Vec3 pos) const
inline
template<typename TmplValue>
Cell& esys::lsm::CartesianGrid< TmplValue >::getCell ( const Vec3 pos)
inline
template<typename TmplValue>
CellConstIterator esys::lsm::CartesianGrid< TmplValue >::getCellIterator ( const Vec3 pos,
double  radius 
) const
inline
template<typename TmplValue>
CellIterator esys::lsm::CartesianGrid< TmplValue >::getCellIterator ( const Vec3 pos)
inline
template<typename TmplValue>
CellConstIterator esys::lsm::CartesianGrid< TmplValue >::getCellIterator ( const Vec3 pos) const
inline
template<typename TmplValue>
CellIterator esys::lsm::CartesianGrid< TmplValue >::getCellIterator ( )
inline

Referenced by esys::lsm::CartesianGrid< Tensor >::clear(), and esys::lsm::CartesianGrid< Tensor >::getCellIterator().

Here is the caller graph for this function:

template<typename TmplValue>
CellConstIterator esys::lsm::CartesianGrid< TmplValue >::getCellIterator ( ) const
inline
template<typename TmplValue>
const Vec3L& esys::lsm::CartesianGrid< TmplValue >::getDimensions ( ) const
inline
template<typename TmplValue>
double esys::lsm::CartesianGrid< TmplValue >::getGridSpacing ( ) const
inline

Referenced by esys::lsm::CartesianGrid< TmplValue >::Cell::getBox().

Here is the caller graph for this function:

template<typename TmplValue>
const Vec3& esys::lsm::CartesianGrid< TmplValue >::getMinPt ( ) const
inline

Referenced by esys::lsm::CartesianGrid< Tensor >::getPos(), and esys::lsm::CartesianGrid< Tensor >::getVecIndex().

Here is the caller graph for this function:

template<typename TmplValue>
Vec3 esys::lsm::CartesianGrid< TmplValue >::getPos ( const Vec3L index) const
inline

Referenced by esys::lsm::CartesianGrid< Tensor >::initialise().

Here is the caller graph for this function:

template<typename TmplValue>
int esys::lsm::CartesianGrid< TmplValue >::getScalarIndex ( int  xIdx,
int  yIdx,
int  zIdx 
) const
inline
template<typename TmplValue>
int esys::lsm::CartesianGrid< TmplValue >::getScalarIndex ( const Vec3L index) const
inline
template<typename TmplValue>
int esys::lsm::CartesianGrid< TmplValue >::getScalarIndex ( const Vec3 pt) const
inline
template<typename TmplValue>
ValueIterator esys::lsm::CartesianGrid< TmplValue >::getValueIterator ( )
inline

Referenced by esys::lsm::InteractionToStressConverter::getMaxRadius().

Here is the caller graph for this function:

template<typename TmplValue>
ValueConstIterator esys::lsm::CartesianGrid< TmplValue >::getValueIterator ( ) const
inline
template<typename TmplValue>
Vec3L esys::lsm::CartesianGrid< TmplValue >::getVecIndex ( const Vec3 pt) const
inline
template<typename TmplValue>
void esys::lsm::CartesianGrid< TmplValue >::initialise ( const BoundingBox bBox,
double  gridSpacing 
)
inlineprotected

Referenced by esys::lsm::CartesianGrid< Tensor >::CartesianGrid().

Here is the caller graph for this function:

template<typename TmplValue>
void esys::lsm::CartesianGrid< TmplValue >::insert ( const Vec3 pos,
const_reference  data 
)
inline
template<typename TmplValue>
void esys::lsm::CartesianGrid< TmplValue >::insertRef ( const Vec3 pos,
reference  data 
)
inlineprotected

Referenced by esys::lsm::CartesianGrid< Tensor >::insert().

Here is the caller graph for this function:

template<typename TmplValue>
size_t esys::lsm::CartesianGrid< TmplValue >::size ( ) const
inline

Member Data Documentation

template<typename TmplValue>
CellVector esys::lsm::CartesianGrid< TmplValue >::m_cellVector
private
template<typename TmplValue>
Vec3L esys::lsm::CartesianGrid< TmplValue >::m_maxIndex
private
template<typename TmplValue>
Vec3L esys::lsm::CartesianGrid< TmplValue >::m_minIndex
private
template<typename TmplValue>
PoolPtr esys::lsm::CartesianGrid< TmplValue >::m_valuePoolPtr
private

The documentation for this class was generated from the following file: