🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
MotionSPICE.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCore/EventInterval.hpp"
25#include "AstCore/BodyEphemerisSPK.hpp"
26#include "AstCore/JplSpk.hpp"
27#include "AstUtil/SPKParser.hpp"
28#include "AstSim/MotionProfile.hpp"
29#include "AstSim/MotionWithIntervalStep.hpp"
30
31AST_NAMESPACE_BEGIN
32
40class AST_SIM_API MotionSPICE: public MotionWithIntervalStep
41{
42public:
43 static MotionSPICE* New();
44 MotionSPICE() = default;
45 ~MotionSPICE() = default;
46public:
47 errc_t makeEphemerisSpec(ScopedPtr<Ephemeris>& eph) const override;
48 errc_t makeEphemerisSimple(ScopedPtr<Ephemeris>& eph) const override;
49 void accept(MotionProfileVisitor& visitor) override;
50
51 const std::string& getSpiceFile() const {return spk_.getFilePath();}
52 errc_t setSpiceFile(StringView spiceFile);
53
54 int getSpiceIndex() const {return spiceIndex_;}
55 void setSpiceIndex(int spiceIndex){spiceIndex_ = spiceIndex;}
56protected:
58private:
59 JplSpk spk_;
60};
61
64AST_NAMESPACE_END
JPL SPK文件
定义 JplSpk.hpp:38
定义 MotionProfileVisitor.hpp:38
virtual errc_t makeEphemerisSpec(ScopedPtr< Ephemeris > &eph) const =0
生成特定星历
virtual errc_t makeEphemerisSimple(ScopedPtr< Ephemeris > &eph) const =0
生成简单星历
virtual void accept(MotionProfileVisitor &visitor)=0
接受访问者
SPICE星历预报器/运动模型类
定义 MotionSPICE.hpp:41
int spiceIndex_
SPICE星历索引号
定义 MotionSPICE.hpp:57
具有时间段和步长的运动模型
定义 MotionWithIntervalStep.hpp:36
定义 ScopedPtr.hpp:59