Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
vulcan::TableND Class Reference

#include <TableInterpolator.hpp>

Public Member Functions

 TableND (const std::vector< janus::NumericVector > &grid_points, const janus::NumericVector &values, janus::InterpolationMethod method=janus::InterpolationMethod::Linear)
 Construct N-dimensional interpolation table.
template<janus::JanusScalar Scalar>
Scalar operator() (const janus::JanusVector< Scalar > &x) const
 Query table at a single N-D point.
template<typename Derived>
auto operator() (const Eigen::MatrixBase< Derived > &x) const
 Query table at multiple N-D points (batch evaluation).
int dims () const
 Get number of dimensions.
janus::InterpolationMethod method () const
 Get the interpolation method.
bool valid () const
 Check if table is valid (initialized).

Constructor & Destructor Documentation

◆ TableND()

vulcan::TableND::TableND ( const std::vector< janus::NumericVector > & grid_points,
const janus::NumericVector & values,
janus::InterpolationMethod method = janus::InterpolationMethod::Linear )
inline

Construct N-dimensional interpolation table.

Parameters
grid_pointsVector of 1D grids for each dimension
valuesFlattened values in Fortran (column-major) order
methodInterpolation method (default: Linear)
Exceptions
janus::InterpolationErrorif grids are not sorted or sizes don't match
Examples
/home/runner/work/vulcan/vulcan/include/vulcan/core/TableInterpolator.hpp.

Member Function Documentation

◆ dims()

int vulcan::TableND::dims ( ) const
inline

◆ method()

janus::InterpolationMethod vulcan::TableND::method ( ) const
inline

◆ operator()() [1/2]

template<typename Derived>
auto vulcan::TableND::operator() ( const Eigen::MatrixBase< Derived > & x) const
inline

Query table at multiple N-D points (batch evaluation).

Template Parameters
DerivedEigen expression type
Parameters
xMatrix of query points (rows = points, cols = dims)
Returns
Vector of interpolated values

◆ operator()() [2/2]

template<janus::JanusScalar Scalar>
Scalar vulcan::TableND::operator() ( const janus::JanusVector< Scalar > & x) const
inline

Query table at a single N-D point.

Template Parameters
ScalarScalar type (double or janus::SymbolicScalar)
Parameters
xQuery point (size must match dims())
Returns
Interpolated value
Examples
/home/runner/work/vulcan/vulcan/include/vulcan/core/TableInterpolator.hpp.

◆ valid()

bool vulcan::TableND::valid ( ) const
inline

Check if table is valid (initialized).

Examples
/home/runner/work/vulcan/vulcan/include/vulcan/core/TableInterpolator.hpp.

The documentation for this class was generated from the following file: