71 errc_t saveFrom(
const Ephemeris* source,
const std::string& filepath);
76 errc_t open(
const std::string& filepath);
82 errc_t getInterval(
TimeInterval& interval)
const override;
86 void fillWindow(
size_t idx)
const;
89 int findIndex(
double delta)
const;
91 static constexpr uint32_t MAGIC = 0x41535445;
92 static constexpr uint32_t VERSION = 1;
93 static constexpr size_t WINDOW_SIZE = 256;
94 static constexpr int INTERP_ORDER = 5;
98 double averageStep_{60.0};
99 size_t pointCount_{0};
100 std::string filepath_{};
101 std::string frameName_{};
105 static constexpr size_t HEADER_BASE = 56;
106 static constexpr size_t POINT_BYTES = 56;
107 mutable std::vector<double> winTimes_{};
108 mutable std::vector<Vector3d> winPos_{};
109 mutable std::vector<Vector3d> winVel_{};
110 mutable size_t winStart_{0};
virtual errc_t getPosVel(const TimePoint &tp, Vector3d &pos, Vector3d &vel) const override=0
获取点在指定时间点的位置和速度,相对于点的参考坐标系