53 void setFrame(
Frame* frame){frame_ = frame;}
54 void setTimes(
const std::vector<double>& times);
55 void setTimes(std::vector<double>&& times);
56 void setPositions(
const std::vector<Vector3d>& positions){positions_ = positions;}
57 void setPositions(std::vector<Vector3d>&& positions){positions_ = std::move(positions);}
58 void setVelocities(
const std::vector<Vector3d>& velocities){velocities_ = velocities;}
59 void setVelocities(std::vector<Vector3d>&& velocities){velocities_ = std::move(velocities);}
60 void setEpoch(
const TimePoint& epoch){epoch_ = epoch;}
61 void setInterpolateOrder(
int order){interpolateOrder_ = order;}
62 const TimePoint& getEpoch()
const{
return epoch_;}
63 const std::vector<double>& getTimes()
const{
return times_;}
64 const std::vector<Vector3d>& getPositions()
const{
return positions_;}
65 const std::vector<Vector3d>& getVelocities()
const{
return velocities_;}
66 int interpolateOrder()
const{
return interpolateOrder_;}
69 size_t size()
const{
return times_.size();}
71 int findIndex(
double delta)
const;
74 std::vector<double> times_{};
75 std::vector<Vector3d> positions_{};
76 std::vector<Vector3d> velocities_{};
78 double averageStep_{60};
79 int interpolateOrder_{5};
virtual errc_t getPosVel(const TimePoint &tp, Vector3d &pos, Vector3d &vel) const =0
获取点在指定时间点的位置和速度,相对于点的参考坐标系