🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
SpatialCalcSatisfactionMetrics.hpp
浏览该文件的文档.
1
19
20#pragma once
21
23#include "AstCore/WeakPtr.hpp"
24
25AST_NAMESPACE_BEGIN
26
27class SpatialCondition;
28
39
48
58
62class AST_CORE_API SpatialCalcSatisfactionMetrics final : public SpatialCalculation
63{
64public:
66 ~SpatialCalcSatisfactionMetrics() override = default;
67
68 void accept(SpatialCalculationVisitor& visitor) override { visitor.visit(*this); }
69 errc_t evaluate(const TimePoint& time, const Vector3d& position, double& result) const override;
70
73 void setCondition(SpatialCondition* condition);
74 SpatialCondition* getCondition() const { return condition_.get(); }
76
79 void setSatisfactionMetric(ESatisfactionMetric metric) { metricType_ = metric; }
80 ESatisfactionMetric getSatisfactionMetric() const { return metricType_; }
82
85 void setAccumulationType(EAccumulationType accumulation) { accumulationType_ = accumulation; }
86 EAccumulationType getAccumulationType() const { return accumulationType_; }
88
91 void setIntervalFilter(EIntervalFilter filter) { filter_ = filter; }
92 EIntervalFilter getIntervalFilter() const { return filter_; }
94
95private:
96 WeakPtr<SpatialCondition> condition_;
97 ESatisfactionMetric metricType_{ESatisfactionMetric::eIntervalDuration};
98 EAccumulationType accumulationType_{EAccumulationType::eTotal};
99 EIntervalFilter filter_{EIntervalFilter::eNone};
100};
101
102AST_NAMESPACE_END
空间计算基类
空间条件满足度量计算
定义 SpatialCalcSatisfactionMetrics.hpp:63
void accept(SpatialCalculationVisitor &visitor) override
接受访问者
定义 SpatialCalcSatisfactionMetrics.hpp:68
空间计算访问者接口
定义 SpatialCalculationVisitor.hpp:44
空间计算基类
定义 SpatialCalculation.hpp:35
virtual errc_t evaluate(const TimePoint &time, const Vector3d &position, double &result) const =0
在指定时间和位置评估计算
空间条件基类
定义 SpatialCondition.hpp:33
绝对时间点
定义 TimePoint.hpp:108
ESatisfactionMetric
满足度量类型
定义 SpatialCalcSatisfactionMetrics.hpp:31
@ eNumberOfIntervals
满足区间数量
@ eTimeSinceLastSatisfaction
距上次满足的时间
@ eTimeUntilNextSatisfaction
距下次满足的时间
@ eIntervalDuration
满足区间时长
@ eGapDuration
间隔时长
@ eNumberOfGaps
间隔数量
EIntervalFilter
区间过滤类型
定义 SpatialCalcSatisfactionMetrics.hpp:51
@ eDurationLessThan
时长小于指定值
@ eLastInterval
仅最后一个区间
@ eDurationGreaterThan
时长大于指定值
@ eFirstInterval
仅第一个区间
EAccumulationType
累积类型
定义 SpatialCalcSatisfactionMetrics.hpp:42
@ eFromCurrentTime
从当前时间开始累积
@ eUpToCurrentTime
累积到当前时间
@ eTotal
整个分析区间累积