#pragma once #include <Eigen/Core> #include <Eigen/Geometry> #define MATCH_PRECISION_INIT 0 #define MATCH_PRECISION_FULL 1 #define MATCH_PRECISION_HIGH 2 #define MATCH_PRECISION_FAST 3 struct GnssPoint { double B; double L; double H; // roll is defined right-hand anti-clockwise in XYZ: front-left-up // pitch is defined right-hand anti-clockwise in XYZ: front-left-up // yaw is defined right-hand anti-clockwise, 0 degree points to EAST, // and it is diffirent from azimuth Eigen::Vector3d rpy; }; struct GuessPose { GnssPoint gnss_point; Eigen::Isometry3d map_point; float movement; float rotation; uint8_t precision_type; bool use_gnss; };