16#ifndef UTILS_INTERPOLATE_BILINEAR_H
17#define UTILS_INTERPOLATE_BILINEAR_H
71 int setData(
const std::vector<double> &xValues,
const std::vector<double> &yValues,
const std::vector<std::vector<double>> &zValues);
81 int getMinX(
double& minX)
const;
91 int getMaxX(
double& maxX)
const;
101 int getMinY(
double& minX)
const;
111 int getMaxY(
double& maxX)
const;
124 int interpolate(
double x,
double y,
double &zInterpolated);
127 std::vector<double> _x_data;
128 std::vector<double> _y_data;
129 std::vector<std::vector<double>> _z_data;
132 unsigned int _x_idx, _y_idx;
135 double _x1, _x2, _y1, _y2, _z11, _z12, _z21, _z22;
141 unsigned int _findIntervalIndex(
const std::vector<double> &vec,
double value);
A class for performing simple x-y-z bilinear interpolation.
Definition InterpolateBilinear.h:56
int getMaxX(double &maxX) const
Returns the maximum x-value from the stored data.
Definition InterpolateBilinear.cpp:70
int interpolate(double x, double y, double &zInterpolated)
Performs bilinear interpolation given an (x, y) value pair.
Definition InterpolateBilinear.cpp:106
int getMinY(double &minX) const
Returns the minimum y-value from the stored data.
Definition InterpolateBilinear.cpp:80
int getMaxY(double &maxX) const
Returns the maximum y-value from the stored data.
Definition InterpolateBilinear.cpp:90
int setData(const std::vector< double > &xValues, const std::vector< double > &yValues, const std::vector< std::vector< double > > &zValues)
Sets the data for the interpolator.
Definition InterpolateBilinear.cpp:21
int getMinX(double &minX) const
Returns the minimum x-value from the stored data.
Definition InterpolateBilinear.cpp:60
Class to propagate CR3BP dynamics in characteristic units.
Definition statistics.hpp:22