Defines interface IAbstractParticle.
Interface for a generic particle.
Abstract base class for Particle, ParticleComposition, ParticleCoreShell, MesoCrystal.
A particle type that is a parametric distribution of IParticle's.
ParameterDistribution m_par_distribution
const IParticle & prototype() const
Returns the prototype particle, used for generating multiple ones.
ParticleDistribution * clone() const final
Returns a clone of this ISampleNode object.
void accept(INodeVisitor *visitor) const final
Calls the INodeVisitor's visit method.
std::vector< const INode * > getChildren() const final
Returns a vector of children.
void translate(kvector_t translation) final
Translates the particle with the given vector.
void rotate(const IRotation &rotation) final
Applies the given rotation to the particle.
SafePointerVector< IParticle > generateParticles() const
Returns list of new particles generated according to a distribution.
ParameterDistribution parameterDistribution() const
Returns the distributed parameter data.
std::string mainUnits() const
ParticleDistribution(const IParticle &prototype, const ParameterDistribution &par_distr)
std::unique_ptr< IParticle > m_particle