🛰️航天仿真算法库 SpaceAST 0.3.1
载入中...
搜索中...
未找到
PointCartographic.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCore/Point.hpp"
25#include "AstCore/CelestialBody.hpp"
26#include "AstCore/GeodeticPoint.hpp"
27
28AST_NAMESPACE_BEGIN
29
37class AST_CORE_API PointCartographic final: public Point
38{
39public:
40 PointCartographic() = default;
45 PointCartographic(Body* body, const GeodeticPoint& position);
46 ~PointCartographic() override = default;
47public:
48 Frame* getFrame() const override;
49 errc_t getPos(const TimePoint& tp, Vector3d& pos) const override;
50 errc_t getPosVel(const TimePoint& tp, Vector3d& pos, Vector3d& vel) const override;
51public:
52 Body* body() const { return body_.get(); }
53 void setBody(Body* body);
54 BodyShape* shape() const { return shape_.get(); }
55 const GeodeticPoint& position() const { return position_; }
56 void setPosition(const GeodeticPoint& position) { position_ = position; }
57public:
58 void setLatitude(double latitude) {position_.setLatitude(latitude);}
59 void setLongitude(double longitude) {position_.setLongitude(longitude);}
60 void setAltitude(double altitude) {position_.setAltitude(altitude);}
61 double latitude() const {return position_.latitude();}
62 double longitude() const {return position_.longitude();}
63 double altitude() const {return position_.altitude();}
64private: // 模型配置参数
65 GeodeticPoint position_{};
66 WeakPtr<Body> body_{};
67private: // 内部缓存
68 WeakPtr<BodyShape> shape_{};
69};
70
71
74AST_NAMESPACE_END
天体形状基类
定义 BodyShape.hpp:33
天体
定义 CelestialBody.hpp:72
坐标系抽象基类
定义 Frame.hpp:74
void setLatitude(double lat)
设置纬度
定义 GeoCoordinate.hpp:70
大地坐标
定义 GeodeticPoint.hpp:33
天地制图坐标点(天体大地坐标点)
定义 PointCartographic.hpp:38
点抽象基类
定义 Point.hpp:42
virtual Frame * getFrame() const =0
获取点所在的参考坐标系
virtual errc_t getPosVel(const TimePoint &tp, Vector3d &pos, Vector3d &vel) const =0
获取点在指定时间点的位置和速度,相对于点的参考坐标系
virtual errc_t getPos(const TimePoint &tp, Vector3d &pos) const =0
获取点在指定时间点的位置,相对于点的参考坐标系
绝对时间点
定义 TimePoint.hpp:108
弱引用指针
定义 WeakPtr.hpp:35