🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
VolumeGridConstrained.hpp
浏览该文件的文档.
1
19
20#pragma once
21
22#include "VolumeGrid.hpp"
23#include "AstCore/WeakPtr.hpp"
24
25AST_NAMESPACE_BEGIN
26
27class SpatialCondition;
28
32class AST_CORE_API VolumeGridConstrained final : public VolumeGrid
33{
34public:
36 ~VolumeGridConstrained() override = default;
37
38 void accept(VolumeGridVisitor& visitor) override { visitor.visit(*this); }
39
40 size_t getGridPointCount() const override;
41 void enumerateGridPoints(std::vector<Vector3d>& points) const override;
42 void getBoundingBox(Vector3d& minCorner, Vector3d& maxCorner) const override;
43 Frame* getFrame() const override;
44
47 void setReferenceGrid(VolumeGrid* grid);
48 VolumeGrid* getReferenceGrid() const { return refGrid_.get(); }
50
53 void setCondition(SpatialCondition* condition);
54 SpatialCondition* getCondition() const { return condition_.get(); }
56
57private:
58 WeakPtr<VolumeGrid> refGrid_{};
59 WeakPtr<SpatialCondition> condition_{};
60};
61
62AST_NAMESPACE_END
体积网格基类
坐标系抽象基类
定义 Frame.hpp:62
约束体积网格
定义 VolumeGridConstrained.hpp:33
void accept(VolumeGridVisitor &visitor) override
接受访问者
定义 VolumeGridConstrained.hpp:38
体积网格访问者接口
定义 VolumeGridVisitor.hpp:37
体积网格基类
定义 VolumeGrid.hpp:36
virtual size_t getGridPointCount() const =0
获取网格点总数
virtual Frame * getFrame() const =0
获取参考坐标系
virtual void enumerateGridPoints(std::vector< Vector3d > &points) const =0
枚举所有网格点坐标
virtual void getBoundingBox(Vector3d &minCorner, Vector3d &maxCorner) const =0
获取包围盒