32 const Layer* bottom_layer)
40 const Layer* bottom_layer,
63 if (top_layer ==
nullptr || bottom_layer ==
nullptr)
65 "Attempt to set nullptr.");
Defines many exception classes in namespace Exceptionss.
Defines class LayerInterface.
Defines class LayerRoughness.
void registerChild(INode *node)
void setName(const std::string &name)
Interface between two layers, possibly with roughness.
static LayerInterface * createRoughInterface(const Layer *top_layer, const Layer *bottom_layer, const LayerRoughness &roughness)
Creates rough interface between two layers.
LayerInterface * clone() const
Returns a clone of this ISample object.
static LayerInterface * createSmoothInterface(const Layer *top_layer, const Layer *bottom_layer)
Creates smooth interface between two layers.
virtual ~LayerInterface()
void setLayersTopBottom(const Layer *top_layer, const Layer *bottom_layer)
Sets links to the layers above and below the interface.
std::vector< const INode * > getChildren() const
Returns a vector of children (const).
std::unique_ptr< LayerRoughness > m_roughness
roughness of the interface
const Layer * m_bottomLayer
pointer to the layer below interface
void setRoughness(const LayerRoughness &roughness)
Sets roughness of the interface.
const Layer * m_topLayer
pointer to the layer above interface
A roughness of interface between two layers.
LayerRoughness * clone() const
Returns a clone of this ISample object.
A layer, with thickness (in nanometer) and material.