🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
DataGroupEclipseSummary.hpp
浏览该文件的文档.
1
22
23#pragma once
24
25#include "AstGlobal.h"
26#include "AstReport/DataGroupInterval.hpp"
27#include "AstCore/CelestialBody.hpp"
28#include "AstCore/EclipseEventFinder.hpp"
29#include "AstCore/TimePoint.hpp"
30#include "AstCore/TimeInterval.hpp"
31#include "AstCore/Point.hpp"
32#include "AstCore/Frame.hpp"
33
34#include <string>
35#include <vector>
36
37AST_NAMESPACE_BEGIN
38
46class AST_REPORT_API DataGroupEclipseSummary : public DataGroupInterval
47{
48public:
51
52 static DataElements Elements();
53
54 DataGroupEclipseSummary() = default;
55 ~DataGroupEclipseSummary() = default;
56
57 errc_t calculate(const TimeInterval& interval, VariantVector& result) const override;
58 errc_t calculate(const TimeInterval& interval, std::vector<Data>& result) const;
59 const DataElements& getElements() const override;
60
63 Point* getPoint() const { return point_.get(); }
64 void setPoint(Point* p) { point_ = p; }
65 void setLightSource(CelestialBody* b) { lightSource_ = b; }
66 CelestialBody* getLightSource() const { return lightSource_.get(); }
67 void setOccultingBodies(const std::vector<HCelestialBody>& bodies) { occultingBodies_ = bodies; }
68 void setStepSize(double s) { stepSize_ = s; }
70
71private:
72 WeakPtr<Point> point_{nullptr};
73 WeakPtr<CelestialBody> lightSource_{nullptr};
74 std::vector<HCelestialBody> occultingBodies_{};
75 double stepSize_{5.0};
76};
77
80AST_NAMESPACE_END
数据元素容器
定义 DataElements.hpp:90
日食摘要数据组
定义 DataGroupEclipseSummary.hpp:47
定义 DataGroupInterval.hpp:34
virtual errc_t calculate(const TimeInterval &interval, VariantVector &result) const =0
计算数据组
单个日食事件
定义 EclipseEventFinder.hpp:45
点抽象基类
定义 Point.hpp:41
时间区间
定义 TimeInterval.hpp:64
变类型向量容器
定义 VariantVector.hpp:59
Unit s
定义 Unit.cpp:465