PLaSK library
Loading...
Searching...
No Matches
plask::GeometryObjectLeaf< dim >::MaterialProvider Struct Referenceabstract

#include <plask/geometry/leaf.hpp>

Inheritance diagram for plask::GeometryObjectLeaf< dim >::MaterialProvider:
[legend]

Public Member Functions

virtual shared_ptr< MaterialgetMaterial (const GeometryObjectLeaf< dim > &thisObj, const DVec &p) const =0
 
virtual shared_ptr< MaterialsingleMaterial () const =0
 Get material only if it this provider represents solid material (if getMaterial returns value independent from arguments).
 
virtual MaterialProviderclone () const =0
 
virtual shared_ptr< MaterialgetRepresentativeMaterial () const =0
 Get representative material of this provider (typically material which is returned in center of object).
 
virtual XMLWriter::ElementwriteXML (XMLWriter::Element &dest_xml_object, const AxisNames &axes) const =0
 
virtual bool isUniform (Primitive< 3 >::Direction direction) const =0
 
virtual ~MaterialProvider ()
 

Detailed Description

template<int dim>
struct plask::GeometryObjectLeaf< dim >::MaterialProvider

Definition at line 42 of file leaf.hpp.

Constructor & Destructor Documentation

◆ ~MaterialProvider()

template<int dim>
virtual plask::GeometryObjectLeaf< dim >::MaterialProvider::~MaterialProvider ( )
inlinevirtual

Definition at line 64 of file leaf.hpp.

Member Function Documentation

◆ clone()

template<int dim>
virtual MaterialProvider * plask::GeometryObjectLeaf< dim >::MaterialProvider::clone ( ) const
pure virtual

◆ getMaterial()

template<int dim>
virtual shared_ptr< Material > plask::GeometryObjectLeaf< dim >::MaterialProvider::getMaterial ( const GeometryObjectLeaf< dim > &  thisObj,
const DVec p 
) const
pure virtual

◆ getRepresentativeMaterial()

template<int dim>
virtual shared_ptr< Material > plask::GeometryObjectLeaf< dim >::MaterialProvider::getRepresentativeMaterial ( ) const
pure virtual

Get representative material of this provider (typically material which is returned in center of object).

Returns
representative material of this provider

Implemented in plask::GeometryObjectLeaf< dim >::SolidMaterial, and plask::GeometryObjectLeaf< dim >::GradientMaterial.

◆ isUniform()

template<int dim>
virtual bool plask::GeometryObjectLeaf< dim >::MaterialProvider::isUniform ( Primitive< 3 >::Direction  direction) const
pure virtual

◆ singleMaterial()

template<int dim>
virtual shared_ptr< Material > plask::GeometryObjectLeaf< dim >::MaterialProvider::singleMaterial ( ) const
pure virtual

Get material only if it this provider represents solid material (if getMaterial returns value independent from arguments).

Returns
material or nullptr if it is not solid

Implemented in plask::GeometryObjectLeaf< dim >::SolidMaterial, and plask::GeometryObjectLeaf< dim >::GradientMaterial.

◆ writeXML()

template<int dim>
virtual XMLWriter::Element & plask::GeometryObjectLeaf< dim >::MaterialProvider::writeXML ( XMLWriter::Element dest_xml_object,
const AxisNames axes 
) const
pure virtual

The documentation for this struct was generated from the following file: