Acoustic FDTD Solver
|
The implementation of the decorator pattern requires the class to contain a pointer to itself. More...
#include <MaterialDecorator.hpp>
Public Member Functions | |
MaterialDecorator () | |
MaterialDecorator (Material *m) | |
MaterialDecorator (const MaterialDecorator &the_decorator) | |
MaterialDecorator & | operator= (const MaterialDecorator &the_decorator) |
bool | operator== (const Material &m) const |
The objects need to be equality-comparable to be used with the Flyweight pattern. | |
virtual MaterialDecorator * | clone () const |
virtual void | print () const |
Print the parameters associated with the material. | |
virtual | ~MaterialDecorator () |
virtual double | getBulkModulus () const |
Acoustic properties. | |
virtual double | getDensity () const |
Acoustic properties. | |
virtual double | getAcousticConductivity () const |
virtual double | getAcousticPhaseVelocity (const double frequency) const |
Acoustic properties. | |
virtual double | getAcousticWavelength (const double frequency) const |
Acoustic properties. | |
virtual std::complex< double > | getAcousticWaveNumber (const double frequency) const |
Acoustic properties. | |
virtual std::complex< double > | getAcousticImpedance (const double frequency) const |
Acoustic properties. | |
virtual double | getYoungsModulus () const |
Elastic properties. | |
virtual double | getLameFirst () const |
Elastic properties, represented by . | |
virtual double | getShearModulus () const |
Elastic properties, represented by or . | |
virtual double | getThermalConductivity () const |
Thermal properties. | |
virtual double | getSpecificHeat () const |
Thermal properties. | |
virtual double | getThermalExpansion () const |
Thermal properties. | |
virtual double | getElectricConductivity () const |
Electromagnetic properties. | |
virtual double | getRelativePermittivity () const |
Electromagnetic properties. | |
virtual double | getMagneticConductivity () const |
Electromagnetic properties. | |
virtual double | getRelativePermeability () const |
Electromagnetic properties. | |
virtual double | getElectromagneticPhaseVelocity (const double frequency) const |
Electromagnetic properties. | |
virtual double | getElectromagneticWavelength (const double frequency) const |
Electromagnetic properties. | |
virtual std::complex< double > | getElectromagneticWaveNumber (const double frequency) const |
Electromagnetic properties. | |
virtual std::complex< double > | getElectromagneticImpedance (const double frequency) const |
Electromagnetic properties. | |
Public Member Functions inherited from Material | |
virtual | ~Material () |
Protected Attributes | |
Material * | material |
The implementation of the decorator pattern requires the class to contain a pointer to itself.
Thus, by the Rule of Three in C++ programming, we need to overload the copy constructor, the assignment constructor, and the destructor.
MaterialDecorator::MaterialDecorator | ( | ) |
MaterialDecorator::MaterialDecorator | ( | Material * | m | ) |
MaterialDecorator::MaterialDecorator | ( | const MaterialDecorator & | the_decorator | ) |
|
virtual |
|
virtual |
Implements Material.
Reimplemented in HNAcousticProperty, AcousticProperty, and ElasticProperty.
|
virtual |
Implements Material.
Reimplemented in AcousticProperty.
|
virtual |
Acoustic properties.
Implements Material.
Reimplemented in HNAcousticProperty, and AcousticProperty.
|
virtual |
|
virtual |
|
virtual |
Acoustic properties.
Implements Material.
Reimplemented in HNAcousticProperty, and AcousticProperty.
|
virtual |
|
virtual |
|
virtual |
Electromagnetic properties.
Implements Material.
|
virtual |
Electromagnetic properties.
Implements Material.
|
virtual |
Electromagnetic properties.
Implements Material.
|
virtual |
Electromagnetic properties.
Implements Material.
|
virtual |
Electromagnetic properties.
Implements Material.
|
virtual |
|
virtual |
Electromagnetic properties.
Implements Material.
|
virtual |
Electromagnetic properties.
Implements Material.
|
virtual |
Electromagnetic properties.
Implements Material.
|
virtual |
|
virtual |
Thermal properties.
Implements Material.
|
virtual |
Thermal properties.
Implements Material.
|
virtual |
Thermal properties.
Implements Material.
|
virtual |
MaterialDecorator & MaterialDecorator::operator= | ( | const MaterialDecorator & | the_decorator | ) |
|
virtual |
The objects need to be equality-comparable to be used with the Flyweight pattern.
We overload the equality operator.
Implements Material.
|
virtual |
Print the parameters associated with the material.
Implements Material.
Reimplemented in HNAcousticProperty, AcousticProperty, and ElasticProperty.
|
protected |