ESyS-Particle  2.3.4
SimpleParticle Class Reference

#include <SimpleParticle.h>

Inheritance diagram for SimpleParticle:
Collaboration diagram for SimpleParticle:

Public Member Functions

 SimpleParticle (const Vec3 &posn, double radius, int id=0, int tag=0)
 
 SimpleParticle (const SimpleParticle &p)
 
SimpleParticleoperator= (const SimpleParticle &p)
 
const Vec3getPos () const
 
void setPos (const Vec3 &pos)
 
void moveTo (const Vec3 &v)
 
void translateBy (const Vec3 &v)
 
void moveBy (const Vec3 &v)
 
void rotate (const Vec3 &rotation, const Vec3 &posn)
 
double getRad () const
 
void setRad (double r)
 
bool isValid () const
 
template<typename TmplVisitor >
void visit (const TmplVisitor &visitor) const
 
template<typename TmplVisitor >
void visit (TmplVisitor &visitor)
 
- Public Member Functions inherited from esys::lsm::SimpleParticleData
 SimpleParticleData ()
 
 SimpleParticleData (Id id, Tag tag, const Vec3 &position, double radius)
 
 SimpleParticleData (const Vec3 &position, double radius, Id id, Tag tag)
 
 SimpleParticleData (const SimpleParticleData &p)
 
SimpleParticleDataoperator= (const SimpleParticleData &p)
 
bool operator== (const SimpleParticleData &particleData) const
 
Id getId () const
 
void setId (const Id &id)
 
Id getID () const
 
void setID (const Id &id)
 
const Vec3getPosition () const
 
void setPosition (const Vec3 &pos)
 
Tag getTag () const
 
void setTag (const Tag &tag)
 
double getRadius () const
 
void setRadius (const double &r)
 
void setMass (double mass)
 
double getMass () const
 
double get2dMass () const
 
double get3dMass () const
 
void read (std::istream &istream)
 
void write (std::ostream &write) const
 

Static Public Attributes

static const SimpleParticle INVALID = SimpleParticle(Vec3::ZERO, 0.0, -1, -1)
 

Additional Inherited Members

- Public Types inherited from esys::lsm::SimpleParticleData
typedef int Id
 
typedef int Tag
 

Constructor & Destructor Documentation

◆ SimpleParticle() [1/2]

SimpleParticle::SimpleParticle ( const Vec3 posn,
double  radius,
int  id = 0,
int  tag = 0 
)
inline

◆ SimpleParticle() [2/2]

SimpleParticle::SimpleParticle ( const SimpleParticle p)
inline

Member Function Documentation

◆ getPos()

const Vec3 & SimpleParticle::getPos ( ) const
inline

References esys::lsm::SimpleParticleData::getPosition().

Referenced by FaultedBlock2D::checkAFit(), ARandomAssembly2D::checkAFit(), ARandomAssembly3D::checkAFit(), CRoughPaddedBlock3D::checkAFit(), esys::lsm::SphereBlockGenerator::checkAFit(), esys::lsm::DistConnections< SimpleSpherePy, TaggedIdConnectionPy >::createConnection(), esys::lsm::SphAggGougeBlock::fillMacroGrains(), ARandomAssembly2D::fillSpace(), ARandomAssembly3D::fillSpace(), esys::lsm::SphereBlockGenerator::generateFillParticles(), esys::lsm::GranularGougeBlock3D::generateGrains(), ARandomAssembly::get3ClosestNeighbors(), ARandomAssembly::getClosestNeighbors(), esys::lsm::SphereBlockGenerator::getClosestNeighbors(), esys::lsm::RandomBlockGenerator::getClosestNeighbors(), ARandomAssembly::getClosestParticle(), CRoughPaddedBlock3D::getClosestPatch(), FaultedBlock2D::getClosestPlane(), ARandomAssembly2D::getClosestPlane(), ARandomAssembly3D::getClosestPlane(), CRoughPaddedBlock3D::getClosestPlane(), esys::lsm::MoveToSurfaceFitter< TmplFitTraits >::getFitParticle(), esys::lsm::ThreeDParticleFitter::getFitParticle(), esys::lsm::TwoDParticleFitter::getFitParticle(), esys::lsm::TwoDPlaneParticleFitter::getFitParticle(), esys::lsm::ThreeDPlaneParticleFitter::getFitParticle(), ARandomAssembly::getNeighborList(), esys::lsm::SimpleSpherePy::getPosnPy(), ASimpleNTable::insertParticle(), CSimple2DNTable::insertParticleCircular(), CSimple3DNTable::insertParticleCircular(), esys::lsm::SolidBoxPy::intersects(), esys::lsm::HollowBoxPy::intersects(), esys::lsm::GranularInteractionValidator::isValid(), esys::lsm::SphAggInteractionValidator::isValid(), esys::lsm::InteractionValidator::isValid(), esys::lsm::MoveToSurfaceFitter< TmplFitTraits >::moveToSurface(), esys::lsm::PlaneComparer< TmplParticle >::operator()(), ParticleComparer::operator()(), esys::lsm::SphereBlockGenerator::particleFits(), esys::lsm::BlockGenerator::particleFitsInBBox(), esys::lsm::BlockGenerator::particleFitsWithNeighbours(), esys::lsm::GougeBlock3D::tagDrivingPlateParticles(), esys::lsm::GeoParticleWriter::visitSimpleParticle(), esys::lsm::GougeBlock3D::write(), and esys::lsm::ParticleDataVisitor::writeCentrePoints().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getRad()

double SimpleParticle::getRad ( ) const
inline

References esys::lsm::SimpleParticleData::getRadius().

Referenced by FaultedBlock2D::checkAFit(), ARandomAssembly2D::checkAFit(), ARandomAssembly3D::checkAFit(), CRoughPaddedBlock3D::checkAFit(), esys::lsm::SphereBlockGenerator::checkAFit(), esys::lsm::DistConnections< SimpleSpherePy, TaggedIdConnectionPy >::createConnection(), esys::lsm::exportSimpleSphere(), esys::lsm::SphAggGougeBlock::fillMacroGrains(), ARandomAssembly2D::fillSpace(), ARandomAssembly3D::fillSpace(), esys::lsm::SphereBlockGenerator::generateFillParticles(), ARandomAssembly::getClosestParticle(), esys::lsm::MoveToSurfaceFitter< TmplFitTraits >::getFitParticle(), esys::lsm::ThreeDParticleFitter::getFitParticle(), esys::lsm::TwoDParticleFitter::getFitParticle(), esys::lsm::TwoDPlaneParticleFitter::getFitParticle(), esys::lsm::ThreeDPlaneParticleFitter::getFitParticle(), esys::lsm::SolidBoxPy::intersects(), esys::lsm::HollowBoxPy::intersects(), esys::lsm::GranularInteractionValidator::isValid(), esys::lsm::SphAggInteractionValidator::isValid(), esys::lsm::InteractionValidator::isValid(), esys::lsm::MoveToSurfaceFitter< TmplFitTraits >::moveToSurface(), ParticleComparer::operator()(), esys::lsm::RandomBlockGenerator::particleFits(), esys::lsm::SphereBlockGenerator::particleFits(), esys::lsm::BlockGenerator::particleFitsInBBox(), esys::lsm::BlockGenerator::particleFitsWithNeighbours(), esys::lsm::GougeBlock3D::tagDrivingPlateParticles(), esys::lsm::GeoParticleWriter::visitSimpleParticle(), and esys::lsm::ParticleDataVisitor::writeRadii().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isValid()

◆ moveBy()

void SimpleParticle::moveBy ( const Vec3 v)
inline

References translateBy().

Here is the call graph for this function:

◆ moveTo()

◆ operator=()

SimpleParticle & SimpleParticle::operator= ( const SimpleParticle p)
inline

◆ rotate()

void SimpleParticle::rotate ( const Vec3 rotation,
const Vec3 posn 
)
inline

References cross(), dot(), esys::lsm::SimpleParticleData::getPosition(), Vec3::norm(), and esys::lsm::SimpleParticleData::setPosition().

Referenced by esys::lsm::SimpleSpherePy::rigidRotatePy().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPos()

void SimpleParticle::setPos ( const Vec3 pos)
inline

References esys::lsm::SimpleParticleData::setPosition().

Referenced by esys::lsm::SimpleSpherePy::setPosnPy().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setRad()

void SimpleParticle::setRad ( double  r)
inline

References esys::lsm::SimpleParticleData::setRadius().

Referenced by esys::lsm::exportSimpleSphere().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ translateBy()

void SimpleParticle::translateBy ( const Vec3 v)
inline

◆ visit() [1/2]

template<typename TmplVisitor >
void SimpleParticle::visit ( const TmplVisitor &  visitor) const

◆ visit() [2/2]

template<typename TmplVisitor >
void SimpleParticle::visit ( TmplVisitor &  visitor)

Member Data Documentation

◆ INVALID


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