🛰️航天仿真算法库 SpaceAST 0.3.1
载入中...
搜索中...
未找到
ObjectAccessConstraint.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include <string>
25
26AST_NAMESPACE_BEGIN
27
36{
37 eNone,
41 eRange,
42
44};
45
46
47AST_SIM_API std::string toString(EAccessConstraint type);
48AST_SIM_API errc_t parse(StringView type, EAccessConstraint& result);
49
50
52class AST_SIM_API ObjectAccessConstraint
53{
54public:
55 ObjectAccessConstraint() = default;
56 ObjectAccessConstraint(EAccessConstraint type) : type_(type) {}
58 ~ObjectAccessConstraint() = default;
59
60 EAccessConstraint type() const { return type_; }
61 void setType(EAccessConstraint type) { type_ = type; }
62 errc_t setType(StringView type);
63
64 bool enabled() const { return enabled_; }
65 void setEnabled(bool enabled) { enabled_ = enabled; }
66
67 bool useMin() const { return useMin_; }
68 void setUseMin(bool useMin) { useMin_ = useMin; }
69
70 bool useMax() const { return useMax_; }
71 void setUseMax(bool useMax) { useMax_ = useMax; }
72
73 bool exclude() const { return exclude_; }
74 void setExclude(bool exclude) { exclude_ = exclude; }
75
76 double min() const { return min_; }
77 void setMin(double min) { min_ = min; }
78
79 double max() const { return max_; }
80 void setMax(double max) { max_ = max; }
81
82private:
83 EAccessConstraint type_{EAccessConstraint::eNone};
84 bool enabled_{true};
85 bool exclude_{false};
86 bool useMin_{false};
87 bool useMax_{false};
88 double min_{0.0};
89 double max_{0.0};
90};
91
92
95AST_NAMESPACE_END
对象访问约束
定义 ObjectAccessConstraint.hpp:53
EAccessConstraint
访问约束类型
定义 ObjectAccessConstraint.hpp:36
@ eFieldOfView
视场约束
@ eElevationAngle
仰角约束
@ eRange
距离约束
@ eAtFieldOfView
暂不支持(含义尚不清楚)
@ eLineOfSight
线视约束