template<class Derived>
Rodin::Variational::FunctionBase class

Base class for function objects which can be evaluated over a mesh.

Base class for functions defined on a mesh.

Instances of FunctionBase will always have the getValue() method defined, which enables the evaluation of any function on some mesh element.

Base classes

class Base
Base class for all classes which are part of Rodin's FormLanguage.

Derived classes

template<class Derived>
class BooleanFunctionBase
Base class for objects representing boolean functions.
template<class Derived>
class BooleanFunctionBase
Base class for objects representing boolean functions.
template<class Derived>
class BooleanFunctionBase
Base class for objects representing boolean functions.
template<class Derived>
class BooleanFunctionBase
Base class for objects representing boolean functions.
template<class Derived>
class BooleanFunctionBase
Base class for objects representing boolean functions.
template<class Derived>
class BooleanFunctionBase
Base class for objects representing boolean functions.
template<class Derived>
class BooleanFunctionBase
Base class for objects representing boolean functions.
template<class StrictType>
class LazyEvaluator
Represents the lazy evaluation of a mesh function.
template<class Scalar, class Derived>
class MatrixFunctionBase
Base class for matrix-valued functions defined on a mesh.
template<class Scalar, class Derived>
class MatrixFunctionBase
Base class for matrix-valued functions defined on a mesh.
template<class Scalar, class Derived>
class MatrixFunctionBase
Base class for matrix-valued functions defined on a mesh.
template<class Scalar, class Derived>
class VectorFunctionBase
Base class for vector-valued functions defined on a mesh.
template<class Scalar, class Derived>
class VectorFunctionBase
Base class for vector-valued functions defined on a mesh.
template<class Scalar, class Derived>
class VectorFunctionBase
Base class for vector-valued functions defined on a mesh.
template<class Scalar, class Derived>
class VectorFunctionBase
Base class for vector-valued functions defined on a mesh.
template<class Scalar, class Derived>
class VectorFunctionBase
Base class for vector-valued functions defined on a mesh.
template<class Scalar, class Derived>
class VectorFunctionBase
Base class for vector-valued functions defined on a mesh.
template<class Scalar, class Derived>
class VectorFunctionBase
Base class for vector-valued functions defined on a mesh.
template<>
class TraceOperator<FunctionBase>
Trace operator.

Public functions

auto getTraceDomain() const -> const TraceDomain& constexpr
Gets the set of attributes which will be interpreted as the domains to "trace".
auto getValue(const Geometry::Point& p) const -> auto constexpr
Evaluates the function on a Point belonging to the mesh.
auto operator()(const Geometry::Point& p) const -> auto constexpr
Evaluates the function on a Point belonging to the mesh.
auto traceOf(Geometry::Attribute attr) -> Derived& constexpr
Sets an attribute which will be interpreted as the domain to trace.
auto copy() const -> FunctionBase* override noexcept
Copies the object and returns a non-owning pointer to the copied object.

Function documentation

template<class Derived>
const TraceDomain& Rodin::Variational::FunctionBase<Derived>::getTraceDomain() const constexpr

Gets the set of attributes which will be interpreted as the domains to "trace".

The domains to trace are interpreted as the domains where there shall be a continuous extension from values to the interior boundaries. If the trace domain is empty, then this has the semantic value that it has not been specified yet.

template<class Derived>
auto Rodin::Variational::FunctionBase<Derived>::getValue(const Geometry::Point& p) const constexpr

Evaluates the function on a Point belonging to the mesh.

template<class Derived>
auto Rodin::Variational::FunctionBase<Derived>::operator()(const Geometry::Point& p) const constexpr

Evaluates the function on a Point belonging to the mesh.

This calls the function get getValue(const Geometry::Point&).

template<class Derived>
Derived& Rodin::Variational::FunctionBase<Derived>::traceOf(Geometry::Attribute attr) constexpr

Sets an attribute which will be interpreted as the domain to trace.

Returns Reference to self (for method chaining)

Convenience function to call traceOf(FlatSet<int>) with only one attribute.

template<class Derived>
FunctionBase* Rodin::Variational::FunctionBase<Derived>::copy() const override noexcept

Copies the object and returns a non-owning pointer to the copied object.

Returns Non-owning pointer to the copied object.