🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
FOVRectangular.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "FieldOfView.hpp"
24
25AST_NAMESPACE_BEGIN
26
28class AST_CORE_API FOVRectangular: public FieldOfView
29{
30public:
32 FOVRectangular() = default;
33
35 ~FOVRectangular() override = default;
36
39 EFOVType getFOVType() const override { return EFOVType::eRectangular; }
40
43 void accept(FieldOfViewVisitor& visitor) override { visitor.visit(*this); }
44
48 double angularMargin(const Vector3d& direction) const override;
49
52 void setHorizontalHalfAngle(double angle) { horizontalHalfAngle_ = angle; }
53
56 double getHorizontalHalfAngle() const { return horizontalHalfAngle_; }
57
60 void setVerticalHalfAngle(double angle) { verticalHalfAngle_ = angle; }
61
64 double getVerticalHalfAngle() const { return verticalHalfAngle_; }
65
66private:
67 double horizontalHalfAngle_{0.0};
68 double verticalHalfAngle_{0.0};
69};
70
71AST_NAMESPACE_END
视场基类
矩形视场类
定义 FOVRectangular.hpp:29
FOVRectangular()=default
构造函数
double getHorizontalHalfAngle() const
获取水平半角
定义 FOVRectangular.hpp:56
void accept(FieldOfViewVisitor &visitor) override
接受访问者
定义 FOVRectangular.hpp:43
double getVerticalHalfAngle() const
获取垂直半角
定义 FOVRectangular.hpp:64
void setVerticalHalfAngle(double angle)
设置垂直半角
定义 FOVRectangular.hpp:60
~FOVRectangular() override=default
析构函数
EFOVType getFOVType() const override
获取视场类型
定义 FOVRectangular.hpp:39
void setHorizontalHalfAngle(double angle)
设置水平半角
定义 FOVRectangular.hpp:52
定义 FieldOfViewVisitor.hpp:41
视场基类
定义 FieldOfView.hpp:43
virtual double angularMargin(const Vector3d &direction) const =0
计算方向向量到 FOV 边界的角度余量(弧度)
EFOVType
视场类型枚举
定义 FieldOfView.hpp:32
@ eRectangular
矩形视场