🛰️航天仿真算法库 SpaceAST 0.3.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 AST_OBJECT(MotionSPICE)
44 static MotionSPICE* New();
45 MotionSPICE() : spiceIndex_() {}
46 ~MotionSPICE() {}
47public:
48 errc_t makeEphemerisSpec(ScopedPtr<Ephemeris>& eph) const override;
49 errc_t makeEphemerisSimple(ScopedPtr<Ephemeris>& eph) const override;
50 void accept(MotionProfileVisitor& visitor) override;
51
52 const std::string& getSpiceFile() const {return spk_.getFilePath();}
53 errc_t setSpiceFile(StringView spiceFile);
54
55 int getSpiceIndex() const {return spiceIndex_;}
56 void setSpiceIndex(int spiceIndex){spiceIndex_ = spiceIndex;}
57protected:
58 int spiceIndex_{};
59private:
60 JplSpk spk_{};
61};
62
65AST_NAMESPACE_END
JPL SPK文件
定义 JplSpk.hpp:38
定义 MotionProfileVisitor.hpp:44
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
具有时间段和步长的运动模型
定义 MotionWithIntervalStep.hpp:36
作用域指针类
定义 ScopedPtr.hpp:65