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_
#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{
protected:
bool scalar;
int size;
public:
//! Deletes this LocalFunctionSpace
//!
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;
//! @return Returns the size of the Basis used
int getSize(void) const;
protected:
//! Instantiate a new LocalFunctionSpace
//! @warning Users can't instantiate a LocalFunctionSpace
LocalFunctionSpace(void);
};
......
......@@ -6,13 +6,34 @@
#include "Basis.h"
#include "LocalFunctionSpace.h"
/**
@class LocalFunctionSpaceScalar
@brief Scalar Local Function Spaces
A Local Function Space build on a @em Scalar Basis.
*/
class LocalFunctionSpaceScalar: LocalFunctionSpace{
protected:
const std::vector<Polynomial>* basis;
public:
//! Instantiate a new LocalFunctionSpaceScalar
//! @param basis The Basis used to build
//! this Function Space
LocalFunctionSpaceScalar(const Basis& basis);
//! Deletes this LocalFunctionSpaceScalar
//!
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
......@@ -4,15 +4,37 @@
#include <vector>
#include "Polynomial.h"
#include "Basis.h"
#include "fullMatrix.h"
#include "LocalFunctionSpace.h"
/**
@class LocalFunctionSpaceVector
@brief Vectorial Local Function Spaces
A Local Function Space build on a @em Vectorial Basis.
*/
class LocalFunctionSpaceVector: LocalFunctionSpace{
protected:
const std::vector<std::vector<Polynomial> >* basis;
public:
//! Instantiate a new LocalFunctionSpaceVector
//! @param basis The Basis used to build
//! this Function Space
LocalFunctionSpaceVector(const Basis& basis);
//! Deletes this LocalFunctionSpaceVector
//!
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment