@devexpress/utils
Version:
DevExpress utils
29 lines • 3.49 kB
TypeScript
import { ConstInterval } from './const';
import { FixedInterval } from './fixed';
import { MutableInterval } from './mutable';
import { IReproducibleInterval } from './reproducible';
import { SparseIntervals } from './sparse/intervals';
export declare class IntervalAlgorithms {
static oneConstainsOtherArraysOfInterval(mergedIntervalsA: FixedInterval[], intervalsB: FixedInterval[]): boolean;
static getIntersection<T extends ConstInterval>(intervalA: T & IReproducibleInterval<T>, intervalB: T): T | null;
static getIntersectionTemplate<ResultIntervalT extends ConstInterval, TemplateT extends IReproducibleInterval<ResultIntervalT>>(intervalA: ConstInterval, intervalB: ConstInterval, template: TemplateT): ResultIntervalT | null;
static getIntersectionNonNullLength<T extends ConstInterval>(intervalA: T & IReproducibleInterval<T>, intervalB: ConstInterval): T | null;
static getIntersectionNonNullLengthTemplate<ResultIntervalT extends ConstInterval, TemplateT extends IReproducibleInterval<ResultIntervalT>>(intervalA: ConstInterval, intervalB: ConstInterval, template: TemplateT): ResultIntervalT | null;
static getIntersectionsTwoArraysOfInterval<T extends MutableInterval>(intervalsA: (T & IReproducibleInterval<T>)[], intervalsB: ConstInterval[]): T[];
static getIntersectionsTwoArraysOfIntervalTemplate<ResultIntervalT extends MutableInterval, TemplateT extends IReproducibleInterval<ResultIntervalT>>(intervalsA: ConstInterval[], intervalsB: ConstInterval[], template: TemplateT): ResultIntervalT[];
static getAffectedObjects<T extends MutableInterval, TObj extends {
interval: T;
}>(objects: TObj[], intervals: (T & IReproducibleInterval<T>)[], getFirstIndex?: (start: number, objects: TObj[]) => number, conflictResolver?: (objectInterval: ConstInterval, touchingIntervalLength: number, touchPoint: number) => boolean): SparseIntervals<T>;
static getAffectedObjectsTemplate<ResultIntervalT extends MutableInterval, TemplateT extends IReproducibleInterval<ResultIntervalT>, TObj extends {
interval: ConstInterval;
}>(objects: TObj[], intervals: ConstInterval[], template: TemplateT, getFirstIndex?: (start: number, objects: TObj[]) => number, conflictResolver?: (objectInterval: ConstInterval, touchingIntervalLength: number, touchPoint: number) => boolean): SparseIntervals<ResultIntervalT>;
static handleAffectedObjects<IntervalT extends ConstInterval, TObj extends {
interval: ConstInterval;
}>(objects: TObj[], intervals: IntervalT[], callback: (obj: TObj, index: number, interval: IntervalT, intersection: ConstInterval) => void, getFirstIndex?: (start: number, objects: TObj[]) => number): void;
static getMergedIntervals<T extends ConstInterval>(intervals: (T & IReproducibleInterval<T>)[], needSort: boolean): T[];
static getMergedIntervalsTemplate<ResultIntervalT extends ConstInterval>(intervals: ConstInterval[], needSort: boolean, template: IReproducibleInterval<ResultIntervalT>): ResultIntervalT[];
static reflectIntervals<T extends ConstInterval>(intervals: T[], bounds: (T & IReproducibleInterval<T>)): T[];
static reflectIntervalsTemplate<ResultT extends ConstInterval>(intervals: ConstInterval[], bounds: ConstInterval, template: IReproducibleInterval<ResultT>): ResultT[];
static reflectionOfPointOnInterval(value: number, valInterval: FixedInterval, targetInterval: FixedInterval): number;
}
//# sourceMappingURL=algorithms.d.ts.map