接口 FieldEventState<T extends CalculusFieldElement<T>>
- 类型参数:
-
T
- 字段元素的类型
public interface FieldEventState<T extends CalculusFieldElement<T>>
- 从以下版本开始:
- 3.0
-
方法概要
修饰符和类型方法说明doEvent
(FieldODEStateAndDerivative<T> state) 通知用户的监听器事件。boolean
evaluateStep
(FieldODEStateInterpolator<T> interpolator) 评估建议步骤对事件处理器的影响。获取当前步骤中触发的事件的发生时间。void
init
(FieldODEStateAndDerivative<T> s0, T t) 在积分开始时初始化处理器。
-
方法详细资料
-
init
在积分开始时初始化处理器。此方法在积分开始时调用一次。如果需要,事件处理器可以使用此方法初始化一些内部数据。
- 参数:
-
s0
- 初始状态 -
t
- 积分的目标时间
-
getEventTime
T getEventTime()获取当前步骤中触发的事件的发生时间。- 返回:
- 当前步骤中触发的事件的发生时间,如果没有事件触发则为无穷大
-
evaluateStep
boolean evaluateStep(FieldODEStateInterpolator<T> interpolator) throws MathIllegalArgumentException, MathIllegalStateException 评估建议步骤对事件处理器的影响。- 参数:
-
interpolator
- 建议步骤的插值器 - 返回:
- 如果事件处理器在建议步骤结束之前触发事件,则返回true
- 抛出:
-
MathIllegalStateException
- 如果插值器抛出异常,因为函数评估次数超过限制 -
MathIllegalArgumentException
- 如果无法找到事件的区间
-
doEvent
通知用户的监听器事件。事件完全在此方法调用中发生,包括必要时调用FieldODEEventHandler.resetState(FieldODEEventDetector, FieldODEStateAndDerivative)
。- 参数:
-
state
- 事件发生时的状态。这必须与getEventTime()
的当前值相同。 - 返回:
-
用户请求的操作和新状态,如果操作是
Action.RESET_STATE
。否则新状态为state
。停止时间指示如果操作是Action.STOP
,则积分应该在根之后停止的时间。这确保积分将在根上或之后停止,以便可以安全地重新启动积分。
-