🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
SpatialCalcSolarIntensity.hpp
浏览该文件的文档.
1
19
20#pragma once
21
23#include "AstCore/SharedPtr.hpp"
24#include "AstCore/CelestialBody.hpp"
25
26#include <vector>
27
28AST_NAMESPACE_BEGIN
29
33class AST_CORE_API SpatialCalcSolarIntensity final : public SpatialCalculation
34{
35public:
36 SpatialCalcSolarIntensity() = default;
37 ~SpatialCalcSolarIntensity() override = default;
38
39 void accept(SpatialCalculationVisitor& visitor) override { visitor.visit(*this); }
40 errc_t evaluate(const TimePoint& time, const Vector3d& position, double& result) const override;
41
44 void setUseObjectEclipsingBodies(bool use) { useObjEclipsing_ = use; }
45 bool getUseObjectEclipsingBodies() const { return useObjEclipsing_; }
46
47 void addEclipsingBody(const SharedPtr<CelestialBody>& body) { eclipsingBodies_.push_back(body); }
48 size_t getEclipsingBodyCount() const { return eclipsingBodies_.size(); }
49 const std::vector<SharedPtr<CelestialBody>>& getEclipsingBodies() const { return eclipsingBodies_; }
51
52private:
53 bool useObjEclipsing_{true};
54 std::vector<SharedPtr<CelestialBody>> eclipsingBodies_;
55};
56
57AST_NAMESPACE_END
空间计算基类
太阳光照强度空间计算
定义 SpatialCalcSolarIntensity.hpp:34
void accept(SpatialCalculationVisitor &visitor) override
接受访问者
定义 SpatialCalcSolarIntensity.hpp:39
空间计算访问者接口
定义 SpatialCalculationVisitor.hpp:44
空间计算基类
定义 SpatialCalculation.hpp:35
virtual errc_t evaluate(const TimePoint &time, const Vector3d &position, double &result) const =0
在指定时间和位置评估计算
绝对时间点
定义 TimePoint.hpp:108