15 #ifndef BORNAGAIN_CORE_SCATTERING_ISAMPLE_H
16 #define BORNAGAIN_CORE_SCATTERING_ISAMPLE_H
Defines and implements the standard mix-in ICloneable.
Interface for polymorphic classes that should not be copied, except by explicit cloning.
Base class for tree-like structures containing parameterized objects.
Pure virtual base class for sample components and properties related to scattering.
virtual const Material * material() const
Returns nullptr, unless overwritten to return a specific material.
std::vector< const Material * > containedMaterials() const
Returns set of unique materials contained in this ISample.
ISample * clone() const override=0
Returns a clone of this ISample object.
A wrapper for underlying material implementation.