|
ESyS-Particle
2.3.4
|
#include <BlockGenerator.h>


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 BoundingBox & | getBBox () 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 () | |
| NTable & | getNTable () |
| const NTable & | getNTable () const |
| ParticlePool & | getParticlePool () |
| const ParticlePool & | getParticlePool () const |
| typedef std::set<int> esys::lsm::BlockGenerator::IdSet |
| esys::lsm::BlockGenerator::BlockGenerator | ( | NTable & | nTable, |
| ParticlePool & | particlePool, | ||
| const BoundingBox & | bBox, | ||
| const BoolVector & | periodicDimensions, | ||
| double | tolerance | ||
| ) |
|
virtual |
| bool esys::lsm::BlockGenerator::contains | ( | const SimpleParticle & | particle | ) | const |
References esys::lsm::SimpleParticleData::getID(), and m_idSet.

|
pure virtual |
Implements esys::lsm::ParticleGenerator.
Implemented in esys::lsm::RegularBlockGenerator, and esys::lsm::RandomBlockGenerator.
|
virtual |
References getNextId(), and getRadius().
Referenced by esys::lsm::RandomBlockGenerator::generateFillParticles(), and generateSeedParticles().


|
virtual |
References generateParticle(), getBBox(), getGridRadius(), esys::lsm::GridIterator::hasNext(), insertParticle(), esys::lsm::GridIterator::next(), and particleFits().
Referenced by esys::lsm::RandomBlockGenerator::generate(), and esys::lsm::RegularBlockGenerator::generate().


| const BoundingBox & esys::lsm::BlockGenerator::getBBox | ( | ) | const |
References m_bBox.
Referenced by esys::lsm::RandomBlockGenerator::generateFillParticles(), generateSeedParticles(), esys::lsm::RandomBlockGenerator::getRandomPoint(), and is2d().

|
pure virtual |
Implemented in esys::lsm::RegularBlockGenerator, and esys::lsm::RandomBlockGenerator.
Referenced by generateSeedParticles().

| int esys::lsm::BlockGenerator::getNextId | ( | ) |
References esys::lsm::ParticleGenerator::getNTable(), and esys::lsm::CircularNeighbourTable< TmplParticle >::getNumParticles().
Referenced by generateParticle().


| size_t esys::lsm::BlockGenerator::getNumParticles | ( | ) | const |
References m_idSet.
|
inline |
References m_particleVector.
|
pure virtual |
Implemented in esys::lsm::RegularBlockGenerator, and esys::lsm::RandomBlockGenerator.
Referenced by generateParticle().

| double esys::lsm::BlockGenerator::getTolerance | ( | ) | const |
References m_tolerance.
Referenced by esys::lsm::RandomBlockGenerator::getClosestNeighbors(), particleFitsInBBox(), and particleFitsWithNeighbours().

| void esys::lsm::BlockGenerator::insertParticle | ( | const SimpleParticle & | particle | ) |
References esys::lsm::SimpleParticleData::getID(), esys::lsm::ParticleGenerator::getNTable(), esys::lsm::ParticleGenerator::getParticlePool(), esys::lsm::CircularNeighbourTable< TmplParticle >::insert(), m_idSet, and m_particleVector.
Referenced by esys::lsm::RandomBlockGenerator::generateFillParticles(), and generateSeedParticles().


| bool esys::lsm::BlockGenerator::is2d | ( | ) | const |
References getBBox().
Referenced by esys::lsm::RandomBlockGenerator::getFitterPtrVector(), and particleFitsInBBox().


|
virtual |
Reimplemented in esys::lsm::RandomBlockGenerator.
References particleFitsInBBox(), and particleFitsWithNeighbours().
Referenced by generateSeedParticles(), and esys::lsm::RandomBlockGenerator::particleFits().


| 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().


| bool esys::lsm::BlockGenerator::particleFitsWithNeighbours | ( | const SimpleParticle & | particle | ) | const |
References esys::lsm::NeighbourTable< TmplParticle >::getNeighbourVector(), esys::lsm::ParticleGenerator::getNTable(), SimpleParticle::getPos(), SimpleParticle::getRad(), getTolerance(), and esys::lsm::bpu::iter().
Referenced by particleFits().


|
private |
Referenced by getBBox(), and particleFitsInBBox().
|
private |
Referenced by contains(), getNumParticles(), and insertParticle().
|
private |
Referenced by getParticleIterator(), and insertParticle().
|
private |
Referenced by particleFitsInBBox().
|
private |
Referenced by getTolerance().