public class AttitudeEndpoints extends Object implements AttitudeBuilder
这个类提供了姿态定义的两种不同视图之间的桥梁。在这两种视图中,都有一个基于天体或轨道相对的外部参考系,以及一个航天器本体参考系。
Orekit姿态
视图:姿态始终从外部指向航天器本体Modifier and Type | Field and Description |
---|---|
static String |
A2B
A → B方向的常量。
|
static String |
B2A
A ← B方向的常量。
|
Constructor and Description |
---|
AttitudeEndpoints()
空构造函数。
|
Modifier and Type | Method and Description |
---|---|
<T extends org.hipparchus.CalculusFieldElement<T>> |
build(Frame frame, FieldPVCoordinatesProvider<T> pvProv, TimeStampedFieldAngularCoordinates<T> rawAttitude)
构建一个过滤后的姿态。
|
Attitude |
build(Frame frame, PVCoordinatesProvider pvProv, TimeStampedAngularCoordinates rawAttitude)
构建一个过滤后的姿态。
|
void |
checkExternalFrame(Enum<?> aKey, Enum<?> bKey)
检查外部参考系是否已正确初始化。
|
void |
checkMandatoryEntriesExceptExternalFrame(double version, Enum<?> aKey, Enum<?> bKey, Enum<?> dirKey)
检查是否已初始化强制条目除外部参考系。
|
FrameFacade |
getExternalFrame()
获取外部参考系。
|
FrameFacade |
getFrameA()
获取A框架。
|
FrameFacade |
getFrameB()
获取B框架。
|
FrameFacade |
getSpacecraftBodyFrame()
获取航天器本体框架。
|
boolean |
isA2b()
|
boolean |
isCompatibleWith(AttitudeEndpoints other)
检查一个端点是否与另一个兼容。
|
boolean |
isExternal2SpacecraftBody()
检查姿态是否从外部参考系到航天器本体框架。
|
void |
setA2b(boolean a2b)
设置旋转方向。
|
void |
setFrameA(FrameFacade frameA)
设置框架A。
|
void |
setFrameB(FrameFacade frameB)
设置框架B。
|
String |
toString() |
public AttitudeEndpoints()
这个构造函数并不是严格必需的,但它可以防止在JDK 18及更高版本中出现虚假的javadoc警告。
public void checkExternalFrame(Enum<?> aKey, Enum<?> bKey)
aKey
- 框架A的关键字
bKey
- 框架B的关键字
public void checkMandatoryEntriesExceptExternalFrame(double version, Enum<?> aKey, Enum<?> bKey, Enum<?> dirKey)
框架A或框架B必须使用航天器本体框架
进行初始化。
如果某些强制条目缺失,此方法应抛出异常。
version
- 格式版本
aKey
- 框架A的关键字
bKey
- 框架B的关键字
dirKey
- 方向的关键字
public void setFrameA(FrameFacade frameA)
frameA
- 框架A
public FrameFacade getFrameA()
public void setFrameB(FrameFacade frameB)
frameB
- 框架B
public FrameFacade getFrameB()
public FrameFacade getExternalFrame()
public FrameFacade getSpacecraftBodyFrame()
public boolean isExternal2SpacecraftBody()
在调用此方法之前,必填条目
必须已正确初始化为非空值,否则将抛出NullPointerException
。
public boolean isCompatibleWith(AttitudeEndpoints other)
如果端点引用相同的框架名称、顺序和方向,则端点是兼容的。
other
- 要检查的其他端点
public Attitude build(Frame frame, PVCoordinatesProvider pvProv, TimeStampedAngularCoordinates rawAttitude)
build
在接口 AttitudeBuilder
frame
- 必须定义姿态的参考框架
pvProv
- 提供航天器位置和速度的提供者
rawAttitude
- 原始旋转/旋转速率/旋转加速度
public <T extends org.hipparchus.CalculusFieldElement<T>> FieldAttitude<T> build(Frame frame, FieldPVCoordinatesProvider<T> pvProv, TimeStampedFieldAngularCoordinates<T> rawAttitude)
build
在接口 AttitudeBuilder
T
- 字段元素的类型
frame
- 必须定义姿态的参考框架
pvProv
- 提供航天器位置和速度的提供者
rawAttitude
- 原始旋转/旋转速率/旋转加速度
Copyright © 2002-2023 CS GROUP. All rights reserved.