24#include "AstMath/ODEEventDetector.hpp"
25#include "AstUtil/ObjectNamed.hpp"
26#include "AstUtil/Dimension.hpp"
32class ODEEventDetector;
44 AST_PROPERT(repeatCount)
45 AST_PROPERT(threshold)
79 EDirection direction()
const {
return direction_;}
80 void setDirection(EDirection dir) {direction_ = dir;}
84 bool active()
const {
return active_;}
85 void setActive(
bool active) {active_ = active;}
87 int repeatCount()
const {
return repeatCount_;}
88 void setRepeatCount(
int count) {repeatCount_ = count;}
91 double threshold()
const {
return threshold_;}
92 void setThreshold(
double threshold) {threshold_ = threshold;}
94 double goal()
const {
return goal_;}
95 void setGoal(
double goal) {goal_ = goal;}
100 EDirection direction_{EDirection::eBoth};
101 double threshold_{1e-10};
108template<
typename Func>
113 : func_(std::move(func))
117 return func_(state, t);
泛型事件检测器
定义 EventDetector.hpp:110
double getValue(const SpacecraftState &state, double t) const override
获取事件检测开关函数的值
定义 EventDetector.hpp:116
事件检测基类 事件检测基类,用于检测事件是否发生。 参考orekit的EventDetector类
定义 EventDetector.hpp:39
virtual double getValue(const SpacecraftState &state, double t) const =0
获取事件检测开关函数的值
bool isAngle() const
是否为角度事件检测器
定义 EventDetector.hpp:68
virtual Dimension getDimension() const
获取事件检测开关函数的量纲
定义 EventDetector.hpp:64
virtual double getDifference(const SpacecraftState &state, double t) const
获取事件检测开关函数与目标值的差值
定义 EventDetector.hpp:54
ODE积分的事件检测器
定义 ODEEventDetector.hpp:36
EDirection
事件检测开关函数的条件
定义 ODEEventDetector.hpp:40
命名对象
定义 ObjectNamed.hpp:36
航天器状态,包含轨道状态、航天器参数(质量、面积、阻力系数、光压、密度、压力、温度等)
定义 SpacecraftState.hpp:39
状态映射器
定义 StateMapper.hpp:36