public class AlignmentDetector extends AbstractDetector<AlignmentDetector>
此类用于查找对齐事件。
对齐意味着卫星位置与某个天体位置在轨道平面投影之间的夹角达到某个阈值。
默认处理程序行为是在达到对齐时停止
传播。可以在构造后调用AbstractDetector.withHandler(EventHandler)
来更改此行为。
Propagator.addEventDetector(EventDetector)
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Modifier | Constructor and Description |
---|---|
protected |
AlignmentDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, PVCoordinatesProvider body, double alignAngle)
具有完整参数的受保护构造函数。
|
|
AlignmentDetector(double maxCheck, double threshold, PVCoordinatesProvider body, double alignAngle)
构建一个新的对齐检测器。
|
|
AlignmentDetector(double threshold, Orbit orbit, PVCoordinatesProvider body, double alignAngle)
构建一个新的对齐检测器。
|
|
AlignmentDetector(Orbit orbit, PVCoordinatesProvider body, double alignAngle)
构建一个新的对齐检测器。
|
Modifier and Type | Method and Description |
---|---|
protected AlignmentDetector |
create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
构建一个新实例。
|
double |
g(SpacecraftState s)
计算切换函数的值。
|
double |
getAlignAngle()
获取对齐角度(弧度)。
|
PVCoordinatesProvider |
getPVCoordinatesProvider()
获取要对齐的天体。
|
getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThreshold
public AlignmentDetector(Orbit orbit, PVCoordinatesProvider body, double alignAngle)
轨道仅用于将最大检查间隔设置为周期的1/3,并根据轨道大小设置收敛阈值。
orbit
- 初始轨道
body
- 要对齐的天体
alignAngle
- 对齐角度(弧度)
public AlignmentDetector(double maxCheck, double threshold, PVCoordinatesProvider body, double alignAngle)
maxCheck
- 最大检查间隔(秒)
threshold
- 收敛阈值(秒)
body
- 要对齐的天体
alignAngle
- 对齐角度(弧度)
public AlignmentDetector(double threshold, Orbit orbit, PVCoordinatesProvider body, double alignAngle)
轨道仅用于将最大检查间隔设置为周期的1/3。
threshold
- 收敛阈值(秒)
orbit
- 初始轨道
body
- 要对齐的天体
alignAngle
- 对齐角度(弧度)
protected AlignmentDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, PVCoordinatesProvider body, double alignAngle)
此构造函数不是公共的,因为用户应该使用建造者API和各种withXxx()
方法来设置实例,以便以可读的方式设置实例,而不需要使用大量参数。
maxCheck
- 最大检查间隔(秒)
threshold
- 收敛阈值(秒)
maxIter
- 事件时间搜索中的最大迭代次数
handler
- 事件发生时要调用的事件处理程序
body
- 要对齐的天体
alignAngle
- 对齐角度(弧度)
protected AlignmentDetector create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
create
在类 AbstractDetector<AlignmentDetector>
newMaxCheck
- 最大检查间隔(秒)
newThreshold
- 收敛阈值(秒)
newMaxIter
- 事件时间搜索中的最大迭代次数
newHandler
- 事件发生时要调用的事件处理程序
public PVCoordinatesProvider getPVCoordinatesProvider()
public double getAlignAngle()
public double g(SpacecraftState s)
g
在接口 EventDetector
g
在类 AbstractDetector<AlignmentDetector>
s
- 当前状态信息:日期、运动学、姿态
Copyright © 2002-2023 CS GROUP. All rights reserved.