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).