🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
BodyShape.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstUtil/Object.hpp"
25#include "AstUtil/ObjectNamed.hpp"
26#include "AstCore/GeodeticPoint.hpp"
27#include "AstMath/Vector.hpp"
28
29AST_NAMESPACE_BEGIN
30
32class AST_CORE_API BodyShape : public ObjectNamed
33{
34public:
35 AST_OBJECT(BodyShape)
36
37 BodyShape();
38
39 virtual double majorAxis() const = 0;
40
44 virtual void transform(const Vector3d& cartesian, GeodeticPoint& detic) const = 0;
45
49 virtual void transform(const GeodeticPoint& detic, Vector3d& cartesian) const = 0;
50
54 A_ALWAYS_INLINE GeodeticPoint transform(const Vector3d& cartesian) const
55 {
56 GeodeticPoint detic;
57 this->transform(cartesian, detic);
58 return detic;
59 }
60
64 A_ALWAYS_INLINE Vector3d transform(const GeodeticPoint& point) const
65 {
66 Vector3d cartesian;
67 this->transform(point, cartesian);
68 return cartesian;
69 }
70};
71
72
74AST_CORE_CAPI BodyShape* aWGS84Spheroid();
75
77AST_CORE_CAPI BodyShape* aCGCS2000Spheroid();
78
79
80
81AST_NAMESPACE_END
天体形状基类
定义 BodyShape.hpp:33
A_ALWAYS_INLINE GeodeticPoint transform(const Vector3d &cartesian) const
将笛卡尔坐标(天体固连系)转换为大地坐标
定义 BodyShape.hpp:54
virtual void transform(const GeodeticPoint &detic, Vector3d &cartesian) const =0
将大地坐标转换为笛卡尔坐标(天体固连系)
A_ALWAYS_INLINE Vector3d transform(const GeodeticPoint &point) const
将大地坐标转换为笛卡尔坐标(天体固连系)
定义 BodyShape.hpp:64
virtual void transform(const Vector3d &cartesian, GeodeticPoint &detic) const =0
将笛卡尔坐标(天体固连系)转换为大地坐标
大地坐标
定义 GeodeticPoint.hpp:33
命名对象
定义 ObjectNamed.hpp:36