import MovingNode from './MovingNode'; import SkeletonEvent from './SkeletonEvent'; import SkeletonContext from './SkeletonContext'; export default class SplitEvent extends SkeletonEvent { readonly reflexNode: MovingNode; readonly op0: MovingNode; readonly op1: MovingNode; eventPriority: number; constructor(reflexNode: MovingNode, opposite0: MovingNode, opposite1: MovingNode, time: number); static calcTime(reflexNode: MovingNode, edgeStart: MovingNode, distanceSign: number): number; private static correctSpeed; /** * Check if reflex actually collides with opposite edge in the future. * Do this before creating the event and not inside of handle() to avoid creating unnecessary events * which would slow down the queue and introduce superfluous scaling steps and hence rounding errors. */ private static canHit; onEventQueued(): void; onEventAborted(adjacentNode: MovingNode, ctx: SkeletonContext): void; onEventAborted2(edgeNode0: MovingNode, edgeNode1: MovingNode, ctx: SkeletonContext): void; handle(ctx: SkeletonContext): void; toString(): string; }