public class ApsideDetector extends AbstractDetector<ApsideDetector>
此类用于查找apside交叉事件(即近地点或远地点交叉)。
默认实现行为是在远地点交叉时继续
传播,在近地点交叉时停止
传播。可以在构造后调用AbstractDetector.withHandler(EventHandler)
来更改此行为。
请注意,对于几乎圆形轨道,apside检测将失败。例如,如果apside检测器用于触发一个ImpulseManeuver
,并且机动改变了轨道形状为圆形,则检测器可能在执行机动后完全失败!
Propagator.addEventDetector(EventDetector)
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Modifier | Constructor and Description |
---|---|
protected |
ApsideDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler)
具有完整参数的受保护构造函数。
|
|
ApsideDetector(double threshold, Orbit orbit)
构建一个新实例。
|
|
ApsideDetector(Orbit orbit)
构建一个新实例。
|
Modifier and Type | Method and Description |
---|---|
protected ApsideDetector |
create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
构建一个新实例。
|
double |
g(SpacecraftState s)
计算切换函数的值。
|
getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThreshold
public ApsideDetector(Orbit orbit)
轨道仅用于将最大检查间隔设置为周期的1/3,并根据轨道大小设置收敛阈值
orbit
- 初始轨道
public ApsideDetector(double threshold, Orbit orbit)
轨道仅用于将最大检查间隔设置为周期的1/3
threshold
- 收敛阈值(秒)
orbit
- 初始轨道
protected ApsideDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler)
此构造函数不是公共的,因为用户应该使用构建器API与各种withXxx()
方法来设置实例,以便以可读的方式设置实例,而不使用大量参数。
maxCheck
- 最大检查间隔
threshold
- 收敛阈值(秒)
maxIter
- 事件时间搜索中的最大迭代次数
handler
- 事件发生时要调用的事件处理程序
protected ApsideDetector create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
create
在类 AbstractDetector<ApsideDetector>
newMaxCheck
- 最大检查间隔(秒)
newThreshold
- 收敛阈值(秒)
newMaxIter
- 事件时间搜索中的最大迭代次数
newHandler
- 事件发生时要调用的事件处理程序
public double g(SpacecraftState s)
g
在接口 EventDetector
g
在类 AbstractDetector<ApsideDetector>
s
- 当前状态信息:日期、运动学、姿态
Copyright © 2002-2023 CS GROUP. All rights reserved.