🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
DataGroupLLRState.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstReport/DataGroupTimeVar.hpp"
25#include "AstCore/Point.hpp"
26#include "AstCore/Frame.hpp"
27#include "AstMath/Vector.hpp"
28#include "AstUtil/Span.hpp"
29
30AST_NAMESPACE_BEGIN
31
42{
43public:
44 struct Data
45 {
46 TimePoint time_;
47 double lat_;
48 double lon_;
49 double rad_;
50 double latRate_;
51 double lonRate_;
52 double radRate_;
53
54 const TimePoint& getTime() const { return time_; }
55 double getLat() const { return lat_; }
56 double getLon() const { return lon_; }
57 double getRad() const { return rad_; }
58 double getLatRate() const { return latRate_; }
59 double getLonRate() const { return lonRate_; }
60 double getRadRate() const { return radRate_; }
61 };
62 static DataElements Elements();
63
64 DataGroupLLRState() = default;
65 ~DataGroupLLRState() = default;
66public:
67 errc_t calculate(const TimeList& timeList, VariantVector& result) const override;
68 const DataElements& getElements() const override;
69public:
70 errc_t calculate(const TimeList& timeList, std::vector<Data>& result) const;
71 errc_t calculate(const TimeList& timeList, Span<Data> result) const;
72public:
73 Point* getPoint() const { return point_.get(); }
74 Frame* getFrame() const { return frame_.get(); }
75 void setPoint(Point* p) { point_ = p; }
76 void setFrame(Frame* f) { frame_ = f; }
77private:
78 WeakPtr<Point> point_{};
79 WeakPtr<Frame> frame_{};
80};
81
82
85AST_NAMESPACE_END
数据元素容器
定义 DataElements.hpp:90
LLR 球坐标状态数据组 — 纬度、经度、地心距及变化率
定义 DataGroupLLRState.hpp:42
随时间变化的数据组
定义 DataGroupTimeVar.hpp:37
坐标系抽象基类
定义 Frame.hpp:62
点抽象基类
定义 Point.hpp:41
非拥有的连续对象序列视图
定义 Span.hpp:71
时间点列表
定义 TimeList.hpp:49
绝对时间点
定义 TimePoint.hpp:108
变类型向量容器
定义 VariantVector.hpp:59
定义 DataGroupLLRState.hpp:45