BEM++  2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Types | Public Member Functions | Private Attributes | List of all members
Fiber::SurfaceNormalIndependentFunction< Functor > Class Template Reference

Function defined via a user-supplied functor, depending only on global coordinates. More...

#include </home/wojtek/Projects/BEM/bempp-sven/bempp/lib/fiber/surface_normal_independent_function.hpp>

Inheritance diagram for Fiber::SurfaceNormalIndependentFunction< Functor >:
Fiber::Function< Functor::ValueType >

Public Types

typedef Function< typename
Functor::ValueType > 
Base
 
typedef Functor::ValueType ValueType
 
typedef Base::CoordinateType CoordinateType
 
- Public Types inherited from Fiber::Function< Functor::ValueType >
typedef ScalarTraits
< Functor::ValueType >
::RealType 
CoordinateType
 

Public Member Functions

 SurfaceNormalIndependentFunction (const Functor &functor)
 
virtual int worldDimension () const
 
virtual int codomainDimension () const
 
virtual void addGeometricalDependencies (size_t &geomDeps) const
 
virtual void evaluate (const GeometricalData< CoordinateType > &geomData, arma::Mat< ValueType > &result) const
 
- Public Member Functions inherited from Fiber::Function< Functor::ValueType >
virtual void evaluate (const GeometricalData< CoordinateType > &geomData, arma::Mat< Functor::ValueType > &result) const =0
 

Private Attributes

const Functor & m_functor
 

Detailed Description

template<typename Functor>
class Fiber::SurfaceNormalIndependentFunction< Functor >

Function defined via a user-supplied functor, depending only on global coordinates.

The template parameter Functor should be a class with the following interface:

class Functor
{
public:
// Type of the function's values (float, double, std::complex<float>
// or std::complex<double>)
typedef <implementiation-defined> ValueType;
typedef typename ScalarTraits<ValueType>::RealType CoordinateType;
// Number of components of the function's argument
int argumentDimension() const;
// Number of components of the function's result
int resultDimension() const;
// Evaluate the function at the point "point" and store result in
// the array "result"
// The "point" and "result" arrays will be preinitialised to correct
// dimensions.
void evaluate(const arma::Col<CoordinateType>& point,
arma::Col<ValueType>& result) const;
};

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