#ifndef ALE_INCLUDE_ALE_H #define ALE_INCLUDE_ALE_H #include #include #include #include namespace ale { enum interpolation { linear, spline }; nlohmann::json constructStateFromIsd(const std::string positionRotationData); std::vector getPosition(std::vector> coords, std::vector times, double time, interpolation interp); std::vector getVelocity(std::vector> coords, std::vector times, double time, const interpolation interp); std::vector getPosition(std::vector> coeffs, double time); std::vector getVelocity(std::vector> coeffs, double time); std::vector getRotation(std::vector> rotations, std::vector times, double time, interpolation interp); std::vector getAngularVelocity(std::vector> rotations, std::vector times, double time, interpolation interp); std::vector getRotation(std::string from, std::string to, std::vector coefficients, double time); std::vector getAngularVelocity(std::string from, std::string to, std::vector coefficients, double time); double evaluatePolynomial(std::vector coeffs, double time, int d); double interpolate(std::vector points, std::vector times, double time, interpolation interp, int d); std::string load(std::string filename); } #endif // ALE_H