16 #ifndef BORNAGAIN_SAMPLE_SCATTERING_ISAMPLENODE_H
17 #define BORNAGAIN_SAMPLE_SCATTERING_ISAMPLENODE_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.
Abstract base class for sample components and properties related to scattering.
std::vector< const Material * > containedMaterials() const
Returns set of unique materials contained in this ISampleNode.
bool isMagnetic() const
Returns true if there is any magnetic material in this ISampleNode.
virtual const Material * material() const
Returns nullptr, unless overwritten to return a specific material.
ISampleNode * clone() const override=0
Returns a clone of this ISampleNode object.
A wrapper for underlying material implementation.