16#ifndef UTILS_INTERPOLATE_TRILINEAR_H
17#define UTILS_INTERPOLATE_TRILINEAR_H
100 int setData(
const std::vector<double> &valuesA,
const std::vector<double> &valuesB,
const std::vector<double> &valuesC,
const std::vector<double> &valuesD);
110 int getMinA(
double& minA)
const;
120 int getMaxA(
double& maxA)
const;
130 int getMinB(
double& minB)
const;
140 int getMaxB(
double& maxB)
const;
150 int getMinC(
double& minC)
const;
160 int getMaxC(
double& maxC)
const;
174 int interpolate(
const double &a,
const double &b,
const double &c,
double &interpolated_out);
178 std::vector<double> _a_grid;
179 std::vector<double> _b_grid;
180 std::vector<double> _c_grid;
182 std::vector<std::vector<std::vector<double>>> _out3d;
184 int _Na, _Nb, _Nc = 0;
190 int _findIntervalIndex(
const std::vector<double> &vec,
const double &value)
const;
197 double _interp(
const double &v0,
const double &v1,
const double &t);
204 double _frac(
const double &x,
const double &x0,
const double &x1);
A class for performing simple a-b-c-d trilinear interpolation.
Definition InterpolateTrilinear.h:84
int setData(const std::vector< double > &valuesA, const std::vector< double > &valuesB, const std::vector< double > &valuesC, const std::vector< double > &valuesD)
Sets the data for the interpolator.
Definition InterpolateTrilinear.cpp:21
int getMaxC(double &maxC) const
Returns the maximum value from the 3rd column of stored data.
Definition InterpolateTrilinear.cpp:203
int getMaxA(double &maxA) const
Returns the maximum value from the 1st column of stored data.
Definition InterpolateTrilinear.cpp:163
int getMaxB(double &maxB) const
Returns the maximum value from the 2nd column of stored data.
Definition InterpolateTrilinear.cpp:183
int getMinB(double &minB) const
Returns the minimum value from the 2nd column of stored data.
Definition InterpolateTrilinear.cpp:173
int getMinA(double &minA) const
Returns the minimum value from the 1st column of stored data.
Definition InterpolateTrilinear.cpp:153
int getMinC(double &minC) const
Returns the minimum value from the 3rd column of stored data.
Definition InterpolateTrilinear.cpp:193
int interpolate(const double &a, const double &b, const double &c, double &interpolated_out)
Performs trilinear interpolation given an (x, y) value pair.
Definition InterpolateTrilinear.cpp:230
Class to propagate CR3BP dynamics in characteristic units.
Definition statistics.hpp:22