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