35 Mesh* validity_region,
36 std::vector<SquarePolynomialVector*> polynomials) {
43 "PolynomialPatch::PolynomialPatch",
44 "PolynomialPatch grid_points_ was NULL");
47 "PolynomialPatch::PolynomialPatch",
48 "PolynomialPatch validity_region_ was NULL");
51 "PolynomialPatch::PolynomialPatch",
52 "Could not make PolynomialPatch with 0 length polynomials vector");
57 "PolynomialPatch::PolynomialPatch",
58 "Could not make PolynomialPatch with bad length polynomials vector"
64 "PolynomialPatch::PolynomialPatch",
65 "PolynomialPatch validity_region_ has bad dimension");
68 for (
size_t i = 0; i <
points_.size(); ++i) {
71 "PolynomialPatch::PolynomialPatch",
72 "PolynomialPatch points_ element was NULL");
75 "PolynomialPatch::PolynomialPatch",
76 "Polynomial with mismatched PointDimension in PolynomialPatch");
80 "PolynomialPatch::PolynomialPatch",
81 "Polynomial with mismatched ValueDimension in PolynomialPatch");
86 Mesh* new_mesh = NULL;
90 Mesh* new_validity = NULL;
94 std::vector<SquarePolynomialVector*> new_points(
points_.size());
95 for (
size_t i = 0; i <
points_.size(); ++i) {
106 : validity_region_(NULL), grid_points_(NULL), points_(), point_dimension_(0),
107 value_dimension_(0) {
113 for (
size_t i = 0; i <
points_.size(); ++i)
120 std::vector<double> nearest_pos = nearest.
getPosition();
122 point_temp[i] = point[i] - nearest_pos[i];
124 points_[points_index]->F(&point_temp[0], value);
PartBunchBase< T, Dim >::ConstIterator end(PartBunchBase< T, Dim > const &bunch)
Base class for meshing routines.
virtual int getPositionDimension() const =0
virtual Mesh::Iterator getNearest(const double *position) const =0
virtual Mesh::Iterator end() const =0
virtual void getPosition(double *point) const
std::vector< SquarePolynomialVector * > points_
unsigned int point_dimension_
virtual void function(const double *point, double *value) const
SquarePolynomialVector * getPolynomialVector(const double *point) const
VectorMap * clone() const
unsigned int value_dimension_
SquarePolynomialVector describes a vector of multivariate polynomials.