🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ODEEventDetectorList.hpp
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstMath/ODEEventObserver.hpp"
25#include <vector>
26
27AST_NAMESPACE_BEGIN
28
29class ODEEventObserver;
30
32{
33public:
34 ~ODEEventDetectorList() override;
35 ODEEventDetectorList() = default;
36
37 EODEAction onStateUpdate(double* y, double& x, ODEIntegrator* integrator) final;
38
39 void addEventDetector(ODEEventDetector* detector);
40
41 void removeEventDetector(ODEEventDetector* detector);
42
43 bool empty() const { return eventObservers_.empty(); }
44
45 size_t size() const { return eventObservers_.size(); }
46
47 ODEEventObserver& operator[](size_t index) { return *eventObservers_[index]; }
48 const ODEEventObserver& operator[](size_t index) const { return *eventObservers_[index]; }
49protected:
50 std::vector<ODEEventObserver*> eventObservers_;
51};
52
53
54AST_NAMESPACE_END
定义 ODEEventDetectorList.hpp:32
ODE积分的事件检测器
定义 ODEEventDetector.hpp:33
定义 ODEEventObserver.hpp:32
ODE 积分器
定义 ODEIntegrator.hpp:81
ODE状态量观察者
定义 ODEStateObserver.hpp:39