ESyS-Particle  2.3.4
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 BoundingBoxgetBoundingBox () 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

◆ GridIterator() [1/3]

esys::lsm::GridIterator::GridIterator ( )
inline

◆ GridIterator() [2/3]

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

References m_centrePtBBox, m_maxJ, and m_minJ.

◆ GridIterator() [3/3]

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

◆ ~GridIterator()

esys::lsm::GridIterator::~GridIterator ( )
inline

Member Function Documentation

◆ getBoundingBox()

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

References m_centrePtBBox.

◆ getPoint()

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:

◆ getSphereBBox()

◆ hasNext()

◆ increment()

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:

◆ is2d()

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:

◆ next()

Member Data Documentation

◆ m_centrePtBBox

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

index in z-direction

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

◆ m_i

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

◆ m_j

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

index in x-direction

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

◆ m_k

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

index in y-direction

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

◆ m_maxI

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

Referenced by GridIterator(), and hasNext().

◆ m_maxJ

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

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

◆ m_maxK

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

Referenced by GridIterator(), and increment().

◆ m_minI

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

Referenced by GridIterator().

◆ m_minJ

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

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

◆ m_minK

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

Referenced by GridIterator(), and increment().

◆ m_sphereRadius

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

Referenced by getPoint(), and getSphereBBox().


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