This commit is contained in:
ChenX
2024-10-29 17:14:43 +08:00
parent 3cdbeeb178
commit dccd6ec73e
2683 changed files with 37067 additions and 201 deletions

3
types/Nest/Common/Area.d.ts vendored Normal file
View File

@@ -0,0 +1,3 @@
import { Point } from "./Point";
export declare function Area(pts: Point[]): number;
//# sourceMappingURL=Area.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Area.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Common/Area.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,wBAAgB,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAYzC"}

44
types/Nest/Common/ArrayExt.d.ts vendored Normal file
View File

@@ -0,0 +1,44 @@
/**
* 删除数组中指定的元素,返回数组本身
* @param {Array<any>} arr 需要操作的数组
* @param {*} el 需要移除的元素
*/
export declare function arrayRemove<T>(arr: Array<T>, el: T): Array<T>;
export declare function arrayRemoveOnce<T>(arr: Array<T>, el: T): Array<T>;
/**
* 删除通过函数校验的元素
* @param {(e: T) => boolean} checkFuntion 校验函数
*/
export declare function arrayRemoveIf<T>(arr: Array<T>, checkFuntion: (e: T) => boolean): Array<T>;
export declare function arrayFirst<T>(arr: Array<T>): T;
export declare function arrayLast<T>(arr: {
[key: number]: T;
length: number;
}): T;
/**
* 根据数值从小到大排序数组
* @param {Array<T>} arr
* @returns {Array<T>} 返回自身
*/
export declare function arraySortByNumber<T>(arr: Array<T>): Array<T>;
/**
* 对排序好的数组进行去重操作
* @param {(e1, e2) => boolean} [checkFuction] 校验对象相等函数
* @returns {Array<T>} 返回自身
*/
export declare function arrayRemoveDuplicateBySort<T>(arr: Array<T>, checkFuction?: (e1: T, e2: T) => boolean): Array<T>;
export declare function arrayMap<T>(arr: Array<T>, mapFunc: (v: T) => T): Array<T>;
declare function checkEqual(e1: any, e2: any): boolean;
/**
* 改变数组的值顺序
* @param arr 需要改变初始值位置的数组
* @param index //将index位置以后的值放到起始位置
*/
export declare function changeArrayStartIndex<T>(arr: T[], index: number): T[];
export declare function equalArray<T>(a: T[], b: T[], checkF?: typeof checkEqual): boolean;
export declare function arrayClone<T>(arr: T[]): T[];
export declare function arrayPushArray<T>(arr1: T[], arr2: T[]): T[];
export declare function arraySum(arr: number[]): number;
export declare function FilterSet<T>(s: Set<T>, fn: (el: T) => boolean): Set<T>;
export {};
//# sourceMappingURL=ArrayExt.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"ArrayExt.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Common/ArrayExt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAa7D;AAGD,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAMjE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAazF;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAG9C;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CAAE,GAAG,CAAC,CAG1E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAI5D;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,GAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,OAAoB,GAAG,KAAK,CAAC,CAAC,CAAC,CAS3H;AAGD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAKzE;AAOD,iBAAS,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,OAAO,CAG7C;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAIrE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,oBAAa,WAOhE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAG3C;AAGD,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAS3D;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAKrC;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAStE"}

33
types/Nest/Common/Box2.d.ts vendored Normal file
View File

@@ -0,0 +1,33 @@
import { Vector2 } from "./Vector2";
import { Point } from "./Point";
export declare class Box2 {
min: Vector2;
max: Vector2;
constructor(min?: Vector2, max?: Vector2);
get area(): number;
set(min: Vector2, max: Vector2): Box2;
setFromPoints(points: Iterable<Point>): Box2;
private static _setFromCenterAndSize_v1;
setFromCenterAndSize(center: Vector2, size: Vector2): Box2;
clone(): Box2;
copy(box: Box2): Box2;
makeEmpty(): Box2;
isEmpty(): boolean;
getCenter(result?: Vector2): Vector2;
getSize(result?: Vector2): Vector2;
expandByPoint(point: Point): Box2;
expandByVector(vector: Vector2): Box2;
expandByScalar(scalar: number): Box2;
containsPoint(point: Vector2): boolean;
containsBox(box: Box2): boolean;
getParameter(point: Vector2, result?: Vector2): Vector2;
intersectsBox(box: Box2): boolean;
clampPoint(point: Vector2, result?: Vector2): Vector2;
private static _distanceToPoint_v1;
distanceToPoint(point: Vector2): number;
intersect(box: Box2): Box2;
union(box: Box2): Box2;
translate(offset: Point): Box2;
equals(box: Box2): boolean;
}
//# sourceMappingURL=Box2.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Box2.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Common/Box2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,IAAI;IAEb,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;gBACD,GAAG,UAAsC,EAAE,GAAG,UAAsC;IAMhG,IAAI,IAAI,IAAI,MAAM,CAGjB;IAED,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IAMrC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI;IAS5C,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAiB;IACxD,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAQ1D,KAAK,IAAI,IAAI;IAIb,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI;IAMrB,SAAS,IAAI,IAAI;IAMjB,OAAO,IAAI,OAAO;IAKlB,SAAS,CAAC,MAAM,GAAE,OAAuB,GAAG,OAAO;IAInD,OAAO,CAAC,MAAM,GAAE,OAAuB,GAAG,OAAO;IAIjD,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMjC,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAMrC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMpC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAStC,WAAW,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO;IAS/B,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,GAAE,OAAuB,GAAG,OAAO;IAStE,aAAa,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO;IAUjC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,GAAE,OAAuB,GAAG,OAAO;IAIpE,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAiB;IACnD,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAMvC,SAAS,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI;IAM1B,KAAK,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI;IAMtB,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI;IAM9B,MAAM,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO;CAI7B"}

6
types/Nest/Common/ClipperCpp.d.ts vendored Normal file
View File

@@ -0,0 +1,6 @@
import * as clipperLib from "js-angusj-clipper/web";
export declare let clipperCpp: {
lib?: clipperLib.ClipperLibWrapper;
};
export declare function InitClipperCpp(): Promise<void>;
//# sourceMappingURL=ClipperCpp.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"ClipperCpp.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Common/ClipperCpp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AAEpD,eAAO,IAAI,UAAU,EAAE;IAAE,GAAG,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC;CAAO,CAAC;AACpE,wBAAgB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB9C"}

23
types/Nest/Common/ComparePoint.d.ts vendored Normal file
View File

@@ -0,0 +1,23 @@
interface Vec2 {
x: number;
y: number;
}
export type CompareVectorFn = (v1: Vec2, v2: Vec2) => number;
/**
* 构建返回一个用来排序的函数.根据key创建排序规则.
*
* 当key = "xyz" 时,点集按 x从小到大,y从小到大 z从小到大
* key = "X" 时,点集按 x从大到小
* 以此类推.
*
* 例子:
* let pts:Vector3[] =...;
* pts.sort(comparePoint("x")); //x从小到大排序
* pts.sort(comparePoint("zX")); //z从小到大 x从大到小
*
* @export
* @param {string} sortKey
*/
export declare function ComparePoint(sortKey: string): CompareVectorFn;
export {};
//# sourceMappingURL=ComparePoint.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"ComparePoint.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Common/ComparePoint.ts"],"names":[],"mappings":"AAAA,UAAU,IAAI;IAAG,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;CAAE;AAExC,MAAM,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,KAAK,MAAM,CAAC;AAO7D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAiC7D"}

3
types/Nest/Common/ConvexHull2D.d.ts vendored Normal file
View File

@@ -0,0 +1,3 @@
import { Point } from "./Point";
export declare function ConvexHull2D(points: Point[]): Point[];
//# sourceMappingURL=ConvexHull2D.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"ConvexHull2D.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Common/ConvexHull2D.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAKrD"}

13
types/Nest/Common/Filer.d.ts vendored Normal file
View File

@@ -0,0 +1,13 @@
/**
* CAD文件数据
*/
export declare class NestFiler {
_datas: any[];
private readIndex;
constructor(_datas?: any[]);
Clear(): this;
Reset(): this;
Write(data: any): this;
Read(): any;
}
//# sourceMappingURL=Filer.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Filer.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Common/Filer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,SAAS;IAGC,MAAM,EAAE,GAAG,EAAE;IADhC,OAAO,CAAC,SAAS,CAAa;gBACX,MAAM,GAAE,GAAG,EAAO;IAErC,KAAK;IAKL,KAAK;IAML,KAAK,CAAC,IAAI,EAAE,GAAG;IAMf,IAAI,IAAI,GAAG;CAId"}

5
types/Nest/Common/Point.d.ts vendored Normal file
View File

@@ -0,0 +1,5 @@
export interface Point {
x: number;
y: number;
}
//# sourceMappingURL=Point.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Point.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Common/Point.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,KAAK;IAElB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb"}

2
types/Nest/Common/Random.d.ts vendored Normal file
View File

@@ -0,0 +1,2 @@
export declare function RandomIndex(count: number, exclude?: number): number;
//# sourceMappingURL=Random.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Random.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Common/Random.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAMnE"}

2
types/Nest/Common/Sleep.d.ts vendored Normal file
View File

@@ -0,0 +1,2 @@
export declare function Sleep(time: number): Promise<unknown>;
//# sourceMappingURL=Sleep.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Sleep.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Common/Sleep.ts"],"names":[],"mappings":"AAAA,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,oBAMvC"}

8
types/Nest/Common/Util.d.ts vendored Normal file
View File

@@ -0,0 +1,8 @@
export declare function equaln(v1: number, v2: number, fuzz?: number): boolean;
export declare function FixIndex(index: number, arr: Array<any> | number): number;
/**
* @param compart true => t2 , false => t1
* @returns 索引
*/
export declare function Max<T>(arr: T[], compart: (t1: T, t2: T) => boolean): number;
//# sourceMappingURL=Util.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Common/Util.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,SAAO,WAGzD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,UAS/D;AAED;;;GAGG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,GAAG,MAAM,CAc3E"}

60
types/Nest/Common/Vector2.d.ts vendored Normal file
View File

@@ -0,0 +1,60 @@
import { Point } from "./Point";
export declare class Vector2 {
x: number;
y: number;
readonly isVector2: boolean;
constructor(x?: number, y?: number);
get width(): number;
set width(value: number);
get height(): number;
set height(value: number);
set(x: number, y: number): Vector2;
setScalar(scalar: number): Vector2;
setX(x: number): Vector2;
setY(y: number): Vector2;
setComponent(index: number, value: number): Vector2;
getComponent(index: number): number;
clone(): Vector2;
copy(v: Vector2): Vector2;
add(v: Point): Vector2;
addScalar(s: number): Vector2;
addVectors(a: Vector2, b: Vector2): Vector2;
addScaledVector(v: Vector2, s: number): Vector2;
sub(v: Vector2): Vector2;
subScalar(s: number): Vector2;
subVectors(a: Vector2, b: Vector2): Vector2;
multiply(v: Vector2): Vector2;
multiplyScalar(scalar: number): Vector2;
divide(v: Vector2): Vector2;
divideScalar(scalar: number): Vector2;
min(v: Point): Vector2;
max(v: Point): Vector2;
clamp(min: Vector2, max: Vector2): Vector2;
private static clampScalar_min;
private static clampScalar_max;
clampScalar(minVal: number, maxVal: number): Vector2;
clampLength(min: number, max: number): Vector2;
floor(): Vector2;
ceil(): Vector2;
round(): Vector2;
roundToZero(): Vector2;
negate(): Vector2;
dot(v: Vector2): number;
lengthSq(): number;
length(): number;
lengthManhattan(): number;
normalize(): Vector2;
angle(): number;
distanceTo(v: Vector2): number;
distanceToSquared(v: Vector2): number;
distanceToManhattan(v: Vector2): number;
setLength(length: number): Vector2;
lerp(v: Vector2, alpha: number): Vector2;
lerpVectors(v1: Vector2, v2: Vector2, alpha: number): Vector2;
equals(v: Vector2): boolean;
fromArray(array: Float32Array | number[], offset?: number): Vector2;
toArray(array?: Float32Array | number[], offset?: number): Float32Array | number[];
fromAttribute(attribute: any, index: number, offset?: number): Vector2;
rotateAround(center: Vector2, angle: number): Vector2;
}
//# sourceMappingURL=Vector2.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Vector2.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Common/Vector2.ts"],"names":[],"mappings":"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"}