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