15 #ifndef BORNAGAIN_CORE_SAMPLEBUILDERENGINE_SAMPLEBUILDERNODE_H
16 #define BORNAGAIN_CORE_SAMPLEBUILDERENGINE_SAMPLEBUILDERNODE_H
34 void setSBN(
const std::shared_ptr<ISampleBuilder>& sample_builder);
42 explicit operator bool()
const;
44 std::shared_ptr<ISampleBuilder>
builder()
const;
47 void borrow_builder_parameters();
49 std::shared_ptr<ISampleBuilder> m_sample_builder;
Visitor interface to visit ISample objects.
Base class for tree-like structures containing parameterized objects.
Interface to the class capable to build samples to simulate.
Wraps an ISampleBuilder, and puts it in an INode tree.
void setSBN(const std::shared_ptr< ISampleBuilder > &sample_builder)
Sets sample builder and borrows its parameters.
std::shared_ptr< ISampleBuilder > builder() const
Returns current sample builder.
void accept(INodeVisitor *visitor) const final
Calls the INodeVisitor's visit method.
void reset()
Resets to initial state by removing builder and its borrowed parameters.
std::unique_ptr< MultiLayer > createMultiLayer()
Creates a multilayer using sample builder.