Defines interface IParticle.
Pure virtual base class for Particle, ParticleComposition, ParticleCoreShell, MesoCrystal.
const IRotation * rotation() const
Returns rotation object.
A particle with a form factor and refractive index.
Particle * clone() const override final
Returns a clone of this ISample object.
const Material * material() const override final
Returns nullptr, unless overwritten to return a specific material.
std::vector< const INode * > getChildren() const override final
Returns a vector of children (const).
void setFormFactor(const IFormFactor &form_factor)
SlicedParticle createSlicedParticle(ZLimits limits) const override final
Creates a sliced form factor for this particle.
std::unique_ptr< IFormFactor > mP_form_factor
void accept(INodeVisitor *visitor) const override final
Calls the INodeVisitor's visit method.
void setMaterial(Material material)
Struct that contains information on a sliced particle.