🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
FOVCustom.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "FieldOfView.hpp"
24#include "AstMath/Vector.hpp"
25
26AST_NAMESPACE_BEGIN
27
29class AST_CORE_API FOVCustom: public FieldOfView
30{
31public:
33 FOVCustom() = default;
34
36 ~FOVCustom() override = default;
37
40 EFOVType getFOVType() const override { return EFOVType::eCustom; }
41
44 void accept(FieldOfViewVisitor& visitor) override { visitor.visit(*this); }
45
49 double angularMargin(const Vector3d& direction) const override;
50
53 void addVertex(const Vector3d& vertex) { vertices_.push_back(vertex); }
54
57 const std::vector<Vector3d>& getVertices() const { return vertices_; }
58
59private:
60 std::vector<Vector3d> vertices_{};
61};
62
63AST_NAMESPACE_END
视场基类
自定义视场类
定义 FOVCustom.hpp:30
EFOVType getFOVType() const override
获取视场类型
定义 FOVCustom.hpp:40
void addVertex(const Vector3d &vertex)
添加顶点
定义 FOVCustom.hpp:53
FOVCustom()=default
构造函数
void accept(FieldOfViewVisitor &visitor) override
接受访问者
定义 FOVCustom.hpp:44
~FOVCustom() override=default
析构函数
const std::vector< Vector3d > & getVertices() const
获取顶点列表
定义 FOVCustom.hpp:57
定义 FieldOfViewVisitor.hpp:41
视场基类
定义 FieldOfView.hpp:43
virtual double angularMargin(const Vector3d &direction) const =0
计算方向向量到 FOV 边界的角度余量(弧度)
EFOVType
视场类型枚举
定义 FieldOfView.hpp:32
@ eCustom
自定义视场