ESyS-Particle  2.3
esys::lsm::GridIterator Class Reference

#include <GridIterator.h>

Collaboration diagram for esys::lsm::GridIterator:

Public Member Functions

 GridIterator ()
 
 GridIterator (int numPtsX, int numPtsY, int numPtsZ, double sphereRadius)
 
 GridIterator (const BoundingBox &particleBBox, double sphereRadius, bool hard_limit=false)
 
 ~GridIterator ()
 
const BoundingBox & getBoundingBox () const
 
BoundingBox getSphereBBox () const
 
bool hasNext () const
 
bool is2d () const
 
Vec3 getPoint () const
 
void increment ()
 
Vec3 next ()
 

Private Attributes

double m_sphereRadius
 
int m_minI
 
int m_minJ
 
int m_minK
 
int m_maxI
 
int m_maxJ
 
int m_maxK
 
int m_i
 
int m_j
 index in x-direction More...
 
int m_k
 index in y-direction More...
 
BoundingBox m_centrePtBBox
 index in z-direction More...
 

Detailed Description

Class for iterating over the centre-points of spheres arranged in a regular lattice within a specified bounding box.

Constructor & Destructor Documentation

esys::lsm::GridIterator::GridIterator ( )
inline
esys::lsm::GridIterator::GridIterator ( int  numPtsX,
int  numPtsY,
int  numPtsZ,
double  sphereRadius 
)
inline

References m_centrePtBBox, m_maxJ, and m_minJ.

esys::lsm::GridIterator::GridIterator ( const BoundingBox &  particleBBox,
double  sphereRadius,
bool  hard_limit = false 
)
inline
esys::lsm::GridIterator::~GridIterator ( )
inline

Member Function Documentation

const BoundingBox& esys::lsm::GridIterator::getBoundingBox ( ) const
inline

References m_centrePtBBox.

Vec3 esys::lsm::GridIterator::getPoint ( ) const
inline

References esys::lsm::BoundingBox::getMinPt(), is2d(), m_centrePtBBox, m_i, m_j, m_k, m_sphereRadius, Vec3::X(), Vec3::Y(), and Vec3::Z().

Referenced by next().

Here is the call graph for this function:

Here is the caller graph for this function:

BoundingBox esys::lsm::GridIterator::getSphereBBox ( ) const
inline
void esys::lsm::GridIterator::increment ( )
inline

References m_i, m_j, m_k, m_maxJ, m_maxK, m_minJ, and m_minK.

Referenced by next().

Here is the caller graph for this function:

bool esys::lsm::GridIterator::is2d ( ) const
inline

References m_maxJ, and m_minJ.

Referenced by getPoint(), and getSphereBBox().

Here is the caller graph for this function:

Member Data Documentation

BoundingBox esys::lsm::GridIterator::m_centrePtBBox
private

index in z-direction

Referenced by getBoundingBox(), getPoint(), getSphereBBox(), and GridIterator().

int esys::lsm::GridIterator::m_i
private
int esys::lsm::GridIterator::m_j
private

index in x-direction

Referenced by getPoint(), GridIterator(), and increment().

int esys::lsm::GridIterator::m_k
private

index in y-direction

Referenced by getPoint(), GridIterator(), and increment().

int esys::lsm::GridIterator::m_maxI
private

Referenced by GridIterator(), and hasNext().

int esys::lsm::GridIterator::m_maxJ
private

Referenced by GridIterator(), increment(), and is2d().

int esys::lsm::GridIterator::m_maxK
private

Referenced by GridIterator(), and increment().

int esys::lsm::GridIterator::m_minI
private

Referenced by GridIterator().

int esys::lsm::GridIterator::m_minJ
private

Referenced by GridIterator(), increment(), and is2d().

int esys::lsm::GridIterator::m_minK
private

Referenced by GridIterator(), and increment().

double esys::lsm::GridIterator::m_sphereRadius
private

Referenced by getPoint(), and getSphereBBox().


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