36 for (
int i = 0; i < 3; i++)
41 (
const double Point[3],
double Value[3])
const {
57 double *** Bx,
double *** By,
double *** Bz,
64 for (
int i = 0; i < 3; i++)
76 "Interpolator3dGridTo3d::setAll",
77 "Did not recognise interpolation algorithm"
virtual void function(const Mesh::Iterator &point, double *value) const
Call function at a particular point in the mesh.
virtual Interpolator3dGridTo1d * clone() const =0
Copy constructor.
Interpolator3dGridTo3d interpolates from 3d grid to a 3d vector.
interpolationAlgorithm
Enumerator encoding possible interpolation routines.
Interpolator3dGridTo1d * interpolator_m[3]
void function(const double Point[3], double Value[3]) const
Return the interpolated data.
ThreeDGrid * coordinates_m
void setAll(ThreeDGrid *grid, double ***Bx, double ***By, double ***Bz, interpolationAlgorithm algo=TRILINEAR)
Set function and mesh data.
Interpolator3dGridTo3d(ThreeDGrid *grid, double ***Bx, double ***By, double ***Bz, interpolationAlgorithm algo=TRILINEAR)
Constructor for grids with constant spacing.
ThreeDGrid holds grid information for a rectangular grid used in e.g.
double maxZ() const
Return the largest value of z in the grid.
double maxX() const
Return the largest value of x in the grid.
void remove(VectorMap *map)
Remove *map from the maps_m list if it has not already been removed.
double maxY() const
Return the largest value of y in the grid.
double minY() const
Return the smallest value of y in the grid.
void add(VectorMap *map)
Add *map to the maps_m list if it has not already been added.
double minX() const
Return the smallest value of x in the grid.
double minZ() const
Return the smallest value of z in the grid.
TriLinearInterpolator performs a linear interpolation in x then y then z.