Program Listing for File conversions.hpp
↰ Return to documentation for file (src/navtk/utils/conversions.hpp)
#pragma once
#include <navtk/aspn.hpp>
#include <navtk/filtering/containers/NavSolution.hpp>
#include <navtk/inertial/InertialPosVelAtt.hpp>
#include <navtk/inertial/StandardPosVelAtt.hpp>
namespace navtk {
namespace utils {
constexpr uint64_t NANO_PER_SEC = 1'000'000'000;
constexpr double SECONDS_PER_WEEK = (60 * 60 * 24 * 7);
filtering::NavSolution to_navsolution(const aspn_xtensor::MeasurementPositionVelocityAttitude& pva);
filtering::NavSolution to_navsolution(const inertial::InertialPosVelAtt& pva);
filtering::NavSolution to_navsolution(const Vector& pva);
aspn_xtensor::MeasurementPositionVelocityAttitude to_positionvelocityattitude(
const filtering::NavSolution& pva);
aspn_xtensor::MeasurementPositionVelocityAttitude to_positionvelocityattitude(
const inertial::InertialPosVelAtt& pva);
aspn_xtensor::MeasurementPositionVelocityAttitude to_positionvelocityattitude(const Vector& pva);
std::shared_ptr<aspn_xtensor::MeasurementPositionVelocityAttitude> to_positionvelocityattitude(
std::shared_ptr<inertial::InertialPosVelAtt> pva);
void to_positionvelocityattitude(const inertial::InertialPosVelAtt& pva,
aspn_xtensor::MeasurementPositionVelocityAttitude& storage);
inertial::StandardPosVelAtt to_standardposvelatt(const filtering::NavSolution& pva);
inertial::StandardPosVelAtt to_standardposvelatt(
const aspn_xtensor::MeasurementPositionVelocityAttitude& pva);
inertial::StandardPosVelAtt to_standardposvelatt(const Vector& pva);
Vector to_vector_pva(const filtering::NavSolution& pva);
Vector to_vector_pva(const aspn_xtensor::MeasurementPositionVelocityAttitude& pva);
Vector to_vector_pva(const inertial::InertialPosVelAtt& pva);
aspn_xtensor::MeasurementPosition to_position(
const aspn_xtensor::MeasurementPositionVelocityAttitude& pva);
Vector3 extract_pos(const aspn_xtensor::MeasurementPositionVelocityAttitude& pva);
Vector3 extract_vel(const aspn_xtensor::MeasurementPositionVelocityAttitude& pva);
Vector3 extract_pos(const aspn_xtensor::MeasurementPosition& pos);
Vector3 extract_vel(const aspn_xtensor::MeasurementVelocity& vel);
aspn_xtensor::MeasurementImu to_imu(
aspn_xtensor::TypeTimestamp time = aspn_xtensor::to_type_timestamp(),
const Vector& forces = {NAN, NAN, NAN},
const Vector& rates = {NAN, NAN, NAN});
AspnBaseVector to_inertial_aux(const filtering::NavSolution& nav_sol,
const Vector& forces,
const Vector& rates = zeros(3));
AspnMeasurementPositionReferenceFrame convert_pva_to_pos_ref_frame(
AspnMeasurementPositionVelocityAttitudeReferenceFrame r);
} // namespace utils
} // namespace navtk