🛰️航天仿真算法库 SpaceAST
0.3.1
载入中...
搜索中...
未找到
SpheroidShape.hpp
浏览该文件的文档.
1
20
21
#pragma once
22
23
#include "AstGlobal.h"
24
#include "
BodyShape.hpp
"
25
26
AST_NAMESPACE_BEGIN
27
30
class
AST_CORE_API
SpheroidShape
final :
public
BodyShape
31
{
32
public
:
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
;
48
49
errc_t
transform
(
const
Vector3d& pos,
const
Vector3d& vel,
50
GeodeticPoint
& detic,
LatLonAlt
& rate)
const override
;
51
52
errc_t
transform
(
const
GeodeticPoint
& detic,
const
LatLonAlt
& rate,
53
Vector3d& pos, Vector3d& vel)
const override
;
54
public
:
55
double
flatFactor()
const
{
return
flatFactor_; }
56
PROPERTIES:
57
length_d majorAxis_{};
58
double
flatFactor_{};
59
};
60
61
AST_NAMESPACE_END
BodyShape.hpp
~
ast::BodyShape
天体形状基类
定义
BodyShape.hpp:33
ast::BodyShape::transform
virtual void transform(const Vector3d &cartesian, GeodeticPoint &detic) const =0
将笛卡尔坐标(天体固连系)转换为大地坐标
ast::GeodeticPoint
大地坐标
定义
GeodeticPoint.hpp:33
ast::LatLonAlt
纬度、经度、高度坐标
定义
LatLonAlt.hpp:30
ast::SpheroidShape
旋转椭球体/扁球体
定义
SpheroidShape.hpp:31
src
AstCore
Geometry
Surface
BodyShape
SpheroidShape.hpp
制作者
1.12.0