ESyS-Particle  4.0.1
Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions
esys::lsm::ClosePackIterator Class Reference

#include <ClosePackIterator.h>

Inheritance diagram for esys::lsm::ClosePackIterator:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 ClosePackIterator ()
 ClosePackIterator (int numI, int numJ, int numK, double sphereRadius, ClosePackOrientation orientation=DEFAULT_ORIENT)
bool hasNext () const
Vec3 next ()
double getRadius () const

Static Public Attributes

static const double SQRT_1_OVER_3 = 1.0/sqrt(3.0)
static const double SQRT_8_OVER_3 = sqrt(8.0/3.0)
static const double SQRT_3 = sqrt(3.0)

Protected Types

typedef TmplMatrix< 3, 6, 6 > OffsetMatrix

Protected Member Functions

void incrementDimIndex ()
double getOffset (int i) const
const Vec3getMinPt () const
void setMinPt (const Vec3 &pt) const
void setDimRepeat (const Vec3L &dimRepeat)
void setOffsetMatrix (const OffsetMatrix &offsetMatrix)

Detailed Description

Base class for iterators used to generate centre-points of spheres arranged in a close-packing.


Constructor & Destructor Documentation

Creates default empty iterator.

esys::lsm::ClosePackIterator::ClosePackIterator ( int  numI,
int  numJ,
int  numK,
double  sphereRadius,
ClosePackOrientation  orientation = DEFAULT_ORIENT 
) [inline]

Creates an iterator which will iterate over numI*numJ*numK centre points of spheres with radius sphereRadius.

Parameters:
numInumber of spheres in the i direction.
numJnumber of spheres in the j direction.
numKnumber of spheres in the k direction.
sphereRadiusradius of spheres in the packing.
orientationspecifies the axis alignment of layers.

Member Function Documentation

double esys::lsm::ClosePackIterator::getRadius ( ) const [inline]

Returns the radius of spheres used in the iteration.

Referenced by esys::lsm::CubicBlockIterator::CubicBlockIterator(), and esys::lsm::HexagBlockIterator::HexagBlockIterator().

Here is the caller graph for this function:

bool esys::lsm::ClosePackIterator::hasNext ( ) const [inline]

Returns whether there is another centre point in the iteration sequence.

Returns the next centre-point in the iteration sequence.


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