UNPKG

step-sequence-generator

Version:

A step sequence generator for figure skating programs

48 lines (47 loc) 2.29 kB
import { VectorAngleType, VectorCursorType, VectorTrackType } from '../../shared/types/vector.type'; import { DescartesCoordinatesType } from '../../shared/types/descartes-coordinates.type'; import { VectorKey } from '../../shared/enums/vector-key.enum'; import { ArcVectorIndexType } from '../../shared/types/arc-vector/arc-vector-index.type'; import { VectorKeyChanceRatioMapGenerator } from '../chance-ratio-map-generator/VectorKeyChanceRatioMapGenerator'; import { Roulette } from '../roulette/Roulette'; type GetNextPositionArgsType = { currentVectorKey: VectorKey | null; currentAcrVectorIndex: ArcVectorIndexType; currentCoordinates: DescartesCoordinatesType; distance: number; }; type ConstructorArgsType = { standardStartCoordinates: ReadonlyArray<DescartesCoordinatesType>; vectorsTrack: VectorTrackType; vectorAngles: VectorAngleType; vectorKeyChanceRatioMapGenerator: VectorKeyChanceRatioMapGenerator; roulette: Roulette; }; export declare class StepTracker { readonly startCoordinates: ReadonlyArray<DescartesCoordinatesType>; readonly vectorsTrack: VectorTrackType; readonly vectorAngles: VectorAngleType; readonly vectorKeyChanceRatioMapGenerator: VectorKeyChanceRatioMapGenerator; readonly roulette: Roulette; constructor(data: ConstructorArgsType); /** * @arg data * @arg {VectorKey | null} data.currentVectorKey ключ вектора движения относительно поля * @arg {ArcVectorIndexType} data.currentAcrVectorIndex индекс дуги: по часовой или против часовой стрелки * @arg {DescartesCoordinatesType} data.currentCoordinates текущий координаты * @arg {number} data.distance расстояние, которое покрывает движение * */ getNextPosition(data: GetNextPositionArgsType): { vector: VectorKey; coordinates: DescartesCoordinatesType; }; private filterVectorKeys; private getNewCoordinates; private calcCoordinate; getNextTrackVector(vectorKey: VectorKey): VectorCursorType; private getNextMovementVector; private getAllowedVectorKeys; getStartCoordinates(): DescartesCoordinatesType; private getRandom; } export {};