PLaSK library
|
Object of this class (inherited from it) construct material instance. More...
#include <plask/material/db.hpp>
Public Member Functions | |
MaterialConstructor (const std::string &materialName) | |
MaterialConstructor constructor. | |
virtual shared_ptr< Material > | operator() (const Material::Composition &composition, double doping) const =0 |
Create material. | |
virtual bool | isAlloy () const =0 |
virtual | ~MaterialConstructor () |
void | ensureCompositionIsEmpty (const Material::Composition &composition) const |
void | ensureNoDoping (double doping) const |
Public Attributes | |
std::string | materialName |
Full name (with optional dopant name) of material which this constructor can create. | |
Object of this class (inherited from it) construct material instance.
It produces materials of one type but with various composition and ammount of dopant.
|
inline |
MaterialConstructor constructor.
materialName | full name (with optional dopant name) of material which this constructor can create |
|
inlinevirtual |
|
inline |
true
only if this constructor creates simple material (does not use composition) Implemented in plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, true, true >, plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, true, false >, plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, false, true >, plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, false, false >, and plask::MaterialsDB::ProxyMaterialConstructor.
|
pure virtual |
Create material.
composition | parsed amounts of objects, can be not completed (see Material::completeComposition), empty composition in case of simple materials |
doping | amount of dopant |
Implemented in plask::MaterialsDB::ProxyMaterialConstructor, plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, true, true >, plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, true, false >, plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, false, true >, and plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, false, false >.
std::string plask::MaterialsDB::MaterialConstructor::materialName |