15 #ifndef BORNAGAIN_CORE_SAMPLEBUILDERENGINE_SAMPLEPROVIDER_H
16 #define BORNAGAIN_CORE_SAMPLEBUILDERENGINE_SAMPLEPROVIDER_H
37 void setBuilder(
const std::shared_ptr<ISampleBuilder>& sample_builder);
43 std::vector<const INode*>
getChildren()
const override;
47 void setParent(
const INode* newParent)
override;
50 std::unique_ptr<MultiLayer> m_multilayer;
Defines class SampleBuilderNode.
Visitor interface to visit ISample objects.
Base class for tree-like structures containing parameterized objects.
Our sample model: a stack of layers one below the other.
Wraps an ISampleBuilder, and puts it in an INode tree.
Holds either a Sample, or a SampleBuilderNode (which holds an ISampleBuilder).
void accept(INodeVisitor *visitor) const final
Calls the INodeVisitor's visit method.
void updateSample()
Generates new sample if sample builder defined.
const MultiLayer * sample() const
Returns current sample.
std::vector< const INode * > getChildren() const override
Returns a vector of children (const).