Skip to content
Snippets Groups Projects
Commit 8f50a181 authored by Nicolas Marsic's avatar Nicolas Marsic
Browse files

Doc for LocalFunctionSpace*

parent 84639941
No related branches found
No related tags found
No related merge requests found
#ifndef _LOCALFUNCTIONSPACE_H_ #ifndef _LOCALFUNCTIONSPACE_H_
#define _LOCALFUNCTIONSPACE_H_ #define _LOCALFUNCTIONSPACE_H_
/**
@class LocalFunctionSpace
@brief Mother class for Local Function Spaces
This class is the @em mother (by @em inheritence) of all@n
Local Function Spaces.@n
A Local Function Space is a Basis on which we can interpolate on.
*/
class LocalFunctionSpace{ class LocalFunctionSpace{
protected: protected:
bool scalar; bool scalar;
int size; int size;
public: public:
//! Deletes this LocalFunctionSpace
//!
virtual ~LocalFunctionSpace(void); virtual ~LocalFunctionSpace(void);
//! @return Returns:
//! @li @c true, if a
//! @em scalar Basis is used
//! @li @c false, if a
//! @em vectorial Basis is used
//! @see LocalFunctionSpaceScalar
//! @see LocalFunctionSpaceVector
bool isScalar(void) const; bool isScalar(void) const;
//! @return Returns the size of the Basis used
int getSize(void) const; int getSize(void) const;
protected: protected:
//! Instantiate a new LocalFunctionSpace
//! @warning Users can't instantiate a LocalFunctionSpace
LocalFunctionSpace(void); LocalFunctionSpace(void);
}; };
......
...@@ -6,13 +6,34 @@ ...@@ -6,13 +6,34 @@
#include "Basis.h" #include "Basis.h"
#include "LocalFunctionSpace.h" #include "LocalFunctionSpace.h"
/**
@class LocalFunctionSpaceScalar
@brief Scalar Local Function Spaces
A Local Function Space build on a @em Scalar Basis.
*/
class LocalFunctionSpaceScalar: LocalFunctionSpace{ class LocalFunctionSpaceScalar: LocalFunctionSpace{
protected: protected:
const std::vector<Polynomial>* basis; const std::vector<Polynomial>* basis;
public: public:
//! Instantiate a new LocalFunctionSpaceScalar
//! @param basis The Basis used to build
//! this Function Space
LocalFunctionSpaceScalar(const Basis& basis); LocalFunctionSpaceScalar(const Basis& basis);
//! Deletes this LocalFunctionSpaceScalar
//!
virtual ~LocalFunctionSpaceScalar(void); virtual ~LocalFunctionSpaceScalar(void);
//! Performs an Interpolation
//! @param coef The coefficients to use for the
//! Interpolation
//! @param x,y,z The coordinate of the Interpolation
//! @return Returns the value of the Interpolation
double interpolate(const fullVector<double>& coef,
double x, double y, double z) const;
}; };
#endif #endif
...@@ -4,15 +4,37 @@ ...@@ -4,15 +4,37 @@
#include <vector> #include <vector>
#include "Polynomial.h" #include "Polynomial.h"
#include "Basis.h" #include "Basis.h"
#include "fullMatrix.h"
#include "LocalFunctionSpace.h" #include "LocalFunctionSpace.h"
/**
@class LocalFunctionSpaceVector
@brief Vectorial Local Function Spaces
A Local Function Space build on a @em Vectorial Basis.
*/
class LocalFunctionSpaceVector: LocalFunctionSpace{ class LocalFunctionSpaceVector: LocalFunctionSpace{
protected: protected:
const std::vector<std::vector<Polynomial> >* basis; const std::vector<std::vector<Polynomial> >* basis;
public: public:
//! Instantiate a new LocalFunctionSpaceVector
//! @param basis The Basis used to build
//! this Function Space
LocalFunctionSpaceVector(const Basis& basis); LocalFunctionSpaceVector(const Basis& basis);
//! Deletes this LocalFunctionSpaceVector
//!
virtual ~LocalFunctionSpaceVector(void); virtual ~LocalFunctionSpaceVector(void);
//! Performs an Interpolation
//! @param coef The coefficients to use for the
//! Interpolation
//! @param x,y,z The coordinate of the Interpolation
//! @return Returns the value of the Interpolation
fullVector<double> interpolate(const fullVector<double>& coef,
double x, double y, double z) const;
}; };
#endif #endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment