Program Listing for File InertialPosVelAtt.hpp
↰ Return to documentation for file (src/navtk/inertial/InertialPosVelAtt.hpp)
#pragma once
#include <navtk/aspn.hpp>
#include <navtk/tensors.hpp>
namespace navtk {
namespace inertial {
class InertialPosVelAtt : public aspn_xtensor::AspnBase {
public:
virtual ~InertialPosVelAtt() = default;
virtual bool is_wander_capable() const = 0;
virtual Vector3 get_llh() const = 0;
virtual Vector3 get_vned() const = 0;
virtual Matrix3 get_C_s_to_ned() const = 0;
virtual std::pair<Matrix3, double> get_C_n_to_e_h() const = 0;
virtual Vector3 get_vn() const = 0;
virtual Matrix3 get_C_s_to_l() const = 0;
virtual std::shared_ptr<InertialPosVelAtt> clone() const = 0;
aspn_xtensor::TypeTimestamp time_validity;
protected:
InertialPosVelAtt(const aspn_xtensor::TypeTimestamp& t = aspn_xtensor::to_type_timestamp(),
AspnMessageType message_type = ASPN_EXTENDED_BEGIN)
: aspn_xtensor::TypeHeader(message_type, 0, 0, 0, 0), time_validity(t){};
};
} // namespace inertial
} // namespace navtk