@idscan/idvc2
Version:
component for the capturing documents
47 lines (46 loc) • 1.75 kB
TypeScript
export type Point = [number, number];
export interface ICoord {
x: number;
y: number;
}
export interface Geometry {
distanceBetweenPoints(p1: Point, p2: Point): number;
distanceBetweenPointsX(p1: Point, p2: Point): number;
distanceBetweenPointsXoR(p1: Point, p2: Point): number;
sizeByTwoPoints(p1: Point, p2: Point): number;
rectCenter(start: Point, end: Point): Point;
angleBetweenTwoVectors(vector1: number[], vector2: number[]): number;
triangleArea(a: number, b: number, c: number): number;
}
/**
* calculates distance between two points
* @param {Number[]} p1 - first coord [x1, y1]
* @param {Number[]} p2 - second coord [x2, y2]
* @return {number}
*/
export declare const distanceBetweenPoints: (p1: Point, p2: Point) => number;
/**
* calculates distance between two points
* @param {Number[]} p1 - first coord [x1, y1]
* @param {Number[]} p2 - second coord [x2, y2]
* @return {number}
*/
export declare const distanceBetweenPointsX: (p1: Point, p2: Point) => number;
export declare const sizeByTwoPoints: (p1: Point, p2: Point) => number;
export declare const rectCenter: (start: Point, end: Point) => Point;
export declare const angleBetweenTwoVectors: (vector1: number[], vector2: number[]) => number;
export declare const distanceBetweenPointsXoR: (p1: Point, p2: Point) => number;
export declare const triangleArea: (a: number, b: number, c: number) => number;
export declare const calculateBboxAspectRatio: (bbox: {
topLeft: {
x: number;
y: number;
};
bottomRight: {
x: number;
y: number;
};
}) => number;
export declare const isValidAspectRatio: (aspectRatio: number) => boolean;
declare const geometry: Geometry;
export default geometry;