🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
SpatialCalcDistance.hpp
浏览该文件的文档.
1
19
20#pragma once
21
23#include "AstCore/WeakPtr.hpp"
24
25AST_NAMESPACE_BEGIN
26
27class Object;
28
38
42class AST_CORE_API SpatialCalcDistance final : public SpatialCalculation
43{
44public:
45 SpatialCalcDistance() = default;
46 ~SpatialCalcDistance() override = default;
47
48 void accept(SpatialCalculationVisitor& visitor) override { visitor.visit(*this); }
49 errc_t evaluate(const TimePoint& time, const Vector3d& position, double& result) const override;
50
53 void setReferenceObject(Object* obj);
54 Object* getReferenceObject() const { return refObject_.get(); }
56
59 void setReferenceConfig(EDistanceRefConfig config) { refConfig_ = config; }
60 EDistanceRefConfig getReferenceConfig() const { return refConfig_; }
62
63private:
64 WeakPtr<Object> refObject_;
65 EDistanceRefConfig refConfig_{EDistanceRefConfig::eFromPoint};
66};
67
68AST_NAMESPACE_END
空间计算基类
对象基类,继承自该类的对象可以使用运行时类型信息相关功能,实现强弱引用计数、运行时元信息(属性访问、序列化等)等基础功能
定义 Object.hpp:95
位置距离空间计算
定义 SpatialCalcDistance.hpp:43
void accept(SpatialCalculationVisitor &visitor) override
接受访问者
定义 SpatialCalcDistance.hpp:48
空间计算访问者接口
定义 SpatialCalculationVisitor.hpp:44
空间计算基类
定义 SpatialCalculation.hpp:35
virtual errc_t evaluate(const TimePoint &time, const Vector3d &position, double &result) const =0
在指定时间和位置评估计算
绝对时间点
定义 TimePoint.hpp:108
EDistanceRefConfig
距离参考配置
定义 SpatialCalcDistance.hpp:31
@ eAlongVectorSigned
沿参考向量的投影距离(带符号)
@ eFromPlane
到参考平面的距离(无符号)
@ eAlongVector
沿参考向量的投影距离(无符号)
@ eFromPoint
到参考点的距离
@ eFromPlaneSigned
到参考平面的距离(带符号)