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