🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
SpatialCondOverTime.hpp
浏览该文件的文档.
1
19
20#pragma once
21
22#include "SpatialCondition.hpp"
23#include "AstCore/WeakPtr.hpp"
24
25AST_NAMESPACE_BEGIN
26
35
39class AST_CORE_API SpatialCondOverTime final : public SpatialCondition
40{
41public:
42 SpatialCondOverTime() = default;
43 ~SpatialCondOverTime() override = default;
44
45 void accept(SpatialConditionVisitor& visitor) override { visitor.visit(*this); }
46 errc_t evaluate(const TimePoint& time, const Vector3d& position, bool& result) const override;
47
50 void setOriginalCondition(SpatialCondition* condition);
51 SpatialCondition* getOriginalCondition() const { return origCondition_.get(); }
53
56 void setDurationType(EDurationType type) { durationType_ = type; }
57 EDurationType getDurationType() const { return durationType_; }
59
60private:
61 WeakPtr<SpatialCondition> origCondition_;
62 EDurationType durationType_{EDurationType::eStatic};
63};
64
65AST_NAMESPACE_END
空间条件基类
Class * type() const
获取对象类型
定义 Object.hpp:244
时间段空间条件
定义 SpatialCondOverTime.hpp:40
void accept(SpatialConditionVisitor &visitor) override
接受访问者
定义 SpatialCondOverTime.hpp:45
空间条件访问者接口
定义 SpatialConditionVisitor.hpp:39
空间条件基类
定义 SpatialCondition.hpp:33
virtual errc_t evaluate(const TimePoint &time, const Vector3d &position, bool &result) const =0
在指定时间和位置评估条件
绝对时间点
定义 TimePoint.hpp:108
EDurationType
时长类型
定义 SpatialCondOverTime.hpp:29
@ eCumulativeToCurrent
累积到当前时间
@ eSlidingWindow
滑动窗口
@ eCumulativeFromCurrent
从当前时间开始累积
@ eStatic
静态(使用原始条件的瞬时评估)