32#ifndef PolynomialPatch_hh
33#define PolynomialPatch_hh
68 Mesh* validity_region,
69 std::vector<SquarePolynomialVector*> polynomials_);
95 virtual void function(
const double* point,
double* value)
const;
Base class for meshing routines.
Patches together many SquarePolynomialVectors to make a multidimensional polynomial spline.
std::vector< SquarePolynomialVector * > points_
unsigned int getPointDimension() const
Get the point dimension (length of the ordinate)
unsigned int point_dimension_
virtual void function(const double *point, double *value) const
Get the value at a given point.
PolynomialPatch & operator=(const PolynomialPatch &rhs)
SquarePolynomialVector * getPolynomialVector(const double *point) const
Get the nearest SquarePolynomialVector to point.
VectorMap * clone() const
Deep copy the PolynomialPatch.
PolynomialPatch()
Default constructor leaves validity_region_ and grid_points_ as nullptr.
Mesh * getMesh() const
Get the validity region mesh.
std::vector< SquarePolynomialVector * > getPolynomials() const
Get all polynomials in the PolynomialPatch.
unsigned int getValueDimension() const
Get the value dimension (length of the abscissa)
unsigned int value_dimension_
PolynomialPatch(const PolynomialPatch &rhs)
~PolynomialPatch()
Destructor delets validity_region_, grid_points_ and points_.
SquarePolynomialVector, an arbitrary order polynomial vector class.
VectorMap is an abstract class that defines mapping from one vector to another.