22 :
INode(meta, PValues)
28 std::vector<const Material*> result;
30 result.push_back(p_material);
33 for (
const Material* p_material : sample->containedMaterials())
34 result.push_back(p_material);
43 return std::any_of(materials.cbegin(), materials.cend(),
44 [](
const Material* mat) { return mat->isMagneticMaterial(); });
Defines interface class ISampleNode.
Defines and implements class Material.
Defines class ParameterPool.
Base class for tree-like structures containing parameterized objects.
virtual std::vector< const INode * > getChildren() const
Returns a vector of children.
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.
A wrapper for underlying material implementation.