开发:优化简化函数,提供尖角化多段线函数
This commit is contained in:
11
types/Geometry/CSGSubtract/CSGSubtractTaskManager.d.ts
vendored
Normal file
11
types/Geometry/CSGSubtract/CSGSubtractTaskManager.d.ts
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
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
|
@@ -0,0 +1 @@
|
||||
{"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"}
|
@@ -8,7 +8,7 @@ export declare const ARC_DRAW_CONFIG: {
|
||||
Arc_MinSplitCount: number;
|
||||
ARC_MaxSplitCount: number;
|
||||
};
|
||||
export declare function GetArcDrawCount(arc: Arc | Circle): number;
|
||||
export declare function GetArcDrawCount(arc: Arc | Circle | number): number;
|
||||
/**
|
||||
*
|
||||
* @param cu
|
||||
|
@@ -1 +1 @@
|
||||
{"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,CAQzD;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"}
|
||||
{"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"}
|
38
types/Geometry/SweepGeometry.d.ts
vendored
38
types/Geometry/SweepGeometry.d.ts
vendored
@@ -1,4 +1,4 @@
|
||||
import { BufferGeometry, Geometry, Vector3 } from "three";
|
||||
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";
|
||||
@@ -8,14 +8,30 @@ 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;
|
||||
private BuildSideFaces;
|
||||
private BuildLid;
|
||||
/**
|
||||
* 使用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;
|
||||
}
|
||||
/**
|
||||
* 将轮廓变换到`路径上某个点`.
|
||||
@@ -28,4 +44,20 @@ export declare class SweepGeometry extends Geometry {
|
||||
* @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 +1 @@
|
||||
{"version":3,"file":"SweepGeometry.d.ts","sourceRoot":"","sources":["../../../src/Geometry/SweepGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiC,QAAQ,EAAsG,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,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,OAAO,CAAC,cAAc;IAuGtB,OAAO,CAAC,QAAQ;CAkCnB;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"}
|
||||
{"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"}
|
Reference in New Issue
Block a user