🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
SpheroidShape.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "BodyShape.hpp"
25
26AST_NAMESPACE_BEGIN
27
30class AST_CORE_API SpheroidShape final : public BodyShape
31{
32public:
33 AST_OBJECT(SpheroidShape)
34 AST_PROPERT(majorAxis)
35 AST_PROPERT(flatfactor)
36 static SpheroidShape* NewFromMajorAxisFlatFactor(double majorAxis, double flatFactor);
37 static SpheroidShape* NewFromMajorMinorAxis(double majorAxis, double minorAxis);
38
39 SpheroidShape() = default;
40 SpheroidShape(double majorAxis, double flatFactor);
41 using BodyShape::transform;
42
43 double majorAxis() const override{return majorAxis_;}
44
45 void transform(const Vector3d& cartesian, GeodeticPoint& detic) const override;
46
47 void transform(const GeodeticPoint& detic, Vector3d& cartesian) const override;
48public:
49 double flatFactor() const { return flatFactor_; }
50PROPERTIES:
51 length_d majorAxis_{};
52 double flatFactor_{};
53};
54
55AST_NAMESPACE_END
天体形状基类
定义 BodyShape.hpp:33
virtual void transform(const Vector3d &cartesian, GeodeticPoint &detic) const =0
将笛卡尔坐标(天体固连系)转换为大地坐标
大地坐标
定义 GeodeticPoint.hpp:33
旋转椭球体/扁球体
定义 SpheroidShape.hpp:31