开发更新
This commit is contained in:
27
types/Geometry/BSPGroupParse.d.ts
vendored
27
types/Geometry/BSPGroupParse.d.ts
vendored
@@ -1,27 +0,0 @@
|
||||
import { Poly3 } from "@jscad/modeling/src/geometries/types";
|
||||
import { Vector3 } from "three";
|
||||
import { Geom3Res } from "../Common/CSGIntersect";
|
||||
/**
|
||||
* 解决 THREEBSP(CSG) 产生的结果没有办法得到分裂的个数.
|
||||
* 本类分析了THREEBSP的组合情况.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* let topology = new BSPGroupParse(csg);
|
||||
* topology.parse();
|
||||
*/
|
||||
export declare class BSPGroupParse {
|
||||
fractionDigits: number;
|
||||
constructor(bsp?: Geom3Res, fractionDigits?: number);
|
||||
Add(poly: Poly3): void;
|
||||
/**
|
||||
* 返回组合点
|
||||
*/
|
||||
Parse(): Vector3[][];
|
||||
private map;
|
||||
private Get;
|
||||
private GetPts;
|
||||
private vecMap;
|
||||
private GenerateP;
|
||||
}
|
||||
//# sourceMappingURL=BSPGroupParse.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"BSPGroupParse.d.ts","sourceRoot":"","sources":["../../../src/Geometry/BSPGroupParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD;;;;;;;;GAQG;AACH,qBAAa,aAAa;IAEa,cAAc;gBAArC,GAAG,CAAC,EAAE,QAAQ,EAAS,cAAc,SAAI;IAMrD,GAAG,CAAC,IAAI,EAAE,KAAK;IAaf;;OAEG;IACH,KAAK,IAAI,OAAO,EAAE,EAAE;IAoBpB,OAAO,CAAC,GAAG,CAAkC;IAC7C,OAAO,CAAC,GAAG;IAUX,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,SAAS;CAMpB"}
|
12
types/Geometry/BoardUVGenerator.d.ts
vendored
12
types/Geometry/BoardUVGenerator.d.ts
vendored
@@ -1,12 +0,0 @@
|
||||
import { ExtrudeBufferGeometry, UVGenerator, Vector2 } from "three";
|
||||
declare class BoardUVGenerator implements UVGenerator {
|
||||
generateTopUV(geometry: ExtrudeBufferGeometry, vertices: number[], indexA: number, indexB: number, indexC: number): Vector2[];
|
||||
generateSideWallUV(geometry: ExtrudeBufferGeometry, vertices: number[], indexA: number, indexB: number, indexC: number, indexD: number): Vector2[];
|
||||
}
|
||||
declare class BoardUVGenerator2 extends BoardUVGenerator {
|
||||
generateTopUV(geometry: ExtrudeBufferGeometry, vertices: number[], indexA: number, indexB: number, indexC: number): Vector2[];
|
||||
}
|
||||
export declare let boardUVGenerator: BoardUVGenerator;
|
||||
export declare let boardUVGenerator2: BoardUVGenerator2;
|
||||
export {};
|
||||
//# sourceMappingURL=BoardUVGenerator.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"BoardUVGenerator.d.ts","sourceRoot":"","sources":["../../../src/Geometry/BoardUVGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEpE,cAAM,gBAAiB,YAAW,WAAW;IAEzC,aAAa,CAAC,QAAQ,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAejH,kBAAkB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAoCzI;AAED,cAAM,iBAAkB,SAAQ,gBAAgB;IAE5C,aAAa,CAAC,QAAQ,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAepH;AAED,eAAO,IAAI,gBAAgB,kBAAyB,CAAC;AACrD,eAAO,IAAI,iBAAiB,mBAA0B,CAAC"}
|
25
types/Geometry/Box.d.ts
vendored
25
types/Geometry/Box.d.ts
vendored
@@ -1,25 +0,0 @@
|
||||
import { Box3 } from 'three';
|
||||
/**
|
||||
* 盒子的切割类型
|
||||
*/
|
||||
export declare enum SplitType {
|
||||
X = 0,
|
||||
Y = 1,
|
||||
Z = 2
|
||||
}
|
||||
/**
|
||||
* 扩展Box3,添加切割方法,体积等
|
||||
*/
|
||||
export declare class Box3Ext extends Box3 {
|
||||
TempData: any;
|
||||
get Volume(): number;
|
||||
isSolid(minSize?: number): boolean;
|
||||
substract(b: Box3Ext, spaceType: SplitType): Box3Ext[];
|
||||
clampSpace(b2: Box3Ext, splitType: SplitType): this;
|
||||
intersectsBox(box: Box3, fuzz?: number): boolean;
|
||||
}
|
||||
export declare function IntersectsBox(box1: Box3, box2: Box3, fuzz?: number): boolean;
|
||||
/**盒子二维面是否相交 */
|
||||
export declare function IntersectBox2(box1: Box3, box2: Box3, fuzz?: number): boolean;
|
||||
export declare function BoxIsSolid(box: Box3, minSize?: number): boolean;
|
||||
//# sourceMappingURL=Box.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../../src/Geometry/Box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAW,MAAM,OAAO,CAAC;AAEtC;;GAEG;AACH,oBAAY,SAAS;IAEjB,CAAC,IAAI;IACL,CAAC,IAAI;IACL,CAAC,IAAI;CACR;AAED;;GAEG;AACH,qBAAa,OAAQ,SAAQ,IAAI;IAE7B,QAAQ,EAAE,GAAG,CAAC;IACd,IAAI,MAAM,WAIT;IAGD,OAAO,CAAC,OAAO,SAAI;IAInB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;IAiB1C,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;IAS5C,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,SAAO,GAAG,OAAO;CAIjD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,SAAO,GAAG,OAAO,CAK1E;AAED,eAAe;AACf,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,SAAO,WAIhE;AAGD,wBAAgB,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,SAAI,WAIhD"}
|
16
types/Geometry/BufferGeometryUtils.d.ts
vendored
16
types/Geometry/BufferGeometryUtils.d.ts
vendored
@@ -1,16 +0,0 @@
|
||||
import { BufferAttribute, BufferGeometry, ShapeGeometry, Vector3 } from "three";
|
||||
export declare namespace BufferGeometryUtils {
|
||||
function CreateFromPts(pts: Vector3[]): BufferGeometry;
|
||||
/**
|
||||
* 更新BufferGeometry的顶点
|
||||
* @param geo
|
||||
* @param pts
|
||||
* @param ignoreBoxError 忽略更新点后盒子错误的问题
|
||||
* @returns 当成功时返回true,更新失败时返回false
|
||||
*/
|
||||
function UpdatePts(geo: BufferGeometry, pts: Vector3[], ignoreBoxError?: boolean): boolean;
|
||||
function ArrowGeometry(): ShapeGeometry;
|
||||
function MergeBufferGeometries(geometries: BufferGeometry[], useGroups?: boolean): BufferGeometry;
|
||||
function MergeBufferAttributes(attributes: BufferAttribute[]): BufferAttribute;
|
||||
}
|
||||
//# sourceMappingURL=BufferGeometryUtils.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"BufferGeometryUtils.d.ts","sourceRoot":"","sources":["../../../src/Geometry/BufferGeometryUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAS,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGvF,yBAAiB,mBAAmB,CACpC;IACI,SAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,cAAc,CAG5D;IAED;;;;;;OAMG;IACH,SAAgB,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,UAAQ,GAAG,OAAO,CAgB9F;IAGD,SAAgB,aAAa,kBAa5B;IAED,SAAgB,qBAAqB,CAAC,UAAU,EAAE,cAAc,EAAE,EAAE,SAAS,GAAE,OAAe,GAAG,cAAc,CAyK9G;IAED,SAAgB,qBAAqB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,eAAe,CAuCpF;CAEJ"}
|
@@ -1,11 +0,0 @@
|
||||
import { Task } from "../../Common/ThreadPool/Task";
|
||||
export type CSGTask = Pick<Task, "key" | "data" | "then">;
|
||||
type CSGSubtractFunction = (task: CSGTask) => void;
|
||||
export declare const _CSGSubtractInjectInteractionFunctions: CSGSubtractFunction[];
|
||||
export declare function AddCSGSubtractTask(task: CSGTask): void;
|
||||
export type TaskKey = Pick<Task, "key">;
|
||||
type TerminateCSGTaskFunction = (task: TaskKey) => void;
|
||||
export declare const _TerminateTaskInjectInteractionFunctions: TerminateCSGTaskFunction[];
|
||||
export declare function TerminateCSGTask(task: TaskKey): void;
|
||||
export {};
|
||||
//# sourceMappingURL=CSGSubtractTaskManager.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"CSGSubtractTaskManager.d.ts","sourceRoot":"","sources":["../../../../src/Geometry/CSGSubtract/CSGSubtractTaskManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEpD,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAE1D,KAAK,mBAAmB,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AACnD,eAAO,MAAM,sCAAsC,EAAE,mBAAmB,EAAO,CAAC;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,QAI/C;AAED,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACxC,KAAK,wBAAwB,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AACxD,eAAO,MAAM,wCAAwC,EAAE,wBAAwB,EAAO,CAAC;AACvF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,QAI7C"}
|
19
types/Geometry/CheckIntersect.d.ts
vendored
19
types/Geometry/CheckIntersect.d.ts
vendored
@@ -1,19 +0,0 @@
|
||||
import { Box2 } from "three";
|
||||
export interface Vec2 {
|
||||
x: number;
|
||||
y: number;
|
||||
}
|
||||
/**
|
||||
* 盒子相交测试,快速判断盒子和直线或者圆是否有相交
|
||||
*/
|
||||
export declare class BoxCheckIntersect {
|
||||
p1: Vec2;
|
||||
p2: Vec2;
|
||||
p3: Vec2;
|
||||
p4: Vec2;
|
||||
box: Box2;
|
||||
constructor(box: Box2);
|
||||
IsIntersectLine(p1: Vec2, p2: Vec2): boolean;
|
||||
IsIntersectCircle(cen: Vec2, radius: number): boolean;
|
||||
}
|
||||
//# sourceMappingURL=CheckIntersect.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"CheckIntersect.d.ts","sourceRoot":"","sources":["../../../src/Geometry/CheckIntersect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAsB,MAAM,OAAO,CAAC;AAWjD,MAAM,WAAW,IAAI;IAEjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb;AAwBD;;GAEG;AACH,qBAAa,iBAAiB;IAE1B,EAAE,EAAE,IAAI,CAAC;IACT,EAAE,EAAE,IAAI,CAAC;IACT,EAAE,EAAE,IAAI,CAAC;IACT,EAAE,EAAE,IAAI,CAAC;IACT,GAAG,EAAE,IAAI,CAAC;gBACE,GAAG,EAAE,IAAI;IAWrB,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO;IAyB5C,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;CAMxD"}
|
12
types/Geometry/ConverToPolylineAndSplitArc.d.ts
vendored
12
types/Geometry/ConverToPolylineAndSplitArc.d.ts
vendored
@@ -1,12 +0,0 @@
|
||||
import { Circle } from "../DatabaseServices/Entity/Circle";
|
||||
import { Polyline } from "../DatabaseServices/Entity/Polyline";
|
||||
import { IContourData } from "../Production/Convert2PtsBul";
|
||||
/**
|
||||
* 转换成多段线点表,并且将圆弧打断(大于1/4的话) API仅用于开料生产
|
||||
* @param cu 多段线或者圆弧
|
||||
* @param [isOutline=true] 如果为外部轮廓,则将其转换为逆时针
|
||||
* @param [isSplite=true] 如果为true,则对大圆弧进行切割
|
||||
* @returns 点表+凸度表
|
||||
*/
|
||||
export declare function ConverToPolylineAndSplitArc(cu: Polyline | Circle, isOutline?: boolean, isSplite?: boolean): IContourData;
|
||||
//# sourceMappingURL=ConverToPolylineAndSplitArc.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"ConverToPolylineAndSplitArc.d.ts","sourceRoot":"","sources":["../../../src/Geometry/ConverToPolylineAndSplitArc.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,EAAE,SAAS,UAAO,EAAE,QAAQ,UAAO,GAAG,YAAY,CA8BlH"}
|
18
types/Geometry/CoordinateSystem.d.ts
vendored
18
types/Geometry/CoordinateSystem.d.ts
vendored
@@ -1,18 +0,0 @@
|
||||
import { Matrix4, Vector3 } from 'three';
|
||||
/**
|
||||
* 坐标系运算.
|
||||
*/
|
||||
export declare class CoordinateSystem {
|
||||
Postion: Vector3;
|
||||
XAxis: Vector3;
|
||||
YAxis: Vector3;
|
||||
ZAxis: Vector3;
|
||||
constructor(postion?: Vector3, xAxis?: Vector3, yAxis?: Vector3, zAxis?: Vector3);
|
||||
applyMatrix4(mat4: Matrix4): this;
|
||||
getMatrix4(m?: Matrix4): Matrix4;
|
||||
CopyForm(mat4: Matrix4): this;
|
||||
extractBasis(xAxisA: Vector3, yAxisA: Vector3, zAxisA: Vector3): void;
|
||||
copy(cs: CoordinateSystem): CoordinateSystem;
|
||||
clone(): CoordinateSystem;
|
||||
}
|
||||
//# sourceMappingURL=CoordinateSystem.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"CoordinateSystem.d.ts","sourceRoot":"","sources":["../../../src/Geometry/CoordinateSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEzC;;GAEG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;gBAEH,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO;IAQhF,YAAY,CAAC,IAAI,EAAE,OAAO;IAU1B,UAAU,CAAC,CAAC,UAAc,GAAG,OAAO;IAMpC,QAAQ,CAAC,IAAI,EAAE,OAAO;IAOtB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IAM9D,IAAI,CAAC,EAAE,EAAE,gBAAgB,GAAG,gBAAgB;IAQ5C,KAAK;CASR"}
|
14
types/Geometry/Count.d.ts
vendored
14
types/Geometry/Count.d.ts
vendored
@@ -1,14 +0,0 @@
|
||||
/**
|
||||
* 一个简单的计数器实现,本质是使用一个Map来保存元素的个数
|
||||
*
|
||||
* 例:
|
||||
* let count = new Count();
|
||||
* count.AddCount("Test", 1);
|
||||
* count.GetCount("Test");//现在 Test 的个数为1
|
||||
*/
|
||||
export declare class Count {
|
||||
private m_CountMap;
|
||||
GetCount(obj: any): number;
|
||||
AddCount(obj: any, add: number): void;
|
||||
}
|
||||
//# sourceMappingURL=Count.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"Count.d.ts","sourceRoot":"","sources":["../../../src/Geometry/Count.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AACH,qBAAa,KAAK;IAEd,OAAO,CAAC,UAAU,CAA8B;IAChD,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;IAU1B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM;CAIjC"}
|
8
types/Geometry/CreateContour2.d.ts
vendored
8
types/Geometry/CreateContour2.d.ts
vendored
@@ -1,8 +0,0 @@
|
||||
import { Contour } from "../DatabaseServices/Contour";
|
||||
import { Curve } from "../DatabaseServices/Entity/Curve";
|
||||
/**
|
||||
* 某些时候我们不能创建轮廓,此时我们使用类似c2r的方法来构建一个外部轮廓.
|
||||
*/
|
||||
export declare function CreateContours(curves: Curve[], fuzz?: number): Contour[];
|
||||
export declare function CreateContour2(curves: Curve[], fuzz?: number): Contour | undefined;
|
||||
//# sourceMappingURL=CreateContour2.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"CreateContour2.d.ts","sourceRoot":"","sources":["../../../src/Geometry/CreateContour2.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAQzD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,SAAO,GAAG,OAAO,EAAE,CAgHtE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,SAAO,GAAG,OAAO,GAAG,SAAS,CAGhF"}
|
5
types/Geometry/CreatePolylinePath.d.ts
vendored
5
types/Geometry/CreatePolylinePath.d.ts
vendored
@@ -1,5 +0,0 @@
|
||||
import { Vector2 } from 'three';
|
||||
import { Shape2 } from '../DatabaseServices/Shape2';
|
||||
export declare function CreatePolylinePath(pts: Vector2[], buls: number[]): Shape2;
|
||||
export declare function CreateShapeFromPoints(): void;
|
||||
//# sourceMappingURL=CreatePolylinePath.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"CreatePolylinePath.d.ts","sourceRoot":"","sources":["../../../src/Geometry/CreatePolylinePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAgCpD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CA0BzE;AAED,wBAAgB,qBAAqB,SAGpC"}
|
11
types/Geometry/CreateWireframe.d.ts
vendored
11
types/Geometry/CreateWireframe.d.ts
vendored
@@ -1,11 +0,0 @@
|
||||
import { BufferGeometry, Line, LineBasicMaterial, Matrix4, Object3D } from "three";
|
||||
import { ExtrudeHole } from "../DatabaseServices/3DSolid/ExtrudeHole";
|
||||
import { Board } from "../DatabaseServices/Entity/Board";
|
||||
import { ExtrudeSolid } from "../DatabaseServices/Entity/Extrude";
|
||||
import { Shape2 } from "../DatabaseServices/Shape2";
|
||||
export declare function CreateWireframe(en3D: Board | ExtrudeSolid): Object3D[];
|
||||
export declare function FastWireframe(br: ExtrudeSolid, color?: number, divCount?: number, optArc?: boolean): Line<BufferGeometry, LineBasicMaterial>[];
|
||||
export declare function FastExtrudeEdgeGeometryOfShape(shape: Shape2, z0: number, z1: number, divCount?: number, optArc?: boolean, coords?: number[]): number[];
|
||||
export declare function FastExtrudeEdgeGeometry(ext: ExtrudeSolid, color?: number, divCount?: number, optArc?: boolean, coords?: number[], inv?: Matrix4): number[];
|
||||
export declare function FastWireframe2(dr: ExtrudeHole, color?: number): Line<BufferGeometry, LineBasicMaterial>[];
|
||||
//# sourceMappingURL=CreateWireframe.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"CreateWireframe.d.ts","sourceRoot":"","sources":["../../../src/Geometry/CreateWireframe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAoC,IAAI,EAAE,iBAAiB,EAAgB,OAAO,EAAE,QAAQ,EAAW,MAAM,OAAO,CAAC;AAI5I,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAEtE,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAIpD,wBAAgB,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,YAAY,cAsEzD;AAaD,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,SAAI,EAAE,QAAQ,SAAI,EAAE,MAAM,UAAO,GAAG,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,EAAE,CAkDjI;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,SAAI,EAAE,MAAM,UAAO,EAAE,MAAM,GAAE,MAAM,EAAO,YAqBvI;AAID,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,SAAI,EAAE,QAAQ,SAAI,EAAE,MAAM,UAAO,EAAE,MAAM,GAAE,MAAM,EAAO,EAAE,GAAG,GAAE,OAAmB,YAmDjJ;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,SAAI,6CAoCxD"}
|
33
types/Geometry/CurveIntersection.d.ts
vendored
33
types/Geometry/CurveIntersection.d.ts
vendored
@@ -1,33 +0,0 @@
|
||||
import { Box3, Vector3 } from "three";
|
||||
import { Curve } from "../DatabaseServices/Entity/Curve";
|
||||
import { IntersectOption } from "../GraphicsSystem/IntersectWith";
|
||||
/**
|
||||
* 简化优化版本的曲线求交, 优化版本可以参考(算法导论33.2 确定任意一对线段是否相交 p599)
|
||||
*/
|
||||
export declare class CurveIntersection {
|
||||
protected fuzz: number;
|
||||
protected boxMap: Map<Curve, Box3>;
|
||||
/**
|
||||
* 交点数据集,key 为曲线 value 为和它相交的(曲线和交点的Map)
|
||||
*/
|
||||
intersect: Map<Curve, Map<Curve, Vector3[]>>;
|
||||
intersect2: Map<Curve, [number, Vector3][]>;
|
||||
intersect3: [Curve, Curve, Vector3[]][];
|
||||
/**
|
||||
* @param {Curve[]} cus 请注意数组的顺序会被更改,如果你在意数组的顺序,请拷贝数组后传进来
|
||||
* @memberof CurveIntersection
|
||||
*/
|
||||
constructor(cus: Curve[], parseIntersectionParam?: boolean, intType?: IntersectOption, fuzz?: number, parseRecord?: boolean);
|
||||
protected IntersectWith2(c1: Curve, c2: Curve, intType: IntersectOption): import("../GraphicsSystem/IntersectWith").IntersectResult[];
|
||||
protected AppendIntersectionParams(curve: Curve, params: [number, Vector3][]): void;
|
||||
protected GenBox(cus: Curve[]): void;
|
||||
protected SortCurve(cus: Curve[]): void;
|
||||
GetIntersect(cu: Curve): Map<Curve, Vector3[]>;
|
||||
}
|
||||
export declare class CurveIntersection2 extends CurveIntersection {
|
||||
/**
|
||||
* Curve2Polyline使用这个时,为了避免多余的交点导致曲线切割过度,过滤掉无关的点
|
||||
*/
|
||||
protected IntersectWith2(c1: Curve, c2: Curve, intType: IntersectOption): import("../GraphicsSystem/IntersectWith").IntersectResult[];
|
||||
}
|
||||
//# sourceMappingURL=CurveIntersection.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"CurveIntersection.d.ts","sourceRoot":"","sources":["../../../src/Geometry/CurveIntersection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE;;GAEG;AACH,qBAAa,iBAAiB;IAkBsE,SAAS,CAAC,IAAI;IAf9G,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAa;IAE/C;;OAEG;IACH,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAa;IAEzD,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAa;IAExD,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAM;IAE7C;;;OAGG;gBACS,GAAG,EAAE,KAAK,EAAE,EAAE,sBAAsB,UAAQ,EAAE,OAAO,kBAA6B,EAAY,IAAI,SAAO,EAAE,WAAW,UAAQ;IA6C1I,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe;IAKvE,SAAS,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAW5E,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE;IAM7B,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE;IAQhC,YAAY,CAAC,EAAE,EAAE,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;CASjD;AAED,qBAAa,kBAAmB,SAAQ,iBAAiB;IAErD;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe;CAW1E"}
|
51
types/Geometry/CurveMap.d.ts
vendored
51
types/Geometry/CurveMap.d.ts
vendored
@@ -1,51 +0,0 @@
|
||||
import { Vector3 } from "three";
|
||||
import { Curve } from "../DatabaseServices/Entity/Curve";
|
||||
export interface Vertice {
|
||||
position: Vector3;
|
||||
routes: Route[];
|
||||
}
|
||||
export interface Route {
|
||||
curve: Curve;
|
||||
from: Vertice;
|
||||
to: Vertice;
|
||||
length: number;
|
||||
isReverse: boolean;
|
||||
an?: number;
|
||||
s: Vector3;
|
||||
e: Vector3;
|
||||
}
|
||||
/**
|
||||
* 曲线连接图
|
||||
* 所有的顶点和边的关系
|
||||
*/
|
||||
export declare class CurveMap {
|
||||
numdimensions: number;
|
||||
_RemoveSortLine: boolean;
|
||||
private multiplier;
|
||||
constructor(numdimensions?: number, _RemoveSortLine?: boolean, multiplier?: number);
|
||||
_VerticeMap: Map<Vector3, Vertice>;
|
||||
_Vertices: Vertice[];
|
||||
/**
|
||||
* 得到节点图的所有站点列表
|
||||
*/
|
||||
get Stands(): Vertice[];
|
||||
/**
|
||||
* @param curve
|
||||
* @param [isArc=curve instanceof Arc]
|
||||
* @param [removeDuplicate=false]
|
||||
* @returns 加入成功?
|
||||
*/
|
||||
AddCurveToMap(curve: Curve, isArc?: boolean, removeDuplicate?: boolean, parseAngle?: boolean): boolean;
|
||||
/**
|
||||
* 获得唯一的顶点
|
||||
*/
|
||||
GetOnlyVertice(p: Vector3): Vertice;
|
||||
_LookupTable: {
|
||||
[key: string]: Vector3;
|
||||
};
|
||||
/**
|
||||
* 生成一个唯一的向量.
|
||||
*/
|
||||
GenerateP(p: Vector3): Vector3;
|
||||
}
|
||||
//# sourceMappingURL=CurveMap.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"CurveMap.d.ts","sourceRoot":"","sources":["../../../src/Geometry/CurveMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAIzD,MAAM,WAAW,OAAO;IAGpB,QAAQ,EAAE,OAAO,CAAC;IAElB,MAAM,EAAE,KAAK,EAAE,CAAC;CACnB;AAGD,MAAM,WAAW,KAAK;IAElB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,CAAC,EAAE,OAAO,CAAC;IACX,CAAC,EAAE,OAAO,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,QAAQ;IAGN,aAAa;IACb,eAAe;IACtB,OAAO,CAAC,UAAU;gBAFX,aAAa,SAAI,EACjB,eAAe,UAAQ,EACtB,UAAU,SAAsB;IAQ5C,WAAW,wBAA+B;IAE1C,SAAS,EAAE,OAAO,EAAE,CAAM;IAE1B;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,EAAE,CAGtB;IAED;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAE,OAA8B,EAAE,eAAe,GAAE,OAAe,EAAE,UAAU,UAAQ,GAAG,OAAO;IA2CjI;;MAEE;IACF,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO;IAYnC,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAAE,CAAM;IAE/C;;OAEG;IACH,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO;CAmCjC"}
|
7
types/Geometry/DoIntersect.d.ts
vendored
7
types/Geometry/DoIntersect.d.ts
vendored
@@ -1,7 +0,0 @@
|
||||
import { Vec2 } from "./CheckIntersect";
|
||||
export declare function orientation(p: Vec2, q: Vec2, r: Vec2): number;
|
||||
/**
|
||||
* 判断线段`p1q1`和线段`p2q2`是否相交.
|
||||
*/
|
||||
export declare function doIntersect(p1: Vec2, q1: Vec2, p2: Vec2, q2: Vec2): boolean;
|
||||
//# sourceMappingURL=DoIntersect.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"DoIntersect.d.ts","sourceRoot":"","sources":["../../../src/Geometry/DoIntersect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAoBxC,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,CAS7D;AACD;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAyB3E"}
|
22
types/Geometry/DrillParse/BoardGetFace.d.ts
vendored
22
types/Geometry/DrillParse/BoardGetFace.d.ts
vendored
@@ -1,22 +0,0 @@
|
||||
import { Matrix4 } from "three";
|
||||
import { Board } from "../../DatabaseServices/Entity/Board";
|
||||
import { Curve } from "../../DatabaseServices/Entity/Curve";
|
||||
import { Face } from "./Face";
|
||||
export declare const CanDrawHoleFuzz = 0.1;
|
||||
export declare enum BoardFaceType {
|
||||
Side = 0,
|
||||
NoSide = 1
|
||||
}
|
||||
export declare class BoardGetFace {
|
||||
Board: Board;
|
||||
Faces: Face[];
|
||||
constructor(Board: Board);
|
||||
ParseFaces(): void;
|
||||
GetTopAndBottomFace(isEdgeFace?: boolean): void;
|
||||
GetSideFaces(): void;
|
||||
IntersectFace(br: BoardGetFace, bInsEqual?: boolean): Face[];
|
||||
static GetAllSidesFaces(br: Board, isMergeFace?: boolean): Face[];
|
||||
}
|
||||
export declare function MatrixIsCoplane2(matrixFrom: Matrix4, matrixTo: Matrix4, zFuzz: number): boolean;
|
||||
export declare function GetSideFaceMtx(cu: Curve, inverseZ?: boolean): Matrix4;
|
||||
//# sourceMappingURL=BoardGetFace.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"BoardGetFace.d.ts","sourceRoot":"","sources":["../../../../src/Geometry/DrillParse/BoardGetFace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAW,MAAM,OAAO,CAAC;AAKzC,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAG5D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,oBAAY,aAAa;IAErB,IAAI,IAAI;IACR,MAAM,IAAI;CACb;AACD,qBAAa,YAAY;IAGF,KAAK,EAAE,KAAK;IAD/B,KAAK,EAAE,IAAI,EAAE,CAAM;gBACA,KAAK,EAAE,KAAK;IAI/B,UAAU;IAOV,mBAAmB,CAAC,UAAU,UAAQ;IAqCtC,YAAY;IA0BZ,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,GAAE,OAAe,GAAG,IAAI,EAAE;IAqBnE,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,UAAQ;CAwBzD;AAGD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAe/F;AACD,wBAAgB,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAmBnE"}
|
36
types/Geometry/DrillParse/Face.d.ts
vendored
36
types/Geometry/DrillParse/Face.d.ts
vendored
@@ -1,36 +0,0 @@
|
||||
import { Box3, Matrix4, Vector3 } from "three";
|
||||
import { Board } from "../../DatabaseServices/Entity/Board";
|
||||
import { Region } from "../../DatabaseServices/Entity/Region";
|
||||
import { BoardFaceType } from "./BoardGetFace";
|
||||
export interface BoardFaceParams {
|
||||
type: BoardFaceType;
|
||||
length: number;
|
||||
width: number;
|
||||
localBoard: Board;
|
||||
matrix4: Matrix4;
|
||||
region?: Region;
|
||||
isRect?: boolean;
|
||||
drillType?: string;
|
||||
}
|
||||
export declare class Face {
|
||||
type: BoardFaceType;
|
||||
Length: number;
|
||||
Width: number;
|
||||
private _Region;
|
||||
LocalBoard: Board;
|
||||
InterBoard: Board;
|
||||
isEqualType: boolean;
|
||||
OCS: Matrix4;
|
||||
IsRect: boolean;
|
||||
DrillType: string;
|
||||
constructor(parameters?: BoardFaceParams);
|
||||
get Region(): Region;
|
||||
get OCSInv(): Matrix4;
|
||||
get Normal(): Vector3;
|
||||
Intersect(f: Face): Face[];
|
||||
IsIntersect(f: Face, fuzz?: number, currentCoverBoxes?: Box3[]): {
|
||||
isInt: boolean;
|
||||
coverBoxesList?: Box3[];
|
||||
};
|
||||
}
|
||||
//# sourceMappingURL=Face.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"Face.d.ts","sourceRoot":"","sources":["../../../../src/Geometry/DrillParse/Face.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAG/C,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAI9D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,eAAe;IAE5B,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,KAAK,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,qBAAa,IAAI;IAEb,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,OAAO,CAAS;IACxB,UAAU,EAAE,KAAK,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC;IAClB,WAAW,EAAE,OAAO,CAAS;IAC7B,GAAG,EAAE,OAAO,CAAiB;IAC7B,MAAM,EAAE,OAAO,CAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;gBACN,UAAU,CAAC,EAAE,eAAe;IAkBxC,IAAI,MAAM,WAKT;IACD,IAAI,MAAM,YAGT;IACD,IAAI,MAAM,YAGT;IACD,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE;IAsF1B,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAO,EAAE,iBAAiB,GAAE,IAAI,EAAO,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC;KAAE;CAwHlH"}
|
14
types/Geometry/EdgeGeometry.d.ts
vendored
14
types/Geometry/EdgeGeometry.d.ts
vendored
@@ -1,14 +0,0 @@
|
||||
import { BufferGeometry } from "three";
|
||||
import { Geom3Res, PolygonRes } from "../Common/CSGIntersect";
|
||||
export declare class EdgesGeometry extends BufferGeometry {
|
||||
/**
|
||||
* 在使用Extrude实体的时候,有可能导致面无限分裂,并且有可能造成丢线问题,使用FromCSG方法可解.
|
||||
*/
|
||||
FromGeometry(geometry: any, thresholdAngle?: number): this;
|
||||
/**
|
||||
* 解决原来算法性能低下并且结果不理想的问题
|
||||
*/
|
||||
FromCSG(csg: Geom3Res): this;
|
||||
PolygonsOutline(polygons: PolygonRes[], coords: number[]): void;
|
||||
}
|
||||
//# sourceMappingURL=EdgeGeometry.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"EdgeGeometry.d.ts","sourceRoot":"","sources":["../../../src/Geometry/EdgeGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAqE,MAAM,OAAO,CAAC;AAEhH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAS9D,qBAAa,aAAc,SAAQ,cAAc;IAE7C;;OAEG;IACH,YAAY,CAAC,QAAQ,KAAA,EAAE,cAAc,GAAE,MAAU;IA8GjD;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,QAAQ;IA8BrB,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;CAwF3D"}
|
@@ -1,177 +0,0 @@
|
||||
import { Box3, BufferGeometry, Vector3 } from "three";
|
||||
import { Contour } from "../../DatabaseServices/Contour";
|
||||
import { ExtrudeContourCurve, ExtrudeSolid } from "../../DatabaseServices/Entity/Extrude";
|
||||
import { Line } from "../../DatabaseServices/Entity/Line";
|
||||
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
|
||||
export declare enum DepthType {
|
||||
Front = 1,
|
||||
Back = 2,
|
||||
All = 3
|
||||
}
|
||||
export declare const ExtrudeBuildConfig: {
|
||||
bevel: boolean;
|
||||
};
|
||||
/**
|
||||
* 槽的几何数据,包括槽的墙面和槽的盖子
|
||||
*/
|
||||
export declare class Groove {
|
||||
depthType: DepthType;
|
||||
depth: number;
|
||||
allDepth: number;
|
||||
private box;
|
||||
contourWall: ExtudeWall;
|
||||
holeWalls: ExtudeWall[];
|
||||
private lid;
|
||||
constructor(contour: Contour, holes: Contour[], depthType: DepthType, depth: number, allDepth: number, box?: import("../Box").Box3Ext);
|
||||
/**
|
||||
* @param groove this - groove
|
||||
* @param [eachOther=true] 相互裁剪
|
||||
*/
|
||||
ClipTo(groove: Groove, eachOther?: boolean): void;
|
||||
private ClipLid;
|
||||
Draw(verticesArray: number[], uvArray: number[], edgeBuild: EdgeGeometryBuild, rotateUv: boolean): void;
|
||||
}
|
||||
declare enum DirectionType {
|
||||
Outer = 0,
|
||||
Inner = 1
|
||||
}
|
||||
export declare class ContourTreeNode {
|
||||
contour: Contour;
|
||||
children: ContourTreeNode[];
|
||||
parent: ContourTreeNode;
|
||||
box: Box3;
|
||||
area: number;
|
||||
constructor(contour: Contour, children?: ContourTreeNode[]);
|
||||
SetParent(node: ContourTreeNode): void;
|
||||
get Depth(): number;
|
||||
get IsHole(): boolean;
|
||||
Draw(verticesArray: number[], uvArray: number[], front: boolean, z: number, rotateUv: boolean, allDepth: number): void;
|
||||
static ParseContourTree(contourNodes: ContourTreeNode[]): void;
|
||||
}
|
||||
declare class EdgeGeometryBuild {
|
||||
allDepth: number;
|
||||
lineVerticesArray: number[];
|
||||
frontLines: Line[];
|
||||
backLines: Line[];
|
||||
constructor(allDepth: number);
|
||||
AddLidLine(p1: Vector3, p2: Vector3, depth: number): void;
|
||||
BuildLid(verticesArray: number[], uvArray: number[], rotateUv: boolean): void;
|
||||
}
|
||||
/**
|
||||
* 胶带
|
||||
*/
|
||||
export declare class Tape {
|
||||
start: number;
|
||||
end: number;
|
||||
bottom: number;
|
||||
top: number;
|
||||
constructor(start: number, end: number, bottom: number, top: number);
|
||||
get Curve(): Polyline;
|
||||
Clip(t: this): Tape[];
|
||||
Split(xlst: number[]): Tape[];
|
||||
}
|
||||
/**
|
||||
* 二维形状,内部用曲线胶带表示(用来计算盖子差集算法)
|
||||
*/
|
||||
export declare class CurveTapeShape {
|
||||
children: CurveTapeShape[];
|
||||
contour: CurveTape;
|
||||
holes: CurveTape[];
|
||||
constructor(contour: Contour, holes: Contour[]);
|
||||
CloneNew(): CurveTapeShape;
|
||||
/**
|
||||
* 删除包含,同向
|
||||
*/
|
||||
ClipTo(s: CurveTapeShape, append?: boolean): void;
|
||||
SplitTo(s: CurveTapeShape): void;
|
||||
/**
|
||||
* 只保留被包含部分
|
||||
*/
|
||||
private ReverseClipTo;
|
||||
ChildrenClip(): void;
|
||||
Draw(verticesArray: number[], uvArray: number[], front: boolean, z: number, rotateUv: boolean, allDepth: number): void;
|
||||
}
|
||||
/**
|
||||
* 曲线胶带(一维)
|
||||
*/
|
||||
declare class CurveTape {
|
||||
contour: Contour;
|
||||
wallType: DirectionType;
|
||||
tapes: Range[];
|
||||
splitParams: number[];
|
||||
constructor(contour: Contour, wallType: DirectionType);
|
||||
get Curves(): Polyline[];
|
||||
/**
|
||||
* 分析与另一个形状的包含关系
|
||||
*/
|
||||
Parse(s: CurveTapeShape): CurveParamRangeRelation;
|
||||
/**
|
||||
* 删除包含,同向面
|
||||
*/
|
||||
ClipTo(s: CurveTapeShape): this;
|
||||
/**
|
||||
* 保留被包含的部分
|
||||
*/
|
||||
ReverseClipTo(s: CurveTapeShape): this;
|
||||
}
|
||||
declare class ExtudeWall {
|
||||
curve: ExtrudeContourCurve;
|
||||
depthType: DepthType;
|
||||
depth: number;
|
||||
allDepth: number;
|
||||
wallType: DirectionType;
|
||||
private Tape;
|
||||
constructor(curve: ExtrudeContourCurve, depthType: DepthType, depth: number, allDepth: number, wallType: DirectionType);
|
||||
/**
|
||||
* 减去在另一个groove内的部分
|
||||
* @param groove this - groove
|
||||
* @param [clipSyntropy=false] 删除同向的面
|
||||
*/
|
||||
ClipTo(groove: Groove, clipSyntropy?: boolean): void;
|
||||
ClipReverse(wall: this): void;
|
||||
/**
|
||||
* 当起始参数大于终止参数时,裁剪的区域经过终点
|
||||
*
|
||||
* @param startParam 起始参数
|
||||
* @param endParam 终止参数
|
||||
* @param faceType 裁剪面朝向
|
||||
* @param depth 裁剪面的深度
|
||||
*/
|
||||
ClipFromParam(startParam: number, endParam: number, faceType: DepthType, depth: number): this;
|
||||
Draw(verticesArray: number[], uvArray: number[], edgeBuild: EdgeGeometryBuild): void;
|
||||
}
|
||||
/**
|
||||
* 曲线参数范围关系(包含,分离,同向共线,反向共线)
|
||||
* 用来表示某一曲线在另一个曲线内的关系
|
||||
*/
|
||||
interface CurveParamRangeRelation {
|
||||
outer: Range[];
|
||||
container: Range[];
|
||||
syntropy: Range[];
|
||||
reverse: Range[];
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param orgStart 被裁剪范围的起点(如果起点大于终点,那么表示 s->end + 0->e)
|
||||
* @param orgEnd
|
||||
* @param clipStart
|
||||
* @param clipEnd
|
||||
* @param end
|
||||
* @returns
|
||||
*/
|
||||
export declare function SubtractRange(orgStart: number, orgEnd: number, clipStart: number, clipEnd: number, end: number): Range[];
|
||||
export declare function SubtractRange2(r: Range, sr: Range, end: number): Range[];
|
||||
type Range = [number, number];
|
||||
export declare class ExtrudeGeometryBuilder {
|
||||
private br;
|
||||
verticesArray: number[];
|
||||
uvArray: number[];
|
||||
edgeAndLidBuilder: EdgeGeometryBuild;
|
||||
constructor(br: ExtrudeSolid, rotateUv?: boolean);
|
||||
protected GenerateMeshData(br: ExtrudeSolid, rotateUv: boolean): void;
|
||||
get MeshGeometry(): BufferGeometry;
|
||||
get EdgeGeometry(): BufferGeometry;
|
||||
protected ParseGrooves(): Groove[];
|
||||
}
|
||||
export {};
|
||||
//# sourceMappingURL=ExtrudeEdgeGeometry2.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"ExtrudeEdgeGeometry2.d.ts","sourceRoot":"","sources":["../../../../src/Geometry/ExtrudeMeshGeomBuilder/ExtrudeEdgeGeometry2.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,cAAc,EAA2E,OAAO,EAAE,MAAM,OAAO,CAAC;AAK/H,OAAO,EAAE,OAAO,EAAqB,MAAM,gCAAgC,CAAC;AAK5E,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAsB,MAAM,uCAAuC,CAAC;AAC9G,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAiB,MAAM,wCAAwC,CAAC;AAUjF,oBAAY,SAAS;IAEjB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,GAAG,IAAI;CACV;AAED,eAAO,MAAM,kBAAkB;;CAAmB,CAAC;AAEnD;;GAEG;AACH,qBAAa,MAAM;IAOJ,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IACvB,OAAO,CAAC,GAAG;IARf,WAAW,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,UAAU,EAAE,CAAM;IAC7B,OAAO,CAAC,GAAG,CAAiB;gBAChB,OAAO,EAAE,OAAO,EACxB,KAAK,EAAE,OAAO,EAAE,EACT,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EACf,GAAG,2BAAsB;IAUrC;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,UAAO;IA0BvC,OAAO,CAAC,OAAO;IAqBf,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,OAAO;CAWnG;AA4BD,aAAK,aAAa;IAEd,KAAK,IAAI;IACT,KAAK,IAAI;CACZ;AAGD,qBAAa,eAAe;IAML,OAAO,EAAE,OAAO;IAAS,QAAQ,EAAE,eAAe,EAAE;IAJvE,MAAM,EAAE,eAAe,CAAC;IAExB,GAAG,EAAE,IAAI,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;gBACM,OAAO,EAAE,OAAO,EAAS,QAAQ,GAAE,eAAe,EAAO;IAE5E,SAAS,CAAC,IAAI,EAAE,eAAe;IAQ/B,IAAI,KAAK,IAAI,MAAM,CAalB;IAED,IAAI,MAAM,IAAI,OAAO,CAGpB;IAED,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;IAmG/G,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,eAAe,EAAE,GAAG,IAAI;CAmCjE;AAED,cAAM,iBAAiB;IAMA,QAAQ,EAAE,MAAM;IAJnC,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAEjC,UAAU,EAAE,IAAI,EAAE,CAAM;IACxB,SAAS,EAAE,IAAI,EAAE,CAAM;gBACJ,QAAQ,EAAE,MAAM;IACnC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;IAkBlD,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO;CA4DzE;AAED;;GAEG;AACH,qBAAa,IAAI;IAGF,KAAK,EAAE,MAAM;IACb,GAAG,EAAE,MAAM;IAEX,MAAM,EAAE,MAAM;IACd,GAAG,EAAE,MAAM;gBAJX,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EAEX,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM;IAOtB,IAAI,KAAK,aAGR;IAED,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE;IAqBrB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE;CAoBhC;AAED;;GAEG;AACH,qBAAa,cAAc;IAEvB,QAAQ,EAAE,cAAc,EAAE,CAAM;IAChC,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,SAAS,EAAE,CAAC;gBACP,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAM9C,QAAQ;IAMR;;OAEG;IACH,MAAM,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,GAAE,OAAe;IAejD,OAAO,CAAC,CAAC,EAAE,cAAc;IAYzB;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB,YAAY;IAeZ,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;CAuClH;AAGD;;GAEG;AACH,cAAM,SAAS;IAIQ,OAAO,EAAE,OAAO;IAAS,QAAQ,EAAE,aAAa;IAFnE,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAM;gBACR,OAAO,EAAE,OAAO,EAAS,QAAQ,EAAE,aAAa;IAKnE,IAAI,MAAM,IAAI,QAAQ,EAAE,CA4CvB;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,EAAE,cAAc,GAAG,uBAAuB;IAwBjD;;OAEG;IACH,MAAM,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI;IAU/B;;OAEG;IACH,aAAa,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI;CAKzC;AAED,cAAM,UAAU;IAIO,KAAK,EAAE,mBAAmB;IAClC,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,aAAa;IALlC,OAAO,CAAC,IAAI,CAAS;gBACF,KAAK,EAAE,mBAAmB,EAClC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,aAAa;IAOlC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,UAAQ;IAwC3C,WAAW,CAAC,IAAI,EAAE,IAAI;IAOtB;;;;;;;OAOG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAmBtF,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,iBAAiB;CAkIhF;AAED;;;GAGG;AACH,UAAU,uBAAuB;IAE7B,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,OAAO,EAAE,KAAK,EAAE,CAAC;CACpB;AAoPD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,CAkCxH;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,CAGxE;AAED,KAAK,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAgC9B,qBAAa,sBAAsB;IAOnB,OAAO,CAAC,EAAE;IALtB,aAAa,EAAE,MAAM,EAAE,CAAM;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAM;IAEvB,iBAAiB,EAAE,iBAAiB,CAAC;gBAEjB,EAAE,EAAE,YAAY,EAAE,QAAQ,GAAE,OAAe;IAK/D,SAAS,CAAC,gBAAgB,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO;IA8B9D,IAAI,YAAY,IAAI,cAAc,CAOjC;IAED,IAAI,YAAY,IAAI,cAAc,CAKjC;IAED,SAAS,CAAC,YAAY;CA4GzB"}
|
@@ -1,19 +0,0 @@
|
||||
import { Vector3 } from "three";
|
||||
import { Arc } from "../../DatabaseServices/Entity/Arc";
|
||||
import { Circle } from "../../DatabaseServices/Entity/Circle";
|
||||
import { ExtrudeContourCurve } from "../../DatabaseServices/Entity/Extrude";
|
||||
export declare const ARC_DRAW_CONFIG: {
|
||||
ARC_SplitLength: number;
|
||||
ARC_RADIUS_MIN: number;
|
||||
Arc_MinSplitCount: number;
|
||||
ARC_MaxSplitCount: number;
|
||||
};
|
||||
export declare function GetArcDrawCount(arc: Arc | Circle | number): number;
|
||||
/**
|
||||
*
|
||||
* @param cu
|
||||
*/
|
||||
export declare function SplitCurveParams(cu: ExtrudeContourCurve): number[];
|
||||
export declare function SplitCurvePoints(cu: ExtrudeContourCurve): Vector3[];
|
||||
export declare function SplitArcParams(arc: Arc): number[];
|
||||
//# sourceMappingURL=SplitCurveParams.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"SplitCurveParams.d.ts","sourceRoot":"","sources":["../../../../src/Geometry/ExtrudeMeshGeomBuilder/SplitCurveParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,GAAG,EAAE,MAAM,mCAAmC,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAO5E,eAAO,MAAM,eAAe;;;;;CAK3B,CAAC;AAGF,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CASlE;AAGD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,mBAAmB,GAAG,MAAM,EAAE,CA2ClE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,mBAAmB,GAAG,OAAO,EAAE,CAgCnE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAmBjD"}
|
10
types/Geometry/FastOffset.d.ts
vendored
10
types/Geometry/FastOffset.d.ts
vendored
@@ -1,10 +0,0 @@
|
||||
import { Vector3 } from "three";
|
||||
/**
|
||||
* 快速的对点表进行偏移
|
||||
* @param contour
|
||||
* @param [offsetDist=1]
|
||||
* @param [ignoreSpike=true] 忽略尖角优化(如果不忽略,那么尖角将会变钝(有点奇怪))
|
||||
* @returns 偏移后的点表
|
||||
*/
|
||||
export declare function FastOffset(contour: Vector3[], offsetDist?: number, ignoreSpike?: boolean): Vector3[];
|
||||
//# sourceMappingURL=FastOffset.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"FastOffset.d.ts","sourceRoot":"","sources":["../../../src/Geometry/FastOffset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,OAAO,EAAE,MAAM,OAAO,CAAC;AAI/C;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,UAAU,SAAI,EAAE,WAAW,UAAO,GAAG,OAAO,EAAE,CAY5F"}
|
128
types/Geometry/GeUtils.d.ts
vendored
128
types/Geometry/GeUtils.d.ts
vendored
@@ -1,128 +0,0 @@
|
||||
import { Box3, BufferGeometry, Geometry, Line, Matrix4, Mesh, Object3D, Vector, Vector2, Vector3 } from 'three';
|
||||
import { Vec3 } from './IVec3';
|
||||
export declare const IdentityMtx4: Matrix4;
|
||||
export declare const ZeroVec: Vector3;
|
||||
export declare const XAxis: Vector3;
|
||||
export declare const XAxisN: Vector3;
|
||||
export declare const YAxis: Vector3;
|
||||
export declare const YAxisN: Vector3;
|
||||
export declare const ZAxis: Vector3;
|
||||
export declare const ZAxisN: Vector3;
|
||||
export declare function AsVector2(p: {
|
||||
x: number;
|
||||
y: number;
|
||||
}): Vector2;
|
||||
export declare function AsVector3(p: {
|
||||
x: number;
|
||||
y: number;
|
||||
z?: number;
|
||||
}): Vector3;
|
||||
/**
|
||||
* 判断一维线段a和b是否存在交集
|
||||
*/
|
||||
export declare function isIntersect(amin: number, amax: number, bmin: number, bmax: number, eps?: number): boolean;
|
||||
export declare function isIntersect2(a1: number, a2: number, b1: number, b2: number, eps?: number): boolean;
|
||||
/**
|
||||
* 旋转一个点,旋转中心在原点
|
||||
* @param {Vector3} p 点
|
||||
* @param {number} a 角度.
|
||||
* @returns {Vector3} 返回pt不拷贝.
|
||||
*/
|
||||
export declare function rotatePoint(p: Vector3, a: number): Vector3;
|
||||
export declare function equaln(v1: number, v2: number, fuzz?: number): boolean;
|
||||
export declare function equalnn(dis?: number): (v1: number, v2: number) => boolean;
|
||||
interface P2 {
|
||||
x: number;
|
||||
y: number;
|
||||
}
|
||||
export declare function equalv3(v1: Vec3, v2: Vec3, fuzz?: number): boolean;
|
||||
export declare function equalv2(v1: P2, v2: P2, fuzz?: number): boolean;
|
||||
/**
|
||||
* 按照极坐标的方式移动一个点
|
||||
* @param {T} v 向量(2d,3d)
|
||||
* @param {number} an 角度
|
||||
* @param {number} dis 距离
|
||||
* @returns {T}
|
||||
*/
|
||||
export declare function polar<T extends Vector2 | Vector3>(v: T, an: number, dis: number): T;
|
||||
export declare function angle(v: Vector3 | Vector2): number;
|
||||
/**
|
||||
* 求两个向量的夹角,顺时针为负,逆时针为正
|
||||
* @param {Vector3} v1
|
||||
* @param {Vector3} v2
|
||||
* @param {Vector3} [ref] 参考向量,如果为世界坐标系则为0,0,1
|
||||
*/
|
||||
export declare function angleTo(v1: Vector3, v2: Vector3, ref?: Vector3): number;
|
||||
export declare function getLoocAtUpVec(dir: Vector3): Vector3;
|
||||
export declare function createLookAtMat4(dir: Vector3): Matrix4;
|
||||
/**
|
||||
* 判断2个向量是不是平行,尽量传入单位向量,才能保证计算精度
|
||||
*/
|
||||
export declare function isParallelTo(v1: Vector3, v2: Vector3, fuzz?: number): boolean;
|
||||
/**
|
||||
* 垂直向量
|
||||
*/
|
||||
export declare function isPerpendicularityTo(v1: Vector3, v2: Vector3, fuzz?: number): boolean;
|
||||
export declare function ptToString(v: Vector3, fractionDigits?: number): string;
|
||||
export declare function midPoint(v1: Vector3, v2: Vector3): Vector3;
|
||||
export declare function midPoint2(v1: Vector2, v2: Vector2): Vector2;
|
||||
/**
|
||||
* 获得Three对象的包围盒.
|
||||
* @param obj
|
||||
* @param [updateMatrix] 是否应该更新对象矩阵
|
||||
* @returns box
|
||||
*/
|
||||
export declare function GetBox(obj: Object3D, updateMatrix?: boolean): Box3;
|
||||
export declare function GetBoxArr(arr: Array<Object3D>): Box3;
|
||||
export declare function MoveMatrix(v: Vector3): Matrix4;
|
||||
export declare function getPtPostion(sp: Vector3, ep: Vector3, c: Vector3, inPt: Vector3): {
|
||||
sp: Vector3;
|
||||
ep: Vector3;
|
||||
};
|
||||
export declare function angleAndX(v: Vector3 | Vector2): number;
|
||||
/**
|
||||
* 将角度调整为0-2pi之间
|
||||
*/
|
||||
export declare function clampRad(an: number): number;
|
||||
export declare function updateGeometry(l: Line | Mesh, geometry: Geometry | BufferGeometry): void;
|
||||
export declare function UpdateBoundingSphere(obj: Object3D): void;
|
||||
export type compareVectorFn = (v1: Vector, v2: Vector) => 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
|
||||
* @returns {compareVectorFn}
|
||||
*/
|
||||
export declare function ComparePointFnGenerate(sortKey: string, fuzz?: number): compareVectorFn;
|
||||
/**
|
||||
*计算各轴旋转角度
|
||||
*/
|
||||
export declare function GetEulerAngle(x: Vector3, y: Vector3, z: Vector3): {
|
||||
roX: number;
|
||||
roY: number;
|
||||
roZ: number;
|
||||
};
|
||||
/**
|
||||
* 方形框捕捉
|
||||
* @param sqCenter 正方形点
|
||||
* @param snapPt 被捕捉的点
|
||||
* @param size 捕捉框大小
|
||||
*/
|
||||
export declare function SnapPoint(sqCenter: Vector3, snapPt: Vector3, size: number): boolean;
|
||||
export declare function SelectNearP(pts: Vector3[], refPt: Vector3): Vector3;
|
||||
/**n是否在AB之间,fuzz 若为负的,允许相等 */
|
||||
export declare function IsBetweenA2B(n: number, A: number, B: number, fuzz?: number): boolean;
|
||||
/** 矩阵是世界坐标系 */
|
||||
export declare function MatrixIsIdentityCS(mtx: Matrix4): boolean;
|
||||
export {};
|
||||
//# sourceMappingURL=GeUtils.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"GeUtils.d.ts","sourceRoot":"","sources":["../../../src/Geometry/GeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,eAAO,MAAM,YAAY,SAAgB,CAAC;AAC1C,eAAO,MAAM,OAAO,SAAgB,CAAC;AACrC,eAAO,MAAM,KAAK,SAAuB,CAAC;AAC1C,eAAO,MAAM,MAAM,SAAwB,CAAC;AAC5C,eAAO,MAAM,KAAK,SAAuB,CAAC;AAC1C,eAAO,MAAM,MAAM,SAAwB,CAAC;AAC5C,eAAO,MAAM,KAAK,SAAuB,CAAC;AAC1C,eAAO,MAAM,MAAM,SAAwB,CAAC;AAG5C,wBAAgB,SAAS,CAAC,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;CAAE,WAGrD;AACD,wBAAgB,SAAS,CAAC,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;CAAE,WAGjE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAI,WAG1F;AAGD,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,SAAI,WAKnF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAW1D;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,SAAO,WAGzD;AAED,wBAAgB,OAAO,CAAC,GAAG,SAAI,QAGN,MAAM,MAAM,MAAM,aAI1C;AAED,UAAU,EAAE;IAER,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,SAAO,WAGtD;AACD,wBAAgB,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,SAAO,WAGlD;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAKnF;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAMlD;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,GAAE,OAAe,GAAG,MAAM,CAiC9E;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAwBpD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMtD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,SAAO,GAAG,OAAO,CAG3E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,SAAO,WAGzE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAE,MAAU,GAAG,MAAM,CAGzE;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAG1D;AACD,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAG3D;AAGD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,UAAQ,GAAG,IAAI,CAmBhE;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAUpD;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAG9C;AAGD,wBAAgB,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO;;;EAuB/E;AACD,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,UAG7C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,UAKlC;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,cAAc,QAMjF;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,QASjD;AAGD,MAAM,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;AAIjE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAO,GAAG,eAAe,CAmCpF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO;;;;EAU/D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAInF;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CASnE;AAED,6BAA6B;AAC7B,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,SAAQ,WAGzE;AAED,eAAe;AACf,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAGxD"}
|
6
types/Geometry/IVec3.d.ts
vendored
6
types/Geometry/IVec3.d.ts
vendored
@@ -1,6 +0,0 @@
|
||||
export interface Vec3 {
|
||||
x: number;
|
||||
y: number;
|
||||
z: number;
|
||||
}
|
||||
//# sourceMappingURL=IVec3.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"IVec3.d.ts","sourceRoot":"","sources":["../../../src/Geometry/IVec3.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,IAAI;IAEjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb"}
|
10
types/Geometry/Matrix2.d.ts
vendored
10
types/Geometry/Matrix2.d.ts
vendored
@@ -1,10 +0,0 @@
|
||||
import { Matrix4, Vector2, Vector3 } from "three";
|
||||
export declare class Matrix2 {
|
||||
el: number[];
|
||||
set(ix: number, iy: number, jx: number, jy: number): this;
|
||||
applyVector(vec: Vector2 | Vector3): this;
|
||||
fromMatrix4(mtx4: Matrix4): void;
|
||||
setRotate(theta: number): this;
|
||||
invert(): this;
|
||||
}
|
||||
//# sourceMappingURL=Matrix2.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"Matrix2.d.ts","sourceRoot":"","sources":["../../../src/Geometry/Matrix2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAElD,qBAAa,OAAO;IAGhB,EAAE,WAAgB;IAElB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAUlD,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAUlC,WAAW,CAAC,IAAI,EAAE,OAAO;IAOzB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS9B,MAAM,IAAI,IAAI;CAUjB"}
|
10
types/Geometry/OBB/obb.d.ts
vendored
10
types/Geometry/OBB/obb.d.ts
vendored
@@ -1,10 +0,0 @@
|
||||
import { Vector3, Matrix4 } from 'three';
|
||||
export declare class OBB {
|
||||
ocs: Matrix4;
|
||||
halfSizes: Vector3;
|
||||
_EPSILON: number;
|
||||
center: Vector3;
|
||||
constructor(ocs: Matrix4, halfSizes: Vector3);
|
||||
intersectsOBB(obb: OBB, is2D?: boolean, ucsInv?: Matrix4): boolean;
|
||||
}
|
||||
//# sourceMappingURL=obb.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"obb.d.ts","sourceRoot":"","sources":["../../../../src/Geometry/OBB/obb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAWzC,qBAAa,GAAG;IAMO,GAAG,EAAE,OAAO;IAAS,SAAS,EAAE,OAAO;IAJ1D,QAAQ,SAAQ;IAET,MAAM,EAAE,OAAO,CAAC;gBAEJ,GAAG,EAAE,OAAO,EAAS,SAAS,EAAE,OAAO;IAK1D,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;CAkOrE"}
|
28
types/Geometry/Orbit.d.ts
vendored
28
types/Geometry/Orbit.d.ts
vendored
@@ -1,28 +0,0 @@
|
||||
import { Vector3 } from "three";
|
||||
/**
|
||||
* 轨道控制的数学类,观察向量和角度的互相转换
|
||||
* 当x当抬头或者低头到90度时,触发万向锁.
|
||||
*/
|
||||
export declare class Orbit {
|
||||
private phi;
|
||||
theta: number;
|
||||
get RoX(): number;
|
||||
set RoX(v: number);
|
||||
/**
|
||||
* 使用旋转角度 计算观察向量
|
||||
* @param [outDirection] 引用传入,如果传入,那么就不构造新的向量
|
||||
* @returns 返回观察向量
|
||||
*/
|
||||
UpdateDirection(outDirection?: Vector3): Vector3;
|
||||
/**
|
||||
* 使用观察向量,计算旋转角度
|
||||
* @param dir 这个向量会被修改成单位向量.
|
||||
*/
|
||||
SetFromDirection(dir: Vector3): void;
|
||||
/**
|
||||
* 参考任意轴坐标系算法.
|
||||
* http://help.autodesk.com/view/ACD/2017/CHS/?guid=GUID-E19E5B42-0CC7-4EBA-B29F-5E1D595149EE
|
||||
*/
|
||||
static ComputUpDirection(n: Vector3, ay?: Vector3, ax?: Vector3): Vector3;
|
||||
}
|
||||
//# sourceMappingURL=Orbit.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"Orbit.d.ts","sourceRoot":"","sources":["../../../src/Geometry/Orbit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,OAAO,EAAE,MAAM,OAAO,CAAC;AAG3C;;;GAGG;AACH,qBAAa,KAAK;IAGd,OAAO,CAAC,GAAG,CAAa;IAGxB,KAAK,EAAE,MAAM,CAAK;IAElB,IAAI,GAAG,WAGN;IACD,IAAI,GAAG,CAAC,CAAC,QAAA,EAGR;IAED;;;;OAIG;IACH,eAAe,CAAC,YAAY,UAAgB,GAAG,OAAO;IAYtD;;;OAGG;IACH,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAapC;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,GAAE,OAAuB,EAAE,EAAE,GAAE,OAAuB,GAAG,OAAO;CAY1G"}
|
8
types/Geometry/Plane.d.ts
vendored
8
types/Geometry/Plane.d.ts
vendored
@@ -1,8 +0,0 @@
|
||||
import { Line3, Plane, Ray, Vector3 } from "three";
|
||||
export declare class PlaneExt extends Plane {
|
||||
constructor(normal?: Vector3, constant?: number | Vector3);
|
||||
parseConstantFromPoint(constant: Vector3): void;
|
||||
intersectLine(line: Line3, optionalTarget?: Vector3, extendLine?: boolean): Vector3;
|
||||
intersectRay(ray: Ray, optionalTarget?: Vector3, extendLine?: boolean): Vector3;
|
||||
}
|
||||
//# sourceMappingURL=Plane.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"Plane.d.ts","sourceRoot":"","sources":["../../../src/Geometry/Plane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEnD,qBAAa,QAAS,SAAQ,KAAK;gBAEnB,MAAM,UAAuB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IAStE,sBAAsB,CAAC,QAAQ,EAAE,OAAO;IAKxC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,UAAgB,EAAE,UAAU,UAAQ,GAAG,OAAO;IA4BvF,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO;CAMlF"}
|
18
types/Geometry/PointShapeUtils.d.ts
vendored
18
types/Geometry/PointShapeUtils.d.ts
vendored
@@ -1,18 +0,0 @@
|
||||
import { Vector3 } from "three";
|
||||
import { BoardOpenDir, LinesType } from "../DatabaseServices/Entity/BoardInterface";
|
||||
export declare class PointShapeUtils {
|
||||
static SquarePts(size: number): Vector3[];
|
||||
static OutsideLinePts(squareSize: number, lineLength: number): Vector3[];
|
||||
static CrossLinePts(lineLength: number): Vector3[];
|
||||
static CrossLine3DPts(lineLength: number): Vector3[][];
|
||||
static TrianglePts(size: number): Vector3[];
|
||||
static CirclePts(size: number): any[];
|
||||
static ObliqueCrossPts(size: number): Vector3[];
|
||||
static ObliqueCrossLinePts(size: number): Vector3[];
|
||||
static SandClockPts(size: number): Vector3[];
|
||||
static TangentPts(size: number): Vector3[];
|
||||
static PerPts(size: number): Vector3[];
|
||||
static LinesDirPts(len: number, width: number, lineType: LinesType): Vector3[];
|
||||
static LinesOpenDirPts(len: number, width: number, openDir: BoardOpenDir): Vector3[];
|
||||
}
|
||||
//# sourceMappingURL=PointShapeUtils.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"PointShapeUtils.d.ts","sourceRoot":"","sources":["../../../src/Geometry/PointShapeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAEpF,qBAAa,eAAe;IAGxB,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM;IAW7B,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAmB5D,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM;IAUtC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM;IAYxC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM;IAU/B,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM;IAS7B,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM;IAInC,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM;IAKvC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM;IAWhC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM;IAa9B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM;IAY1B,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS;IA2ClE,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;CAgC3E"}
|
44
types/Geometry/RegionParse.d.ts
vendored
44
types/Geometry/RegionParse.d.ts
vendored
@@ -1,44 +0,0 @@
|
||||
import { Curve } from "../DatabaseServices/Entity/Curve";
|
||||
import { Route, Vertice } from "./CurveMap";
|
||||
type RegionRouteS = (Route[])[];
|
||||
/**
|
||||
面域分析,基于最小循环图重新实现的版本,拓展了实现求最大轮廓。
|
||||
当最大轮廓=最小轮廓时,只绘制最大轮廓(独立轮廓无分裂)。
|
||||
|
||||
算法只实现去重模式,业务场景应该没有非去重模式。
|
||||
如果需要非去重模式,那么应该获取到多个CurveMap,然后对多个CurveMap进行面域分析,得出多个重叠的面域。
|
||||
*/
|
||||
export declare class RegionParse {
|
||||
numDimensions: number;
|
||||
private removeDuplicate;
|
||||
RegionsOutline: RegionRouteS;
|
||||
RegionsInternal: RegionRouteS;
|
||||
ExpLineMap: Map<Curve, Curve[]>;
|
||||
private _CurveCount;
|
||||
/**
|
||||
* @param cuList 请不要传递圆和椭圆.
|
||||
* @param [numDimensions=3] 精度:小数点后个数
|
||||
* @param [removeDuplicate=true] 删除重复(现在必须是true,请不要修改它)
|
||||
*/
|
||||
constructor(cuList: Curve[], numDimensions?: number, removeDuplicate?: boolean);
|
||||
static RegionsIsOverlap(Route: Route[]): boolean;
|
||||
private RemoveFilamentAt;
|
||||
private RemoveEdge;
|
||||
/**
|
||||
* 找到最下方并且最左边的站 yx
|
||||
*/
|
||||
private FindLowerLeftStand;
|
||||
/**
|
||||
* 构造路线图. 每个节点对应下一个路口的路线表. 路口表使用逆时针排序,起始角度使用正x轴.
|
||||
* @returns 所有的顶点
|
||||
*/
|
||||
protected GenerateVerticeMap(curveList: Curve[]): Array<Vertice>;
|
||||
private BreakArc;
|
||||
/**
|
||||
* 曲线是否已经被算法使用
|
||||
*/
|
||||
GetCueveUsed(cu: Curve): boolean;
|
||||
}
|
||||
export declare function CalcRouteAngle(r: Route, length: number): void;
|
||||
export {};
|
||||
//# sourceMappingURL=RegionParse.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"RegionParse.d.ts","sourceRoot":"","sources":["../../../src/Geometry/RegionParse.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,OAAO,EAAY,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAMtD,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;AAEhC;;;;;;GAMG;AACH,qBAAa,WAAW;IAiBgB,aAAa;IAAM,OAAO,CAAC,eAAe;IAd9E,cAAc,EAAE,YAAY,CAAM;IAElC,eAAe,EAAE,YAAY,CAAM;IAGnC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAa;IAE5C,OAAO,CAAC,WAAW,CAAS;IAE5B;;;;OAIG;gBACS,MAAM,EAAE,KAAK,EAAE,EAAS,aAAa,SAAI,EAAU,eAAe,UAAO;IAiErF,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE;IAKtC,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,UAAU;IAWlB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;;OAGG;IACH,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IAwEhE,OAAO,CAAC,QAAQ;IAUhB;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,KAAK,GAAG,OAAO;CAYnC;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAQtD"}
|
4
types/Geometry/RotateUV.d.ts
vendored
4
types/Geometry/RotateUV.d.ts
vendored
@@ -1,4 +0,0 @@
|
||||
import { Matrix2 } from './Matrix2';
|
||||
export declare const ROTATE_MTX2: Matrix2;
|
||||
export declare function RotateUVs(geo: THREE.Geometry): void;
|
||||
//# sourceMappingURL=RotateUV.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"RotateUV.d.ts","sourceRoot":"","sources":["../../../src/Geometry/RotateUV.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,eAAO,MAAM,WAAW,SAAiC,CAAC;AAC1D,wBAAgB,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,QAW5C"}
|
@@ -1,4 +0,0 @@
|
||||
import { BufferGeometry, Vector3 } from "three";
|
||||
export declare function GenerateExtrudeEdgeGeometry(contourPoints: Vector3[][], height: number): BufferGeometry;
|
||||
export declare function GenerateBoxEdgeGeometry(length: number, width: number, height: number): BufferGeometry;
|
||||
//# sourceMappingURL=SimpleExtrudeEdgeGeometry.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"SimpleExtrudeEdgeGeometry.d.ts","sourceRoot":"","sources":["../../../src/Geometry/SimpleExtrudeEdgeGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAMhD,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAOtG;AAmBD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAIrG"}
|
32
types/Geometry/SpaceParse/ClampSpaceParse.d.ts
vendored
32
types/Geometry/SpaceParse/ClampSpaceParse.d.ts
vendored
@@ -1,32 +0,0 @@
|
||||
import { Ray } from "three";
|
||||
import { PromptDistendResult } from "../../Editor/PromptResult";
|
||||
import { Box3Ext, SplitType } from "../Box";
|
||||
import { ISpaceParse } from "./ISpaceParse";
|
||||
/**
|
||||
* 夹层空间分析
|
||||
*/
|
||||
export declare class ClampSpaceParse extends ISpaceParse {
|
||||
Parse(): Promise<void>;
|
||||
/**
|
||||
* 单板延伸空间的时候的延伸距离
|
||||
*/
|
||||
get SignalDist(): number;
|
||||
protected _signalDist: number;
|
||||
ParseSignalBoard(): Promise<void>;
|
||||
GetSignalDist(): Promise<PromptDistendResult>;
|
||||
SetRay(ray: Ray): void;
|
||||
SelectBoxRecord: Map<SplitType, number>;
|
||||
WrapSelectBox(splitBoxs: Box3Ext[], splitType: SplitType): Promise<Box3Ext>;
|
||||
/**
|
||||
* virtual (请重载) 当盒子空间被切割时,选择合适的空间
|
||||
* @param splitBoxs 切割后的盒子(2个)
|
||||
* @param splitType 切割类型
|
||||
* @returns box 盒子
|
||||
*/
|
||||
SelectBox(splitBoxs: Box3Ext[], splitType: SplitType): Promise<Box3Ext>;
|
||||
/**
|
||||
*用单块板包围盒切割空间
|
||||
*/
|
||||
private SpliteBoxsAndSelect;
|
||||
}
|
||||
//# sourceMappingURL=ClampSpaceParse.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"ClampSpaceParse.d.ts","sourceRoot":"","sources":["../../../../src/Geometry/SpaceParse/ClampSpaceParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAW,MAAM,OAAO,CAAC;AAGrC,OAAO,EAAE,mBAAmB,EAAgB,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAe5C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAEtC,KAAK;IAiEX;;OAEG;IACH,IAAI,UAAU,WAGb;IACD,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAExB,gBAAgB;IAuChB,aAAa,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAQnD,MAAM,CAAC,GAAG,EAAE,GAAG;IAIf,eAAe,yBAAgC;IACzC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAOjF;;;;;OAKG;IACG,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7E;;OAEG;YACW,mBAAmB;CA+CpC"}
|
@@ -1,10 +0,0 @@
|
||||
import { ClampSpaceParse } from "./ClampSpaceParse";
|
||||
import { PromptDistendResult } from "../../Editor/PromptResult";
|
||||
import { Box3Ext, SplitType } from "../Box";
|
||||
export declare class ClampSpaceParseFix extends ClampSpaceParse {
|
||||
set SignalDist(v: number);
|
||||
get SignalDist(): number;
|
||||
GetSignalDist(): Promise<PromptDistendResult>;
|
||||
SelectBox(splitBoxs: Box3Ext[], splitType: SplitType): Promise<Box3Ext>;
|
||||
}
|
||||
//# sourceMappingURL=ClampSpaceParseFix.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"ClampSpaceParseFix.d.ts","sourceRoot":"","sources":["../../../../src/Geometry/SpaceParse/ClampSpaceParseFix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAgB,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE5C,qBAAa,kBAAmB,SAAQ,eAAe;IAEnD,IAAI,UAAU,CAAC,CAAC,EAAE,MAAM,EAGvB;IACD,IAAI,UAAU,IAJI,MAAM,CAOvB;IAGK,aAAa,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAQ7C,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;CAKhF"}
|
62
types/Geometry/SpaceParse/ISpaceParse.d.ts
vendored
62
types/Geometry/SpaceParse/ISpaceParse.d.ts
vendored
@@ -1,62 +0,0 @@
|
||||
import { Matrix4, Vector3 } from "three";
|
||||
import { Board } from "../../DatabaseServices/Entity/Board";
|
||||
import { BoardType } from "../../DatabaseServices/Entity/BoardInterface";
|
||||
import { Box3Ext, SplitType } from "../Box";
|
||||
import { VisualSpaceBox } from './../../Editor/VisualSpaceBox';
|
||||
export declare class ISpaceParse {
|
||||
/**
|
||||
* 解析空间成功
|
||||
*/
|
||||
ParseOK: boolean;
|
||||
/**
|
||||
* 空间占地盒子
|
||||
*/
|
||||
SpaceBox: Box3Ext;
|
||||
/**
|
||||
* 空间盒子所在的位置矩阵
|
||||
*/
|
||||
SpaceOCS: Matrix4;
|
||||
SpaceOCSInv: Matrix4;
|
||||
/**
|
||||
* 板件映射表
|
||||
*/
|
||||
BoardMap: Map<BoardType, Board[]>;
|
||||
/**
|
||||
* 解析空间所用的板件列表
|
||||
*/
|
||||
Boards: Board[];
|
||||
LeftBoard: Board;
|
||||
RightBoard: Board;
|
||||
/**
|
||||
* 动态中,禁止执行二次操作
|
||||
*/
|
||||
IsDynamic: Boolean;
|
||||
/**选到的虚拟空间 */
|
||||
VisualSpaceBox: VisualSpaceBox;
|
||||
Rotation: {
|
||||
x: number;
|
||||
y: number;
|
||||
z: number;
|
||||
};
|
||||
/**
|
||||
* # 构造后请手动调用Parse()方法.
|
||||
* @param boards 板件列表
|
||||
* @param [spaceOCS] 默认空间矩阵,如果不设置将使用第一块板作为空间矩阵
|
||||
*/
|
||||
constructor(boards?: Board[], spaceOCS?: Matrix4);
|
||||
Parse(): Promise<void>;
|
||||
get Size(): Vector3;
|
||||
get DrawCS(): Matrix4;
|
||||
protected GetBoardInSpaceType(br: Board): BoardType;
|
||||
/**
|
||||
* 构造板件类型Map
|
||||
*/
|
||||
protected GeneralBoardMap(): void;
|
||||
/**
|
||||
* 解析板件的盒子,并且(排序,归并)
|
||||
* @param boardCol
|
||||
* @param splitType
|
||||
*/
|
||||
protected ParseBoardBox(boardCol: Board[], splitType: SplitType): Box3Ext[];
|
||||
}
|
||||
//# sourceMappingURL=ISpaceParse.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"ISpaceParse.d.ts","sourceRoot":"","sources":["../../../../src/Geometry/SpaceParse/ISpaceParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,8CAA8C,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,qBAAa,WAAW;IAEpB;;OAEG;IACH,OAAO,UAAS;IAEhB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAa;IAE9C;;OAEG;IACH,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhB,SAAS,EAAE,KAAK,CAAC;IACjB,UAAU,EAAE,KAAK,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAS;IAC3B,aAAa;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ;;;;MAAwB;IAEhC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,EAAE,OAAO;IAe1C,KAAK;IAEX,IAAI,IAAI,YAKP;IAED,IAAI,MAAM,IAAI,OAAO,CAOpB;IAED,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAAE,KAAK,GAAG,SAAS;IAenD;;OAEG;IACH,SAAS,CAAC,eAAe;IAmBzB;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,EAAE;CAmE9E"}
|
63
types/Geometry/SweepGeometry.d.ts
vendored
63
types/Geometry/SweepGeometry.d.ts
vendored
@@ -1,63 +0,0 @@
|
||||
import { BufferGeometry, Geometry, Vector2, Vector3 } from "three";
|
||||
import { LineGeometry } from "three/examples/jsm/lines/LineGeometry";
|
||||
import { Curve } from "../DatabaseServices/Entity/Curve";
|
||||
import { Polyline } from "../DatabaseServices/Entity/Polyline";
|
||||
/**
|
||||
* 使用轮廓和扫描路径构建扫描几何体,实现衣柜中的顶线或者地脚线之类的实体.
|
||||
* 该几何体需要轮廓和路径的起始截面垂直,否则构造的实体将会错误.
|
||||
*/
|
||||
export declare class SweepGeometry extends Geometry {
|
||||
edgePts: number[];
|
||||
polygonIndexes: any[];
|
||||
ShapeMaterialSlotData: number[];
|
||||
constructor(contour: Polyline, path: Curve[] | Curve, ShapeMaterialSlotData?: number[]);
|
||||
get LineGeom(): LineGeometry;
|
||||
get EdgeGeom(): BufferGeometry;
|
||||
AddShape(contour: Polyline, path: Curve): void;
|
||||
AddShape2(contour: Polyline, paths: Curve[]): void;
|
||||
/**
|
||||
* 使用4点构建面
|
||||
* @param a 左下
|
||||
* @param b 右下
|
||||
* @param c 左上
|
||||
* @param d 右上
|
||||
* @param uvs
|
||||
* @param [materialIndex]
|
||||
*/
|
||||
protected BuildFace4(a: number, b: number, c: number, d: number, uvs: Vector2[], materialIndex?: number): void;
|
||||
/**
|
||||
* 构造边缘面开始标记
|
||||
* @param dir 前进方向(单位向量)
|
||||
*/
|
||||
protected SideStartMark(dir: Vector3): void;
|
||||
protected BuildSideFaces(shapePts2d: Vector2[], pathPts2d: Vector2[], pathPts: Vector3[], verts: Vector3[][]): void;
|
||||
protected BuildLid(shapePts2d: Vector2[], verts: Vector3[][]): void;
|
||||
}
|
||||
/**
|
||||
* 将轮廓变换到`路径上某个点`.
|
||||
*
|
||||
* @param {Vector3[]} contourPts 原始的轮廓点(在世界坐标系)
|
||||
* @param {Vector3} normal 路径法向量
|
||||
* @param {Vector3} curP 路径上当前点
|
||||
* @param {Vector3} [preP] 路径的前一个点
|
||||
* @param {Vector3} [nextP] 路径下一个点
|
||||
* @returns 变换后的轮廓点表
|
||||
*/
|
||||
export declare function ProjectionToPlane(contourPts: Vector3[], normal: Vector3, curP: Vector3, preP?: Vector3, nextP?: Vector3): Vector3[];
|
||||
type Polygon = number[];
|
||||
export declare class SweepGeometrySimple extends SweepGeometry {
|
||||
SidePolygons: (Polygon[])[];
|
||||
private _curSidePolygons;
|
||||
private _curDir;
|
||||
TriFaces: (number[])[];
|
||||
shapeVerts: Vector3[][];
|
||||
shapePts2d: Vector2[];
|
||||
computeVertexNormals(): void;
|
||||
computeFaceNormals(): void;
|
||||
BuildFace4(a: number, b: number, c: number, d: number, uvs: Vector2[], materialIndex?: number): void;
|
||||
protected SideStartMark(dir: Vector3): void;
|
||||
protected BuildSideFaces(shapePts2d: Vector2[], pathPts2d: Vector2[], pathPts: Vector3[], verts: Vector3[][]): void;
|
||||
protected BuildLid(shapePts2d: Vector2[], verts: Vector3[][]): void;
|
||||
}
|
||||
export {};
|
||||
//# sourceMappingURL=SweepGeometry.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"SweepGeometry.d.ts","sourceRoot":"","sources":["../../../src/Geometry/SweepGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiC,QAAQ,EAA6F,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7L,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAK/D;;;GAGG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IAEvC,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB,cAAc,QAAM;IACpB,qBAAqB,EAAE,MAAM,EAAE,CAAC;gBACpB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,qBAAqB,CAAC,EAAE,MAAM,EAAE;IAYtF,IAAI,QAAQ,IAAI,YAAY,CAQ3B;IAED,IAAI,QAAQ,mBAGX;IAED,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;IAoDvC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;IAyE3C;;;;;;;;OAQG;IACH,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM;IAQvG;;;OAGG;IACH,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO;IAEpC,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAkG5G,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;CAkC/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAiCnI;AAuBD,KAAK,OAAO,GAAG,MAAM,EAAE,CAAC;AAExB,qBAAa,mBAAoB,SAAQ,aAAa;IAElD,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IAC5B,OAAO,CAAC,gBAAgB,CAAY;IACpC,OAAO,CAAC,OAAO,CAAU;IAEzB,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;IACvB,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;IACxB,UAAU,EAAE,OAAO,EAAE,CAAC;IACb,oBAAoB;IACpB,kBAAkB;IAElB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM;cAOnF,aAAa,CAAC,GAAG,EAAE,OAAO;cAS1B,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;cAiBlG,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;CACxE"}
|
4
types/Geometry/UVUtils.d.ts
vendored
4
types/Geometry/UVUtils.d.ts
vendored
@@ -1,4 +0,0 @@
|
||||
import { Geometry, Matrix4 } from "three";
|
||||
export declare function ScaleUV(geo: Geometry, scale?: number): void;
|
||||
export declare function ScaleUV2(geo: Geometry, ocs: Matrix4, xScale?: number, yScale?: number, isInvert?: boolean): void;
|
||||
//# sourceMappingURL=UVUtils.d.ts.map
|
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"UVUtils.d.ts","sourceRoot":"","sources":["../../../src/Geometry/UVUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAW,MAAM,OAAO,CAAC;AAEnD,wBAAgB,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,SAAO,QAYlD;AACD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,SAAO,EAAE,MAAM,SAAO,EAAE,QAAQ,UAAQ,QAwBnG"}
|
Reference in New Issue
Block a user