ESyS-Particle  2.3.4
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 &, CellCellIterator
 
typedef TCellIterator< const CartesianGrid *, const Cell &, CellCellConstIterator
 
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_typePool
 
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

◆ CellConstIterator

template<typename TmplValue >
typedef TCellIterator<const CartesianGrid *, const Cell &, Cell> esys::lsm::CartesianGrid< TmplValue >::CellConstIterator

◆ CellIterator

template<typename TmplValue >
typedef TCellIterator<CartesianGrid *, Cell &, Cell> esys::lsm::CartesianGrid< TmplValue >::CellIterator

◆ CellVector

template<typename TmplValue >
typedef std::vector<Cell> esys::lsm::CartesianGrid< TmplValue >::CellVector
private

◆ const_reference

template<typename TmplValue >
typedef const value_type& esys::lsm::CartesianGrid< TmplValue >::const_reference

◆ pointer

template<typename TmplValue >
typedef value_type* esys::lsm::CartesianGrid< TmplValue >::pointer

◆ Pool

template<typename TmplValue >
typedef boost::object_pool<value_type> esys::lsm::CartesianGrid< TmplValue >::Pool
private

◆ PoolPtr

template<typename TmplValue >
typedef boost::shared_ptr<Pool> esys::lsm::CartesianGrid< TmplValue >::PoolPtr
private

◆ reference

template<typename TmplValue >
typedef value_type& esys::lsm::CartesianGrid< TmplValue >::reference

◆ value_type

template<typename TmplValue >
typedef TmplValue esys::lsm::CartesianGrid< TmplValue >::value_type

◆ ValueVector

template<typename TmplValue >
typedef std::vector<pointer> esys::lsm::CartesianGrid< TmplValue >::ValueVector

Constructor & Destructor Documentation

◆ CartesianGrid()

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

Member Function Documentation

◆ clear()

template<typename TmplValue >
void esys::lsm::CartesianGrid< TmplValue >::clear ( )
inline

◆ getBBox()

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:

◆ getCell() [1/4]

template<typename TmplValue >
Cell& esys::lsm::CartesianGrid< TmplValue >::getCell ( const Vec3 pos)
inline

◆ getCell() [2/4]

template<typename TmplValue >
const Cell& esys::lsm::CartesianGrid< TmplValue >::getCell ( const Vec3 pos) const
inline

◆ getCell() [3/4]

template<typename TmplValue >
Cell& esys::lsm::CartesianGrid< TmplValue >::getCell ( int  scalarIndex)
inline

◆ getCell() [4/4]

template<typename TmplValue >
const Cell& esys::lsm::CartesianGrid< TmplValue >::getCell ( int  scalarIndex) const
inline

◆ getCellIterator() [1/6]

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:

◆ getCellIterator() [2/6]

template<typename TmplValue >
CellConstIterator esys::lsm::CartesianGrid< TmplValue >::getCellIterator ( ) const
inline

◆ getCellIterator() [3/6]

template<typename TmplValue >
CellIterator esys::lsm::CartesianGrid< TmplValue >::getCellIterator ( const Vec3 pos)
inline

◆ getCellIterator() [4/6]

template<typename TmplValue >
CellConstIterator esys::lsm::CartesianGrid< TmplValue >::getCellIterator ( const Vec3 pos) const
inline

◆ getCellIterator() [5/6]

◆ getCellIterator() [6/6]

template<typename TmplValue >
CellConstIterator esys::lsm::CartesianGrid< TmplValue >::getCellIterator ( const Vec3 pos,
double  radius 
) const
inline

◆ getDimensions()

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

◆ getGridSpacing()

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:

◆ getMaxVecIndex()

◆ getMinPt()

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:

◆ getMinVecIndex()

◆ getPos()

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:

◆ getScalarIndex() [1/3]

template<typename TmplValue >
int esys::lsm::CartesianGrid< TmplValue >::getScalarIndex ( const Vec3 pt) const
inline

◆ getScalarIndex() [2/3]

template<typename TmplValue >
int esys::lsm::CartesianGrid< TmplValue >::getScalarIndex ( const Vec3L index) const
inline

◆ getScalarIndex() [3/3]

template<typename TmplValue >
int esys::lsm::CartesianGrid< TmplValue >::getScalarIndex ( int  xIdx,
int  yIdx,
int  zIdx 
) const
inline

◆ getValueIterator() [1/2]

template<typename TmplValue >
ValueIterator esys::lsm::CartesianGrid< TmplValue >::getValueIterator ( )
inline

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

Here is the caller graph for this function:

◆ getValueIterator() [2/2]

template<typename TmplValue >
ValueConstIterator esys::lsm::CartesianGrid< TmplValue >::getValueIterator ( ) const
inline

◆ getVecIndex()

template<typename TmplValue >
Vec3L esys::lsm::CartesianGrid< TmplValue >::getVecIndex ( const Vec3 pt) const
inline

◆ initialise()

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:

◆ insert()

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

◆ insertRef()

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:

◆ size()

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

Member Data Documentation

◆ m_bBox

◆ m_cellVector

template<typename TmplValue >
CellVector esys::lsm::CartesianGrid< TmplValue >::m_cellVector
private

◆ m_dimensions

◆ m_gridSpacing

◆ m_maxIndex

template<typename TmplValue >
Vec3L esys::lsm::CartesianGrid< TmplValue >::m_maxIndex
private

◆ m_minIndex

template<typename TmplValue >
Vec3L esys::lsm::CartesianGrid< TmplValue >::m_minIndex
private

◆ m_valuePoolPtr

template<typename TmplValue >
PoolPtr esys::lsm::CartesianGrid< TmplValue >::m_valuePoolPtr
private

◆ m_valueVector


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