.. _program_listing_file_src_navtk_aspn.hpp: Program Listing for File aspn.hpp ================================= |exhale_lsh| :ref:`Return to documentation for file ` (``src/navtk/aspn.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include #ifdef NAVTK_PYTHON_TENSOR # include #else # include #endif #include typedef std::vector> AspnBaseVector; #ifndef NEED_DOXYGEN_EXHALE_WORKAROUND # include // Define a custom formatter so fmt (via spdlog) can format ASPN types and enums. template <> struct fmt::formatter { constexpr auto parse(format_parse_context& ctx) { return ctx.begin(); } template constexpr auto format(const aspn_xtensor::TypeTimestamp& input, FormatContext& ctx) const { return fmt::format_to(ctx.out(), "{}", fmt::streamed(input)); } }; template <> struct fmt::formatter { constexpr auto parse(format_parse_context& ctx) { return ctx.begin(); } template constexpr auto format(const Aspn23MeasurementVelocityReferenceFrame& input, FormatContext& ctx) const { switch (input) { case ASPN23_MEASUREMENT_VELOCITY_REFERENCE_FRAME_ECI: return fmt::format_to(ctx.out(), "ASPN23_MEASUREMENT_VELOCITY_REFERENCE_FRAME_ECI"); case ASPN23_MEASUREMENT_VELOCITY_REFERENCE_FRAME_ECEF: return fmt::format_to(ctx.out(), "ASPN23_MEASUREMENT_VELOCITY_REFERENCE_FRAME_ECEF"); case ASPN23_MEASUREMENT_VELOCITY_REFERENCE_FRAME_NED: return fmt::format_to(ctx.out(), "ASPN23_MEASUREMENT_VELOCITY_REFERENCE_FRAME_NED"); case ASPN23_MEASUREMENT_VELOCITY_REFERENCE_FRAME_SENSOR: return fmt::format_to(ctx.out(), "ASPN23_MEASUREMENT_VELOCITY_REFERENCE_FRAME_SENSOR"); } return fmt::format_to(ctx.out(), "Unknown enum value"); } }; template <> struct fmt::formatter { constexpr auto parse(format_parse_context& ctx) { return ctx.begin(); } template constexpr auto format(const Aspn23MeasurementAttitude3DReferenceFrame& input, FormatContext& ctx) const { switch (input) { case ASPN23_MEASUREMENT_ATTITUDE_3D_REFERENCE_FRAME_ECI: return fmt::format_to(ctx.out(), "ASPN23_MEASUREMENT_ATTITUDE_3D_REFERENCE_FRAME_ECI"); case ASPN23_MEASUREMENT_ATTITUDE_3D_REFERENCE_FRAME_ECEF: return fmt::format_to(ctx.out(), "ASPN23_MEASUREMENT_ATTITUDE_3D_REFERENCE_FRAME_ECEF"); case ASPN23_MEASUREMENT_ATTITUDE_3D_REFERENCE_FRAME_NED: return fmt::format_to(ctx.out(), "ASPN23_MEASUREMENT_ATTITUDE_3D_REFERENCE_FRAME_NED"); } return fmt::format_to(ctx.out(), "Unknown enum value"); } }; template <> struct fmt::formatter { constexpr auto parse(format_parse_context& ctx) { return ctx.begin(); } template constexpr auto format(const Aspn23MeasurementPositionVelocityAttitudeReferenceFrame& input, FormatContext& ctx) const { switch (input) { case ASPN23_MEASUREMENT_POSITION_VELOCITY_ATTITUDE_REFERENCE_FRAME_ECI: return fmt::format_to( ctx.out(), "ASPN23_MEASUREMENT_POSITION_VELOCITY_ATTITUDE_REFERENCE_FRAME_ECI"); case ASPN23_MEASUREMENT_POSITION_VELOCITY_ATTITUDE_REFERENCE_FRAME_GEODETIC: return fmt::format_to( ctx.out(), "ASPN23_MEASUREMENT_POSITION_VELOCITY_ATTITUDE_REFERENCE_FRAME_GEODETIC"); } return fmt::format_to(ctx.out(), "Unknown enum value"); } }; template <> struct fmt::formatter { constexpr auto parse(format_parse_context& ctx) { return ctx.begin(); } template constexpr auto format(const Aspn23MeasurementPositionReferenceFrame& input, FormatContext& ctx) const { switch (input) { case ASPN23_MEASUREMENT_POSITION_REFERENCE_FRAME_ECI: return fmt::format_to(ctx.out(), "ASPN23_MEASUREMENT_POSITION_REFERENCE_FRAME_ECI"); case ASPN23_MEASUREMENT_POSITION_REFERENCE_FRAME_GEODETIC: return fmt::format_to(ctx.out(), "ASPN23_MEASUREMENT_POSITION_REFERENCE_FRAME_GEODETIC"); } return fmt::format_to(ctx.out(), "Unknown enum value"); } }; template <> struct fmt::formatter { constexpr auto parse(format_parse_context& ctx) { return ctx.begin(); } template constexpr auto format(const Aspn23TypeSatnavTimeTimeReference& input, FormatContext& ctx) const { switch (input) { case ASPN23_TYPE_SATNAV_TIME_TIME_REFERENCE_TIME_GPS: return fmt::format_to(ctx.out(), "ASPN23_TYPE_SATNAV_TIME_TIME_REFERENCE_TIME_GPS"); case ASPN23_TYPE_SATNAV_TIME_TIME_REFERENCE_TIME_GALILEO: return fmt::format_to(ctx.out(), "ASPN23_TYPE_SATNAV_TIME_TIME_REFERENCE_TIME_GALILEO"); case ASPN23_TYPE_SATNAV_TIME_TIME_REFERENCE_TIME_BEIDOU: return fmt::format_to(ctx.out(), "ASPN23_TYPE_SATNAV_TIME_TIME_REFERENCE_TIME_BEIDOU"); case ASPN23_TYPE_SATNAV_TIME_TIME_REFERENCE_TIME_GLONASS: return fmt::format_to(ctx.out(), "ASPN23_TYPE_SATNAV_TIME_TIME_REFERENCE_TIME_GLONASS"); } return fmt::format_to(ctx.out(), "Unknown enum value"); } }; #endif