🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
SpatialCondCalculationBounds.hpp
浏览该文件的文档.
1
19
20#pragma once
21
22#include "SpatialCondition.hpp"
23#include "AstCore/WeakPtr.hpp"
24
25AST_NAMESPACE_BEGIN
26
27class SpatialCalculation;
28
37
41class AST_CORE_API SpatialCondCalculationBounds final : public SpatialCondition
42{
43public:
45 ~SpatialCondCalculationBounds() override = default;
46
47 void accept(SpatialConditionVisitor& visitor) override { visitor.visit(*this); }
48 errc_t evaluate(const TimePoint& time, const Vector3d& position, bool& result) const override;
49
52 void setCalculation(SpatialCalculation* calc);
53 SpatialCalculation* getCalculation() const { return calc_.get(); }
55
58 void setBoundType(EBoundType type) { boundType_ = type; }
59 EBoundType getBoundType() const { return boundType_; }
61
64 void setLowerBound(double bound) { lowerBound_ = bound; }
65 double getLowerBound() const { return lowerBound_; }
66 void setUpperBound(double bound) { upperBound_ = bound; }
67 double getUpperBound() const { return upperBound_; }
69
70private:
71 WeakPtr<SpatialCalculation> calc_;
72 EBoundType boundType_{EBoundType::eAboveMinimum};
73 double lowerBound_{0.0};
74 double upperBound_{0.0};
75};
76
77AST_NAMESPACE_END
空间条件基类
Class * type() const
获取对象类型
定义 Object.hpp:244
空间计算基类
定义 SpatialCalculation.hpp:35
计算边界空间条件
定义 SpatialCondCalculationBounds.hpp:42
void accept(SpatialConditionVisitor &visitor) override
接受访问者
定义 SpatialCondCalculationBounds.hpp:47
空间条件访问者接口
定义 SpatialConditionVisitor.hpp:39
空间条件基类
定义 SpatialCondition.hpp:33
virtual errc_t evaluate(const TimePoint &time, const Vector3d &position, bool &result) const =0
在指定时间和位置评估条件
绝对时间点
定义 TimePoint.hpp:108
EBoundType
边界类型
定义 SpatialCondCalculationBounds.hpp:31
@ eBetweenMinimumAndMaximum
介于最小值和最大值之间
@ eBelowMaximum
低于最大值
@ eOutsideMinimumAndMaximum
在最小值和最大值之外
@ eAboveMinimum
高于最小值