OGS
|
Base class for all parameters, not an interface class. This avoids using of void* when storing parameters and convenient destruction. Its property name helps addressing the right parameter.
Definition at line 47 of file Parameter.h.
#include <Parameter.h>
Public Member Functions | |
ParameterBase (std::string name_, MeshLib::Mesh const *mesh=nullptr) | |
virtual | ~ParameterBase ()=default |
virtual bool | isTimeDependent () const =0 |
void | setCoordinateSystem (CoordinateSystem const &coordinate_system) |
virtual void | initialize (std::vector< std::unique_ptr< ParameterBase > > const &) |
MeshLib::Mesh const * | mesh () const |
Public Attributes | |
std::string const | name |
Protected Member Functions | |
std::vector< double > | rotateWithCoordinateSystem (std::vector< double > const &values, SpatialPosition const &pos) const |
Protected Attributes | |
std::optional< CoordinateSystem > | _coordinate_system |
MeshLib::Mesh const * | _mesh |
|
inlineexplicit |
Definition at line 49 of file Parameter.h.
|
virtualdefault |
|
inlinevirtual |
Parameters might depend on each other; this method allows to set up the dependencies between parameters after they have been constructed.
Reimplemented in ParameterLib::CurveScaledParameter< T >, and ParameterLib::TimeDependentHeterogeneousParameter.
Definition at line 66 of file Parameter.h.
|
pure virtual |
Implemented in ParameterLib::ConstantParameter< T >, ParameterLib::CurveScaledParameter< T >, ParameterLib::FunctionParameter< T >, ParameterLib::GroupBasedParameter< T, MeshItemType >, ParameterLib::MeshElementParameter< T >, ParameterLib::MeshNodeParameter< T >, ParameterLib::RandomFieldMeshElementParameter< T >, ParameterLib::RasterParameter, and ParameterLib::TimeDependentHeterogeneousParameter.
|
inline |
Definition at line 71 of file Parameter.h.
References _mesh.
Referenced by ParameterLib::isDefinedOnSameMesh().
|
inlineprotected |
Definition at line 76 of file Parameter.h.
References _coordinate_system, and OGS_FATAL.
Referenced by ParameterLib::ConstantParameter< T >::operator()(), ParameterLib::FunctionParameter< T >::operator()(), ParameterLib::GroupBasedParameter< T, MeshItemType >::operator()(), ParameterLib::MeshElementParameter< T >::operator()(), ParameterLib::MeshNodeParameter< T >::operator()(), and ParameterLib::RandomFieldMeshElementParameter< T >::operator()().
|
inline |
Definition at line 59 of file Parameter.h.
References _coordinate_system.
|
protected |
Definition at line 126 of file Parameter.h.
Referenced by ParameterLib::ConstantParameter< T >::operator()(), ParameterLib::CurveScaledParameter< T >::operator()(), ParameterLib::FunctionParameter< T >::operator()(), ParameterLib::GroupBasedParameter< T, MeshItemType >::operator()(), ParameterLib::MeshElementParameter< T >::operator()(), ParameterLib::MeshNodeParameter< T >::operator()(), ParameterLib::RandomFieldMeshElementParameter< T >::operator()(), ParameterLib::TimeDependentHeterogeneousParameter::operator()(), rotateWithCoordinateSystem(), and setCoordinateSystem().
|
protected |
A mesh on which the parameter is defined. Some parameters might be mesh-independent.
Definition at line 130 of file Parameter.h.
Referenced by ParameterLib::CurveScaledParameter< T >::initialize(), and mesh().
std::string const ParameterLib::ParameterBase::name |
Definition at line 73 of file Parameter.h.
Referenced by ParameterLib::CoordinateSystem::CoordinateSystem(), ProcessLib::HT::createHTProcess(), ParameterLib::TimeDependentHeterogeneousParameter::initialize(), and ParameterLib::CoordinateSystem::transformation().