🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
MotionOrbitDynamicsSax.hpp
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstUtil/BKVSax.hpp"
25#include "AstCore/EventTime.hpp"
26#include "AstCore/TimePoint.hpp"
27#include "AstSim/MotionWithIntervalStep.hpp"
28#include "AstSim/MotionOrbitDynamics.hpp"
29
30AST_NAMESPACE_BEGIN
31
36class MotionOrbitDynamics;
37struct VehiclePathData;
38class BKVParser;
39
41{
42public:
43 MotionOrbitDynamicsSax(BKVParser& parser, const VehiclePathData& vehiclePathData)
44 : parser_(parser)
45 , vehiclePathData_(vehiclePathData)
46 {}
47 ~MotionOrbitDynamicsSax() override = default;
48public:
49 errc_t begin(StringView name) override;
50 errc_t end(StringView name) override;
51 errc_t keyValue(StringView key, const ValueView& value) override;
52public:
53 virtual errc_t getMotion(ScopedPtr<MotionProfile>& motion) = 0;
54public:
55 HEventTime makeStateEpoch() const;
56 HEventInterval makeInterval() const;
57protected:
58 Body* getBody() const;
59protected:
60 BKVParser& parser_;
61 const VehiclePathData& vehiclePathData_;
62 SharedPtr<EventTime> ephemSmartEpoch_;
63 SharedPtr<EventInterval> ephemSmartInterval_;
64 TimePoint ephemEpoch_;
65 TimePoint startTime_;
66 TimePoint stopTime_;
67 bool useScenTime_ = false;
68};
69
72AST_NAMESPACE_END
键值对解析器(BlockKeyValueParser)
定义 BKVParser.hpp:45
键值对解析器SAX接口(BlockKeyValueSax)
定义 BKVSax.hpp:36
天体
定义 CelestialBody.hpp:52
定义 MotionOrbitDynamicsSax.hpp:41
定义 ScopedPtr.hpp:59
共享指针
定义 SharedPtr.hpp:33
绝对时间点
定义 TimePoint.hpp:106
值视图类
定义 ValueView.hpp:40
定义 BasicComponentLoader.hpp:38