import MovingNode from './MovingNode'; import SkeletonEvent from './SkeletonEvent'; import SplitEvent from './SplitEvent'; export default class SkeletonContext { private nextMovingNodeId; private movingNodes; private readonly eventQueue; private readonly abortedReflex; distance: number; distanceSign: number; time: number; epsilon: number; epsilonMinusOne: number; infiniteLoopGuard: number; setEpsilon(epsilon: number): void; getNodes(): Set; reset(distance: number, distanceSign: number): void; createMovingNode(id?: string): MovingNode; removeMovingNode(node: MovingNode): void; pollQueue(): SkeletonEvent | undefined; peekQueue(): SkeletonEvent | undefined; enqueue(event: SkeletonEvent): void; addAbortedReflex(reflexNode: MovingNode): void; /** * Node invalidated. */ abortEvents(adjacentNode: MovingNode): void; /** * Edge invalidated. */ abortEvents2(edgeNode0: MovingNode, edgeNode1: MovingNode): void; printEvents(): void; printNodes(): void; tryQueueEdgeEvent(n0: MovingNode, n1: MovingNode): void; tryQueueSplitEvent(reflexNode: MovingNode, op0: MovingNode, op1: MovingNode): void; tryReplaceNearestSplitEvent(reflexNode: MovingNode, op0: MovingNode, op1: MovingNode, nearest?: SplitEvent | null): SplitEvent | null | undefined; recheckAbortedReflexNodes(): void; }