🛰️航天仿真算法库 SpaceAST 0.3.1
载入中...
搜索中...
未找到
PointProxy.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "Point.hpp"
25
26AST_NAMESPACE_BEGIN
27
35class AST_CORE_API PointProxy final: public Point
36{
37public:
38 PointProxy() = default;
39 PointProxy(Point* point):impl_(point){}
40 ~PointProxy() override = default;
41
42public:
43 void setImpl(Point* impl){impl_ = impl;}
44 Point* impl() const {return impl_.get();}
45public:
46 Frame* getFrame() const override;
47 errc_t getPos(const TimePoint& tp, Vector3d& pos) const override;
48 errc_t getPosVel(const TimePoint& tp, Vector3d& pos, Vector3d& vel) const override;
49 errc_t getPosVelAcc(const TimePoint& tp, Vector3d& pos, Vector3d& vel, Vector3d& acc) const override;
50 errc_t getInterval(TimeInterval& interval) const override;
51private:
52 WeakPtr<Point> impl_{};
53};
54
55
56
57
60AST_NAMESPACE_END
坐标系抽象基类
定义 Frame.hpp:74
点代理类
定义 PointProxy.hpp:36
点抽象基类
定义 Point.hpp:42
virtual Frame * getFrame() const =0
获取点所在的参考坐标系
virtual errc_t getPosVel(const TimePoint &tp, Vector3d &pos, Vector3d &vel) const =0
获取点在指定时间点的位置和速度,相对于点的参考坐标系
virtual errc_t getInterval(TimeInterval &interval) const
获取点的时段,表示点在空间中的存在时间范围
定义 Point.cpp:38
virtual errc_t getPos(const TimePoint &tp, Vector3d &pos) const =0
获取点在指定时间点的位置,相对于点的参考坐标系
virtual errc_t getPosVelAcc(const TimePoint &tp, Vector3d &pos, Vector3d &vel, Vector3d &acc) const
获取点在指定时间点的位置、速度和加速度,相对于点的参考坐标系
定义 Point.cpp:49
时间区间
定义 TimeInterval.hpp:64
绝对时间点
定义 TimePoint.hpp:108
弱引用指针
定义 WeakPtr.hpp:35