PLaSK library

Loading...
Searching...
No Matches
Public Member Functions | List of all members
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< Material > | getMaterial (const GeometryObjectLeaf< dim > &thisObj, const DVec &p) const =0
virtual shared_ptr< Material > | singleMaterial () const =0
| Get material only if it this provider represents solid material (if getMaterial returns value independent from arguments).
virtual MaterialProvider * | clone () const =0
virtual shared_ptr< Material > | getRepresentativeMaterial () const =0
| Get representative material of this provider (typically material which is returned in center of object).
virtual XMLWriter::Element & | writeXML (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 | ( |  | ) |
| inline virtual

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

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

## ◆ getMaterial()

template<int dim>

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

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

## ◆ 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

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

## ◆ 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

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

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

- plask/geometry/leaf.hpp