This commit is contained in:
ChenX
2024-03-26 11:10:20 +08:00
parent 070821c353
commit 66f35d6c12
2436 changed files with 31792 additions and 3945 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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"}

View File

@@ -0,0 +1,5 @@
import { Board } from "../../DatabaseServices/Entity/Board";
import { Part } from "../Core/Part";
export declare let Rotations: number[][];
export declare function ConverBoard2Part(board: Board, knifRadius?: number): Part;
//# sourceMappingURL=ConverBoard2Part.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"ConverBoard2Part.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Converter/ConverBoard2Part.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAO5D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAKpC,eAAO,IAAI,SAAS,YAInB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,SAAM,GAAG,IAAI,CAoFrE"}

27
types/Nest/Converter/CurveWrap.d.ts vendored Normal file
View File

@@ -0,0 +1,27 @@
import { Box3 } from "three";
import { Circle } from "../../DatabaseServices/Entity/Circle";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Point } from "../Common/Point";
import { IOffset } from "./Simplify2";
/**
* 运用此代码将曲线转换为点,并且精简它.
* @class CurveWrap
*/
export declare class CurveWrap {
Curve: Polyline | Circle;
KnifRadius: number;
IsOutside: boolean;
BoundingBox: Box3;
Area: number;
SimplyPolyline: Polyline;
SimplyOffset: IOffset;
Used: boolean;
Holes: CurveWrap[];
Points: Point[];
_OrgCurve: Polyline | Circle;
constructor(Curve: Polyline | Circle, KnifRadius?: number, IsOutside?: boolean);
ContainsCurve(curve: CurveWrap): boolean;
GetOutsidePoints(): Point[];
GetInsidePoints(): Point[];
}
//# sourceMappingURL=CurveWrap.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CurveWrap.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Converter/CurveWrap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAElE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,OAAO,EAAE,OAAO,EAA0B,MAAM,aAAa,CAAC;AAG9D;;;GAGG;AACH,qBAAa,SAAS;IAeC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAAS,UAAU;IAAa,SAAS,EAAE,OAAO;IAb7F,WAAW,EAAE,IAAI,CAAC;IAElB,IAAI,EAAE,MAAM,CAAC;IAEb,cAAc,EAAE,QAAQ,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,UAAS;IACb,KAAK,EAAE,SAAS,EAAE,CAAM;IAExB,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhB,SAAS,EAAE,QAAQ,GAAG,MAAM,CAAC;gBAEV,KAAK,EAAE,QAAQ,GAAG,MAAM,EAAS,UAAU,SAAI,EAAS,SAAS,GAAE,OAAc;IAyBpG,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAOxC,gBAAgB,IAAI,KAAK,EAAE;IA+B3B,eAAe,IAAI,KAAK,EAAE;CA2B7B"}

11
types/Nest/Converter/Curves2Parts.d.ts vendored Normal file
View File

@@ -0,0 +1,11 @@
import { Circle } from "../../DatabaseServices/Entity/Circle";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Part } from "../Core/Part";
import { Path } from "../Core/Path";
/**
* 曲线集合转零件集合.
* 如果存在曲线嵌套,那么自动设置为网洞
* 零件会和曲线绑定,以便后续应用坐标系变换
*/
export declare function Curves2Parts(curves: (Polyline | Circle)[], binPath: Path, KnifRadius?: number): Part[];
//# sourceMappingURL=Curves2Parts.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Curves2Parts.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Converter/Curves2Parts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAElE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,SAAM,GAAG,IAAI,EAAE,CAiFnG"}

17
types/Nest/Converter/Curves2Points.d.ts vendored Normal file
View File

@@ -0,0 +1,17 @@
import { Circle } from "../../DatabaseServices/Entity/Circle";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Point } from "../Common/Point";
/** 内外接多边形 */
export declare function Circle2Points(circle: Circle, knifRadius: number, splitSize?: number, outside?: boolean): Point[];
/**
* 针对板件的曲线变点表做的特殊优化
*/
export declare function Curves2Points(cu: Circle | Polyline, outside: boolean, knifeRadius: number): [(Circle | Polyline), Point[]];
export declare function Polyline2Points(pl: Polyline, outside: boolean, knifeRadius: number): [Polyline, Point[]];
/**
* 移除小圆弧,使用尖角直连(有可能产生自交 概率不大)
* @param pl 请传入逆时针多段线(我们将直接修改这个多段线,如果你不想被修改 你应该拷贝一个)
* @param [radius=30]
*/
export declare function PolylineFilletMinArc(pl: Polyline, radius?: number): void;
//# sourceMappingURL=Curves2Points.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Curves2Points.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Converter/Curves2Points.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAE9D,OAAO,EAAoB,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAIpF,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,aAAa;AACb,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,SAAK,EAAE,OAAO,UAAQ,GAAG,KAAK,EAAE,CAiB1G;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAM1H;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAqDxG;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,SAAK,QA6B7D"}

View File

@@ -0,0 +1,4 @@
import { Point } from "../Common/Point";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
export declare function Path2Polyline(path: Point[]): Polyline;
//# sourceMappingURL=Path2Polyline.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Path2Polyline.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Converter/Path2Polyline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAGlE,wBAAgB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,CASrD"}

11
types/Nest/Converter/Simplify2.d.ts vendored Normal file
View File

@@ -0,0 +1,11 @@
interface P {
x: number;
y: number;
}
export interface IOffset {
negativeOffset: number;
positiveOffset: number;
}
export declare function SimplifyDouglasPeucker(points: P[], sqTolerance: number): [P[], IOffset];
export {};
//# sourceMappingURL=Simplify2.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Simplify2.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Converter/Simplify2.ts"],"names":[],"mappings":"AAEA,UAAU,CAAC;IAEP,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,OAAO;IAEpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CAC1B;AA0ED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAQvF"}

48
types/Nest/Core/Container.d.ts vendored Normal file
View File

@@ -0,0 +1,48 @@
import { Paths } from "js-angusj-clipper/web";
import { Box2 } from "../Common/Box2";
import { CompareVectorFn } from "../Common/ComparePoint";
import { NestFiler } from "../Common/Filer";
import { Point } from "../Common/Point";
import { Part } from "./Part";
import { Path } from "./Path";
import { PlaceType } from "./PlaceType";
/**
* 排料零件的容器,用来放置零件
* 它是一块大板
* 也可以是一个网洞
* 也可以是余料
*/
export declare class Container {
protected BinPath?: Path;
private _PlaceType;
ParentId: number;
ChildrenIndex: number;
ParentM: Point;
PlacedParts: Part[];
PlacedArea: number;
PlacedBox: Box2;
PlacedHull: Point[];
StatusKey: string;
IsPrePlace: boolean;
CompartePoint: CompareVectorFn;
constructor(BinPath?: Path, _PlaceType?: PlaceType, compare?: string);
get UseRatio(): number;
private _NotPuts;
private PrePut;
private Calc;
PutPart(p: Part, greedy?: boolean): boolean;
protected GetNFPs(part: Part, binNfp: Point[][]): Paths;
/**
* 将Part添加的Placed列表
* @param part 零件,已经计算了放置状态
* @param [calc=true] 是否计算当前的容器状态?
*/
private AppendPart;
/**
* 得到最左边的点
*/
protected GetFarLeftP(nfp: Point[][]): Point;
ReadFile(file: NestFiler, parts: Part[]): this;
WriteFile(file: NestFiler): void;
}
//# sourceMappingURL=Container.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Core/Container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,EAAgB,MAAM,uBAAuB,CAAC;AAGtE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAgB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,OAAO,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,IAAI,EAAqC,MAAM,QAAQ,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAaxC;;;;;GAKG;AACH,qBAAa,SAAS;IAiBN,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI;IAAE,OAAO,CAAC,UAAU;IAfxD,QAAQ,EAAE,MAAM,CAAM;IACtB,aAAa,EAAE,MAAM,CAAK;IAC1B,OAAO,EAAE,KAAK,CAAC;IAEf,WAAW,EAAE,IAAI,EAAE,CAAM;IAEzB,UAAU,SAAK;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,KAAK,EAAE,CAAC;IAEpB,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU,UAAS;IAEnB,aAAa,EAAE,eAAe,CAAC;gBACT,OAAO,CAAC,EAAE,IAAI,EAAU,UAAU,YAAgB,EAAE,OAAO,SAAO;IAQxF,IAAI,QAAQ,IAAI,MAAM,CAGrB;IAED,OAAO,CAAC,QAAQ,CAAqB;IAErC,OAAO,CAAC,MAAM;IAgHd,OAAO,CAAC,IAAI;IAkCZ,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,UAAQ,GAAG,OAAO;IAuCzC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK;IA0DvD;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA0BlB;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK;IAgB5C,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;IAuBvC,SAAS,CAAC,IAAI,EAAE,SAAS;CA4B5B"}

3
types/Nest/Core/DefaultBin.d.ts vendored Normal file
View File

@@ -0,0 +1,3 @@
import { Path } from "./Path";
export declare let DefaultBin: Path;
//# sourceMappingURL=DefaultBin.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"DefaultBin.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Core/DefaultBin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,eAAO,IAAI,UAAU,MAA+F,CAAC"}

6
types/Nest/Core/GNestConfig.d.ts vendored Normal file
View File

@@ -0,0 +1,6 @@
export declare const GNestConfig: {
RotateHole: boolean;
UsePartGroup: boolean;
UseOffsetSimplify: boolean;
};
//# sourceMappingURL=GNestConfig.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"GNestConfig.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Core/GNestConfig.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,WAAW;;;;CAIvB,CAAC"}

63
types/Nest/Core/Individual.d.ts vendored Normal file
View File

@@ -0,0 +1,63 @@
import { NestFiler } from "../Common/Filer";
import { Container } from "./Container";
import { Part } from "./Part";
import { Path } from "./Path";
import { PlaceType } from "./PlaceType";
/**
* 个体(表示某一次优化的结果,或者还没开始优化的状态)
* 个体是由一堆零件组成的,零件可以有不同的状态。
*
* 个体单独变异
* 可以是某个零件的旋转状态发生改变
* 可以是零件的顺序发生改变
*
* 个体交配(感觉暂时不需要)
* 个体和其他个体进行基因交换
*/
export declare class Individual {
Parts?: Part[];
mutationRate: number;
private bin?;
private OddmentsBins;
private ComparePointKeys;
constructor(Parts?: Part[], mutationRate?: number, bin?: Path, OddmentsBins?: Path[], ComparePointKeys?: string[]);
Fitness: number;
Containers: Container[];
HoleContainers: Container[];
OddmentsContainers: Container[];
/**
* 评估健康程度
*/
Evaluate(bestCount: number, greedy?: boolean, type?: PlaceType): void;
/**
* 在网洞利用时,保持纹路正确
*
* @param bestCount
* @param greedy
* @param type
*/
private EvaluateOfUseRotateHole;
/**
* 计算健康度
*/
protected EvalFitness(): void;
private AppendHoles;
private InitHoleContainers;
Clone(): Individual;
/**
* Point Mutate 点基因突变
* 突变
* 在变异率较高的情况下,会尝试相邻位置交换
* 在变异率较低的情况下,会只调换一次牌,并进行状态突变
*/
Mutate(): this;
private MutateParts;
/**
* 大基因突变
* 大洗牌+每个零件状态突变
*/
BigMutate(): void;
ReadFile(file: NestFiler): void;
WriteFile(f: NestFiler): void;
}
//# sourceMappingURL=Individual.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Individual.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Core/Individual.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;;;;;;GAUG;AACH,qBAAa,UAAU;IAEA,KAAK,CAAC,EAAE,IAAI,EAAE;IACtB,YAAY;IACnB,OAAO,CAAC,GAAG,CAAC;IACZ,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;gBAJT,KAAK,CAAC,EAAE,IAAI,EAAE,EACtB,YAAY,SAAM,EACjB,GAAG,CAAC,EAAE,IAAI,EACV,YAAY,GAAE,IAAI,EAAO,EACzB,gBAAgB,GAAE,MAAM,EAA4B;IAGhE,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,kBAAkB,EAAE,SAAS,EAAE,CAAC;IAChC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,UAAQ,EAAE,IAAI,CAAC,EAAE,SAAS;IAsE5D;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IA4E/B;;OAEG;IACH,SAAS,CAAC,WAAW;IAmBrB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,kBAAkB;IAoB1B,KAAK;IAOL;;;;;MAKE;IACF,MAAM;IAQN,OAAO,CAAC,WAAW;IA4CnB;;;OAGG;IACH,SAAS;IAgBT,QAAQ,CAAC,IAAI,EAAE,SAAS;IAsBxB,SAAS,CAAC,CAAC,EAAE,SAAS;CAiBzB"}

19
types/Nest/Core/NestCache.d.ts vendored Normal file
View File

@@ -0,0 +1,19 @@
import { Point } from "../Common/Point";
import { Path } from "./Path";
export declare class NestCache {
static CachePartPosCount: number;
static CacheNoSetCount: number;
static PositionCache: {
[key: string]: Point;
};
static NoPutCache: {
[key: string]: Set<number>;
};
private static CacheRect;
/**
* 用于创建原点在0点的矩形路径
*/
static CreatePath(x: number, y: number, knifRadius?: number): Path;
static Clear(): void;
}
//# sourceMappingURL=NestCache.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"NestCache.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Core/NestCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,SAAS;IAGlB,MAAM,CAAC,iBAAiB,SAAK;IAE7B,MAAM,CAAC,eAAe,SAAK;IAE3B,MAAM,CAAC,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;KAAE,CAAM;IACrD,MAAM,CAAC,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;KAAE,CAAM;IACxD,OAAO,CAAC,MAAM,CAAC,SAAS,CAA2B;IAEnD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,SAAM,GAAG,IAAI;IAc/D,MAAM,CAAC,KAAK;CAOf"}

19
types/Nest/Core/NestDatabase.d.ts vendored Normal file
View File

@@ -0,0 +1,19 @@
import { NestFiler } from "../Common/Filer";
import { Part } from "./Part";
import { Path } from "./Path";
export declare const DefaultComparePointKeys: string[];
/**
* 排料数据库,用这个类来序列化需要排料的数据
* 用于在Work间传输
*/
export declare class NestDatabase {
Bin: Path;
OddmentsBins: Path[];
Paths: Path[];
Parts: Part[];
ComparePointKeys: string[];
ReadFile(file: NestFiler): this;
WriteFile(file: NestFiler): this;
get File(): NestFiler;
}
//# sourceMappingURL=NestDatabase.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"NestDatabase.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Core/NestDatabase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,eAAO,MAAM,uBAAuB,UAAe,CAAC;AAEpD;;;GAGG;AACH,qBAAa,YAAY;IAErB,GAAG,EAAE,IAAI,CAAC;IACV,YAAY,EAAE,IAAI,EAAE,CAAC;IACrB,KAAK,EAAE,IAAI,EAAE,CAAC;IAEd,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,gBAAgB,EAAE,MAAM,EAAE,CAA2B;IAIrD,QAAQ,CAAC,IAAI,EAAE,SAAS;IAqCxB,SAAS,CAAC,IAAI,EAAE,SAAS;IAwBzB,IAAI,IAAI,cAKP;CACJ"}

35
types/Nest/Core/OptimizeMachine.d.ts vendored Normal file
View File

@@ -0,0 +1,35 @@
import { Individual } from "./Individual";
import { Part } from "./Part";
import { Path } from "./Path";
/**
* 优化器
* 配置优化器
* 放入零件
* 按下启动
* 按下暂停
* 清理机台
*/
export declare class OptimizeMachine {
Config: {
PopulationCount: number;
};
Bin: Path;
OddmentsBins: Path[];
Parts: Part[];
ComparePointKeys: string[];
private _IsSuspend;
protected _Individuals: Individual[];
constructor();
PutParts(parts: Part[]): void;
callBack: (i: Individual) => Promise<void>;
Start(): Promise<void>;
calcCount: number;
best: number;
bestP: Individual;
bestCount: number;
private Run;
Suspend(): void;
Continue(): void;
Clear(): void;
}
//# sourceMappingURL=OptimizeMachine.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"OptimizeMachine.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Core/OptimizeMachine.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;;;;;;GAOG;AACH,qBAAa,eAAe;IAGxB,MAAM,EAAE;QACJ,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;IAEF,GAAG,EAAE,IAAI,CAAC;IACV,YAAY,EAAE,IAAI,EAAE,CAAC;IAErB,KAAK,EAAE,IAAI,EAAE,CAAC;IAEd,gBAAgB,EAAE,MAAM,EAAE,CAA2B;IAKrD,OAAO,CAAC,UAAU,CAAS;IAE3B,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC;;IAQrC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;IActB,QAAQ,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGrC,KAAK;IAqBX,SAAS,SAAK;IACd,IAAI,SAAY;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,SAAK;YACA,GAAG;IA2EjB,OAAO;IAQP,QAAQ;IAMR,KAAK;CAGR"}

View File

@@ -0,0 +1,6 @@
declare const _default: {
new (scriptURL: string | URL, options?: WorkerOptions): Worker;
prototype: Worker;
} & (new () => Worker);
export default _default;
//# sourceMappingURL=OptimizeWorker.worker.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"OptimizeWorker.worker.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Core/OptimizeWorker.worker.ts"],"names":[],"mappings":";;;eA4BgD,MAAM;AAAtD,wBAAwD"}

13
types/Nest/Core/ParseOddments.d.ts vendored Normal file
View File

@@ -0,0 +1,13 @@
import { Container } from "./Container";
import { Path } from "./Path";
/**
* 分析排料结果的余料
* @param container 排料结果的容器
* @param binPath 容器的bin
* @param [knifeRadius=3.5] 刀半径(以便我们再次偏移)
* @param squarePath 使用一个正方形路径来简化余料轮廓
* @param canPutPaths 使用可以放置的路径列表来测试余料是否可用,如果可用,则保留
* @returns Path[] 轮廓的位置存储在OrigionMinPoint中
*/
export declare function ParseOddments(container: Container, binPath: Path, knifeRadius?: number, squarePath?: Path, canPutPaths?: Path[]): Path[];
//# sourceMappingURL=ParseOddments.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"ParseOddments.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Core/ParseOddments.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,IAAI,EAAgD,MAAM,QAAQ,CAAC;AAS5E;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,GAAE,MAAY,EAAE,UAAU,GAAE,IAAiB,EAAE,WAAW,GAAE,IAAI,EAAgB,GAAG,IAAI,EAAE,CAsLtK"}

65
types/Nest/Core/Part.d.ts vendored Normal file
View File

@@ -0,0 +1,65 @@
import { Box2 } from "../Common/Box2";
import { NestFiler } from "../Common/Filer";
import { Point } from "../Common/Point";
import { PartState } from "./PartState";
import { Path } from "./Path";
/**
* 零件类
* 零件类可以绑定数据,也存在位置和旋转状态的信息
*
* 初始化零件:
* 传入零件的轮廓,刀半径,包围容器(或者为空?)
* 初始化用于放置的轮廓。将轮廓首点移动到0点记录移动的点P。
*
* 零件放置位置:
* 表示零件轮廓首点的位置。
*
* 零件的旋转:
* 表示零件轮廓按照首点0旋转。
*
* 还原零件的放置状态:
* 同样将零件移动到0点
* 同样将零件旋转
* 同样将零件移动到指定的位置
* 零件可能处于容器中,变换到容器坐标系
*
*/
export declare class Part<T = any, Matrix = any> {
Id: number;
private _Holes;
_RotateHoles: PartState[][];
StateIndex: number;
RotatedStates: PartState[];
PlacePosition: Point;
HolePosition: Point;
UserData: T;
Parent: Part;
PlaceCS: Matrix;
PlaceIndex: number;
IsPrePlace: boolean;
GroupMap: {
[key: number]: Part[];
};
get State(): PartState;
get Holes(): PartState[];
Init(path: Path, bin: Path, rotateCount?: number, path_knife?: Path): this;
Init2(path: Path, bin: Path, rotations?: number[], path_knife?: Path): this;
ParseGroup(partOther: Part, bin: Path): Part[];
AppendHole(path: Path): void;
Mirror(doubleFace: boolean): void;
Clone(): Part<any, any>;
Mutate(): this;
ReadFile(file: NestFiler): void;
WriteFile(file: NestFiler): void;
}
export declare class PartGroup extends Part {
part1: Part;
part2: Part;
index1: number;
index2: number;
p: Point;
box: Box2;
constructor(part1: Part, part2: Part, index1: number, index2: number, p: Point, box: Box2, bin: Path);
Export(): Part[];
}
//# sourceMappingURL=Part.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Part.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Core/Part.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAMxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAK9B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG;IAEnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,MAAM,CAAmB;IACjC,YAAY,EAAE,SAAS,EAAE,EAAE,CAAM;IAEjC,UAAU,SAAK;IACf,aAAa,EAAE,SAAS,EAAE,CAAM;IAChC,aAAa,EAAE,KAAK,CAAC;IAErB,YAAY,EAAE,KAAK,CAAC;IAGpB,QAAQ,EAAE,CAAC,CAAC;IACZ,MAAM,EAAE,IAAI,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,UAAS;IAEnB,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,CAAC;KAAE,CAAM;IAC1C,IAAI,KAAK,IAAI,SAAS,CAGrB;IAED,IAAI,KAAK,IAAI,SAAS,EAAE,CAKvB;IAGD,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,SAAI,EAAE,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI;IAarE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,GAAE,MAAM,EAAO,EAAE,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI;IA6E/E,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,EAAE;IA6D9C,UAAU,CAAC,IAAI,EAAE,IAAI;IA4CrB,MAAM,CAAC,UAAU,EAAE,OAAO;IA8B1B,KAAK;IAcL,MAAM,IAAI,IAAI;IAOd,QAAQ,CAAC,IAAI,EAAE,SAAS;IA0CxB,SAAS,CAAC,IAAI,EAAE,SAAS;CA0B5B;AAGD,qBAAa,SAAU,SAAQ,IAAI;IAEZ,KAAK,EAAE,IAAI;IACnB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,CAAC,EAAE,KAAK;IACR,GAAG,EAAE,IAAI;gBALD,KAAK,EAAE,IAAI,EACnB,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,CAAC,EAAE,KAAK,EACR,GAAG,EAAE,IAAI,EAChB,GAAG,EAAE,IAAI;IAQb,MAAM,IAAI,IAAI,EAAE;CAiBnB"}

22
types/Nest/Core/PartState.d.ts vendored Normal file
View File

@@ -0,0 +1,22 @@
import { NestFiler } from "../Common/Filer";
import { Point } from "../Common/Point";
import { Path } from "./Path";
/**
* 用于存放零件旋转后的状态
* 记录了用于放置时的轮廓。该轮廓总是首点等于0便于放置时的计算。
*/
export declare class PartState {
Rotation: number;
OrigionMinPoint: Point;
MinPoint: Point;
Contour: Path;
KnifeContour: Path;
KnifeOffset: Point;
IsMirror: boolean;
MirrorOriginMinPoint: Point;
get OutContour(): Path;
Mirror(): PartState;
ReadFile(file: NestFiler): void;
WriteFile(file: NestFiler): void;
}
//# sourceMappingURL=PartState.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PartState.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Core/PartState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B;;;GAGG;AACH,qBAAa,SAAS;IAElB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,KAAK,CAAC;IAEvB,QAAQ,EAAE,KAAK,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IAGd,YAAY,EAAE,IAAI,CAAC;IACnB,WAAW,EAAE,KAAK,CAAC;IAEnB,QAAQ,EAAE,OAAO,CAAS;IAC1B,oBAAoB,EAAE,KAAK,CAAC;IAE5B,IAAI,UAAU,SAGb;IAED,MAAM,IAAI,SAAS;IAkBnB,QAAQ,CAAC,IAAI,EAAE,SAAS;IAiBxB,SAAS,CAAC,IAAI,EAAE,SAAS;CAY5B"}

56
types/Nest/Core/Path.d.ts vendored Normal file
View File

@@ -0,0 +1,56 @@
import { Box2 } from "../Common/Box2";
import { NestFiler } from "../Common/Filer";
import { Point } from "../Common/Point";
import { Vector2 } from "../Common/Vector2";
/**
* 轮廓路径类
* 可以求NFP和保存NFPCahce
* 因为NFP结果是按照最低点移动的,所以将点旋转后,按照盒子将点移动到0点.
*/
export declare class Path {
OrigionPoints?: Point[];
Id: number;
Points: Point[];
OutsideNFPCache: {
[key: number]: Point[][];
};
InsideNFPCache: {
[key: number]: Point[][];
};
constructor(OrigionPoints?: Point[], rotation?: number);
Origion: Path;
OrigionMinPoint: Vector2;
Rotation: number;
Size: Vector2;
private Init;
GetNFPs(path: Path, outside: boolean): (Point[])[];
GetOutsideNFP(path: Path): (Point[])[];
GetInsideNFP(path: Path): (Point[])[];
private _InPoint;
/**
* 用这个点来检测是否在Path内部
*/
private get InPoint();
protected _BigIntPoints: Point[];
get BigIntPoints(): Point[];
private _BigSize;
get BigSize(): Vector2;
protected _MirrorPoints: Point[];
get MirrorPoints(): Point[];
protected _BoundingBox: Box2;
get BoundingBox(): Box2;
protected _Area: number;
get Area(): number;
set Area(a: number);
private _IsRect;
get IsRect(): boolean;
ReadFile(file: NestFiler): void;
WriteFile(file: NestFiler): void;
}
/**
* 平移点表,返回新点表
*/
export declare function PathTranslate(pts: Point[], p: Point): Point[];
export declare function PathTranslate_Self(pts: Point[], mx: number, my: number): Point[];
export declare function PathScale(pts: Point[], scale: number): Point[];
//# sourceMappingURL=Path.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Core/Path.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C;;;;GAIG;AACH,qBAAa,IAAI;IAOM,aAAa,CAAC,EAAE,KAAK,EAAE;IAL1C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,eAAe,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE,CAAC;KAAE,CAAM;IACpD,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE,CAAC;KAAE,CAAM;gBAEhC,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,GAAE,MAAU;IAMhE,OAAO,EAAE,IAAI,CAAC;IAEd,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,IAAI;IAyCZ,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE;IA8ClD,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE;IA6BtC,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE;IA4CrC,OAAO,CAAC,QAAQ,CAAQ;IAExB;;OAEG;IACH,OAAO,KAAK,OAAO,GAalB;IAED,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;IACjC,IAAI,YAAY,YAWf;IAED,OAAO,CAAC,QAAQ,CAAU;IAC1B,IAAI,OAAO,YAKV;IAED,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;IACjC,IAAI,YAAY,YASf;IAED,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC;IAC7B,IAAI,WAAW,SAKd;IAED,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,IAAI,IAAI,IAMI,MAAM,CADjB;IACD,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,EAGjB;IAED,OAAO,CAAC,OAAO,CAAU;IACzB,IAAI,MAAM,YAQT;IAED,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAsB/B,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;CAuBnC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,CAM7D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,CAQhF;AAGD,wBAAgB,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,CAQ9D"}

26
types/Nest/Core/PathGenerator.d.ts vendored Normal file
View File

@@ -0,0 +1,26 @@
import { Path } from "./Path";
/**
* 轮廓路径构造器
* 传递一组简化后的点表过来如果已经有同样的点表时返回已经生产的Path避免重复产生Path。
* 使用相同的PATH有复用路径缓存。
*
* 每次进行优化时必须清理构造器保证Path生成是对本次优化唯一。
*/
declare class PathGenerator {
paths: Path[];
pathAreaMap: {
[key: string]: Path[];
};
cacheCount: number;
/**
* 如果存在同样的轮廓,则返回已经构造的轮廓,
* 如果没有,则返回自身,并且注册它。
* 如果id没有被注册,那么证明它无法放置在bin中
*/
Allocate(path: Path): Path;
RegisterId(path: Path): void;
Clear(): void;
}
export declare let PathGeneratorSingle: PathGenerator;
export {};
//# sourceMappingURL=PathGenerator.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PathGenerator.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Core/PathGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B;;;;;;GAMG;AACH,cAAM,aAAa;IAEf,KAAK,EAAE,IAAI,EAAE,CAAM;IACnB,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,CAAC;KAAE,CAAM;IAG7C,UAAU,SAAK;IACf;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAqB1B,UAAU,CAAC,IAAI,EAAE,IAAI;IASrB,KAAK;CAMR;AA0BD,eAAO,IAAI,mBAAmB,eAAoB,CAAC"}

6
types/Nest/Core/PlaceType.d.ts vendored Normal file
View File

@@ -0,0 +1,6 @@
export declare enum PlaceType {
Hull = 0,//凸包模式 (凸包面积)
Box = 1,//盒子模式 (长乘以宽)
Gravity = 2
}
//# sourceMappingURL=PlaceType.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PlaceType.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Core/PlaceType.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS;IAEjB,IAAI,IAAI,CAAC,aAAa;IACtB,GAAG,IAAI,CAAE,aAAa;IACtB,OAAO,IAAI;CACd"}

16
types/Nest/Test/PlaceUtil.d.ts vendored Normal file
View File

@@ -0,0 +1,16 @@
import { Matrix4, Vec2 } from "three";
import { Individual } from "../Core/Individual";
import { NestDatabase } from "../Core/NestDatabase";
import { Part } from "../Core/Part";
import { Path } from "../Core/Path";
/**
*
* @param part
* @param [move] 当刀间距为3.5 但是离板边只有3时,我们整体向板的左下方移动(0.5,0.5)
* @returns
*/
export declare function PlaceCS(part: Part, move?: Vec2): Matrix4;
export declare function DrawBin(count: number, binPath: Path): void;
export declare function Place(inv: Individual, parts: Part[], binPath: Path): void;
export declare function InitParts(binPath?: Path): Promise<NestDatabase>;
//# sourceMappingURL=PlaceUtil.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PlaceUtil.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Test/PlaceUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAW,MAAM,OAAO,CAAC;AAkB/C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAA2B,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,IAAI,EAAa,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAWpC;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAsBxD;AAaD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,QAenD;AAID,wBAAgB,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,QAiLlE;AAED,wBAAsB,SAAS,CAAC,OAAO,OAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAsI3E"}

5
types/Nest/Test/TestContainer.d.ts vendored Normal file
View File

@@ -0,0 +1,5 @@
import { Command } from "../../Editor/CommandMachine";
export declare class Command_TestContainer implements Command {
exec(): Promise<void>;
}
//# sourceMappingURL=TestContainer.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TestContainer.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Test/TestContainer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAUtD,qBACa,qBAAsB,YAAW,OAAO;IAE3C,IAAI;CA2Bb"}

15
types/Nest/Test/TestDrawYHData.d.ts vendored Normal file
View File

@@ -0,0 +1,15 @@
import { Command } from "../../Editor/CommandMachine";
/**
* 如果有优化结果,则调试最后一次的优化结果(并且不绘制新的曲线
* 如果没有优化结果则调试localStore保存的优化结果(绘制新的曲线)
*/
export declare class Command_TestDrawYHData implements Command {
exec(): Promise<void>;
}
/**
* 测试工具 使用数据还原优化结果
*/
export declare class Command_TestDrawYHData2 implements Command {
exec(): Promise<void>;
}
//# sourceMappingURL=TestDrawYHData.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TestDrawYHData.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Test/TestDrawYHData.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAYtD;;;GAGG;AACH,qBACa,sBAAuB,YAAW,OAAO;IAE5C,IAAI;CAmGb;AAED;;GAEG;AACH,qBACa,uBAAwB,YAAW,OAAO;IAE7C,IAAI;CAoCb"}

5
types/Nest/Test/TestNFP.d.ts vendored Normal file
View File

@@ -0,0 +1,5 @@
import { Command } from "../../Editor/CommandMachine";
export declare class Command_TestNFP implements Command {
exec(): Promise<void>;
}
//# sourceMappingURL=TestNFP.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TestNFP.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Test/TestNFP.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAUtD,qBAAa,eAAgB,YAAW,OAAO;IAErC,IAAI;CA2Fb"}

9
types/Nest/Test/TestPlace.d.ts vendored Normal file
View File

@@ -0,0 +1,9 @@
import { Circle } from "../../DatabaseServices/Entity/Circle";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Command } from "../../Editor/CommandMachine";
import { Path } from "../Core/Path";
export declare function Curve2Path(curve: Circle | Polyline, outside?: boolean): Path;
export declare class Command_TestPlace implements Command {
exec(): Promise<void>;
}
//# sourceMappingURL=TestPlace.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TestPlace.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Test/TestPlace.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAStD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,OAAO,UAAQ,GAAG,IAAI,CAa1E;AAED,qBAAa,iBAAkB,YAAW,OAAO;IAEvC,IAAI;CA4Eb"}

View File

@@ -0,0 +1,5 @@
import { Command } from "../../Editor/CommandMachine";
export declare class Command_TestParseOddments implements Command {
exec(): Promise<void>;
}
//# sourceMappingURL=TestPraseOddments.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TestPraseOddments.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Test/TestPraseOddments.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAWtD,qBACa,yBAA0B,YAAW,OAAO;IAE/C,IAAI;CA8Bb"}

8
types/Nest/Test/TestSaveYHData.d.ts vendored Normal file
View File

@@ -0,0 +1,8 @@
import { Command } from "../../Editor/CommandMachine";
/**
* 保存优化结果的数据
*/
export declare class Command_TestSaveYHData implements Command {
exec(): Promise<void>;
}
//# sourceMappingURL=TestSaveYHData.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TestSaveYHData.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Test/TestSaveYHData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD;;GAEG;AACH,qBAAa,sBAAuB,YAAW,OAAO;IAE5C,IAAI;CAKb"}

8
types/Nest/Test/TestSimply.d.ts vendored Normal file
View File

@@ -0,0 +1,8 @@
import { Command } from "../../Editor/CommandMachine";
export declare class Command_TestSimply implements Command {
exec(): Promise<void>;
}
export declare class Command_TestPolylin2Points implements Command {
exec(): Promise<void>;
}
//# sourceMappingURL=TestSimply.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TestSimply.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Test/TestSimply.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAStD,qBACa,kBAAmB,YAAW,OAAO;IAExC,IAAI;CAiCb;AAED,qBACa,0BAA2B,YAAW,OAAO;IAEhD,IAAI;CAwCb"}

View File

@@ -0,0 +1,5 @@
import { Command } from "../../Editor/CommandMachine";
export declare class Command_TestSimplyOddments implements Command {
exec(): Promise<void>;
}
//# sourceMappingURL=TestSimplyOddments.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TestSimplyOddments.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Test/TestSimplyOddments.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAiBtD,qBAAa,0BAA2B,YAAW,OAAO;IAEhD,IAAI;CAkDb"}

5
types/Nest/Test/TestSum.d.ts vendored Normal file
View File

@@ -0,0 +1,5 @@
import { Command } from "../../Editor/CommandMachine";
export declare class Command_TestSum implements Command {
exec(): Promise<void>;
}
//# sourceMappingURL=TestSum.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TestSum.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Test/TestSum.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAQtD,qBAAa,eAAgB,YAAW,OAAO;IAErC,IAAI;CAyDb"}

8
types/Nest/Test/TestVariant.d.ts vendored Normal file
View File

@@ -0,0 +1,8 @@
import { Individual } from "../Core/Individual";
import { Curve } from "../../DatabaseServices/Entity/Curve";
import { Matrix4 } from "three";
export declare let NestVariant: {
best?: Individual;
curveMap: Map<Curve, Matrix4>;
};
//# sourceMappingURL=TestVariant.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TestVariant.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Test/TestVariant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,eAAO,IAAI,WAAW,EAAE;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;CACP,CAAC"}

5
types/Nest/Test/TestYH2.d.ts vendored Normal file
View File

@@ -0,0 +1,5 @@
import { Command } from "../../Editor/CommandMachine";
export declare class Command_TestYH2 implements Command {
exec(): Promise<void>;
}
//# sourceMappingURL=TestYH2.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TestYH2.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Test/TestYH2.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAKtD,qBAAa,eAAgB,YAAW,OAAO;IAErC,IAAI;CA4Bb"}

5
types/Nest/Test/TestYHSingle.d.ts vendored Normal file
View File

@@ -0,0 +1,5 @@
import { Command } from "../../Editor/CommandMachine";
export declare class Command_TestYHSingle implements Command {
exec(): Promise<void>;
}
//# sourceMappingURL=TestYHSingle.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TestYHSingle.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Test/TestYHSingle.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAKtD,qBACa,oBAAqB,YAAW,OAAO;IAE1C,IAAI;CAsDb"}

14
types/Nest/Test/TestYHWorker.d.ts vendored Normal file
View File

@@ -0,0 +1,14 @@
import { Command } from "../../Editor/CommandMachine";
import { NestDatabase } from "../Core/NestDatabase";
export declare const CacheYHData: {
OriginalData: any;
PlaceData: any[];
DiscardPlaceData: any[];
};
export declare const CacheYHDatabase: {
Db: NestDatabase;
};
export declare class Command_TestYHWorker implements Command {
exec(): Promise<void>;
}
//# sourceMappingURL=TestYHWorker.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TestYHWorker.d.ts","sourceRoot":"","sources":["../../../../src/Nest/Test/TestYHWorker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAe,MAAM,6BAA6B,CAAC;AAKnE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKpD,eAAO,MAAM,WAAW;;;;CAAmE,CAAC;AAC5F,eAAO,MAAM,eAAe,EAAE;IAAE,EAAE,EAAE,YAAY,CAAC;CAAiB,CAAC;AAEnE,qBACa,oBAAqB,YAAW,OAAO;IAE1C,IAAI;CAoDb"}