ESyS-Particle  2.3.2
esys::lsm::BlockGenerator Class Reference

#include <BlockGenerator.h>

Inheritance diagram for esys::lsm::BlockGenerator:
Collaboration diagram for esys::lsm::BlockGenerator:

Public Types

typedef NTable::ParticleVector ParticleVector
typedef NTable::ParticleIterator ParticleIterator
typedef std::set< int > IdSet
- Public Types inherited from esys::lsm::ParticleGenerator
typedef CircularNeighbourTable
< SimpleParticle
NTable
typedef boost::object_pool
< SimpleParticle
ParticlePool

Public Member Functions

 BlockGenerator (NTable &nTable, ParticlePool &particlePool, const BoundingBox &bBox, const BoolVector &periodicDimensions, double tolerance)
virtual ~BlockGenerator ()
virtual void generate ()=0
virtual void generateSeedParticles ()
virtual SimpleParticle generateParticle (const Vec3 &point)
virtual double getRadius () const =0
virtual double getGridRadius () const =0
size_t getNumParticles () const
int getNextId ()
virtual bool particleFits (const SimpleParticle &particle) const
bool is2d () const
bool particleFitsInBBox (const SimpleParticle &particle) const
bool particleFitsWithNeighbours (const SimpleParticle &particle) const
void insertParticle (const SimpleParticle &particle)
double getTolerance () const
const BoundingBoxgetBBox () const
bool contains (const SimpleParticle &particle) const
ParticleIterator getParticleIterator ()
- Public Member Functions inherited from esys::lsm::ParticleGenerator
 ParticleGenerator (NTable &nTable, ParticlePool &particlePool)
virtual ~ParticleGenerator ()

Private Attributes

BoundingBox m_bBox
BoolVector m_periodicDimensions
ParticleVector m_particleVector
double m_tolerance
IdSet m_idSet

Additional Inherited Members

- Protected Member Functions inherited from esys::lsm::ParticleGenerator
 ParticleGenerator ()
NTablegetNTable ()
const NTablegetNTable () const
ParticlePoolgetParticlePool ()
const ParticlePoolgetParticlePool () const

Member Typedef Documentation

typedef std::set<int> esys::lsm::BlockGenerator::IdSet

Constructor & Destructor Documentation

esys::lsm::BlockGenerator::BlockGenerator ( NTable nTable,
ParticlePool particlePool,
const BoundingBox bBox,
const BoolVector periodicDimensions,
double  tolerance 
)
esys::lsm::BlockGenerator::~BlockGenerator ( )
virtual

Member Function Documentation

bool esys::lsm::BlockGenerator::contains ( const SimpleParticle particle) const

References esys::lsm::SimpleParticleData::getID(), and m_idSet.

Here is the call graph for this function:

virtual void esys::lsm::BlockGenerator::generate ( )
pure virtual
SimpleParticle esys::lsm::BlockGenerator::generateParticle ( const Vec3 point)
virtual

References getNextId(), and getRadius().

Referenced by esys::lsm::RandomBlockGenerator::generateFillParticles(), and generateSeedParticles().

Here is the call graph for this function:

Here is the caller graph for this function:

void esys::lsm::BlockGenerator::generateSeedParticles ( )
virtual
const BoundingBox & esys::lsm::BlockGenerator::getBBox ( ) const
virtual double esys::lsm::BlockGenerator::getGridRadius ( ) const
pure virtual

Implemented in esys::lsm::RandomBlockGenerator, and esys::lsm::RegularBlockGenerator.

Referenced by generateSeedParticles().

Here is the caller graph for this function:

int esys::lsm::BlockGenerator::getNextId ( )

References esys::lsm::ParticleGenerator::getNTable(), and esys::lsm::CircularNeighbourTable< TmplParticle >::getNumParticles().

Referenced by generateParticle().

Here is the call graph for this function:

Here is the caller graph for this function:

size_t esys::lsm::BlockGenerator::getNumParticles ( ) const

References m_idSet.

ParticleIterator esys::lsm::BlockGenerator::getParticleIterator ( )
inline

References m_particleVector.

virtual double esys::lsm::BlockGenerator::getRadius ( ) const
pure virtual

Implemented in esys::lsm::RandomBlockGenerator, and esys::lsm::RegularBlockGenerator.

Referenced by generateParticle().

Here is the caller graph for this function:

double esys::lsm::BlockGenerator::getTolerance ( ) const

References m_tolerance.

Referenced by esys::lsm::RandomBlockGenerator::getClosestNeighbors(), particleFitsInBBox(), and particleFitsWithNeighbours().

Here is the caller graph for this function:

void esys::lsm::BlockGenerator::insertParticle ( const SimpleParticle particle)
bool esys::lsm::BlockGenerator::is2d ( ) const

References getBBox().

Referenced by esys::lsm::RandomBlockGenerator::getFitterPtrVector(), and particleFitsInBBox().

Here is the call graph for this function:

Here is the caller graph for this function:

bool esys::lsm::BlockGenerator::particleFits ( const SimpleParticle particle) const
virtual

Reimplemented in esys::lsm::RandomBlockGenerator.

References particleFitsInBBox(), and particleFitsWithNeighbours().

Referenced by generateSeedParticles(), and esys::lsm::RandomBlockGenerator::particleFits().

Here is the call graph for this function:

Here is the caller graph for this function:

bool esys::lsm::BlockGenerator::particleFitsInBBox ( const SimpleParticle particle) const

References esys::lsm::BoundingBox::contains(), SimpleParticle::getPos(), SimpleParticle::getRad(), getTolerance(), is2d(), m_bBox, and m_periodicDimensions.

Referenced by particleFits().

Here is the call graph for this function:

Here is the caller graph for this function:

bool esys::lsm::BlockGenerator::particleFitsWithNeighbours ( const SimpleParticle particle) const

Member Data Documentation

BoundingBox esys::lsm::BlockGenerator::m_bBox
private

Referenced by getBBox(), and particleFitsInBBox().

IdSet esys::lsm::BlockGenerator::m_idSet
private
ParticleVector esys::lsm::BlockGenerator::m_particleVector
private
BoolVector esys::lsm::BlockGenerator::m_periodicDimensions
private

Referenced by particleFitsInBBox().

double esys::lsm::BlockGenerator::m_tolerance
private

Referenced by getTolerance().


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