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

View File

@@ -0,0 +1,13 @@
import { Vector3 } from 'three';
import { Circle } from '../DatabaseServices/Entity/Circle';
import { Curve } from '../DatabaseServices/Entity/Curve';
import { Ellipse } from '../DatabaseServices/Entity/Ellipse';
import { Polyline } from '../DatabaseServices/Entity/Polyline';
export declare enum BoolOpeartionType {
Intersection = 0,
Union = 1,
Subtract = 2
}
export declare function isTargetCurInOrOnSourceCur(bigCurve: Polyline | Circle | Ellipse, smallCurve: Curve): boolean;
export declare function IsPtsAllOutOrOnReg(sourceReg: Polyline | Circle, pts: Vector3[]): boolean;
//# sourceMappingURL=BoolOperateUtils.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"BoolOperateUtils.d.ts","sourceRoot":"","sources":["../../../src/GraphicsSystem/BoolOperateUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAG/D,oBAAY,iBAAiB;IAEzB,YAAY,IAAI;IAChB,KAAK,IAAI;IACT,QAAQ,IAAI;CACf;AAMD,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,EAAE,UAAU,EAAE,KAAK,WAmBlG;AA+BD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAO9E"}

View File

@@ -0,0 +1,71 @@
import { Board } from "../DatabaseServices/Entity/Board";
import { Curve } from "../DatabaseServices/Entity/Curve";
import { ExtrudeContourCurve } from "../DatabaseServices/Entity/Extrude";
import { IHighEdgeRemarkItem, IHighReservedEdgeItem, IHighSealedItem } from "../UI/Store/OptionInterface/IHighSealedItem";
type CurveGroups = (Curve[])[];
/**
* 将曲线分段(根据高级封边的特性 (因为圆弧无法单独使用封边,所以和圆弧在一起的曲线必须和圆弧一样的封边,否则偏移失败))
* @l-arc-l,l-arc-arc-l,l-arc-l-arc-l....
* @param in_out_curves 曲线组( 函数结束后 这个数组被改变 )
* @returns 返回编组 curveGroups
*/
export declare function SubsectionCurvesOfHightSeal(in_out_curves: Curve[]): CurveGroups;
export declare function GetBoardHighSeal(br: Board, sealcus: Curve[]): IHighSealedItem[];
export declare function GetBoardHighReservedEdge(br: Board, sealcus: Curve[]): IHighReservedEdgeItem[];
/**
* 获取板边备注
* @param br 板
* @param sealcus 封边轮廓线
* @param addAll 添加所有板边备注
* @returns 板边备注
*/
export declare function GetHighBoardEdgeRemark(br: Board, sealcus: Curve[], addAll?: boolean): IHighEdgeRemarkItem[];
/**偏移前后曲线起点没改变 */
export declare function OffsetOutlineSpNotChange(oldcu: Curve, newCu: Curve): boolean;
/**
* 获取板件的轮廓曲线数组(合并共线了 已经对封边进行合并了 尊重原始时针)
* GetBrContourCurvesBySealGrouped
* @param offsetInside 向内偏移1(为了编辑封边)
* */
export declare function GetBoardSealingCurves(br: Board, offsetInside?: boolean): Curve[];
export interface BrSealedData {
brContour: ExtrudeContourCurve;
sealedContour: ExtrudeContourCurve;
brCurves: Curve[];
highSeals: IHighSealedItem[];
highReservedEdges: IHighReservedEdgeItem[];
hasSealedErr?: boolean;
}
/**
* 获取板件的轮廓(没有扣封边)(拆单时表现)
* 在拆单的时候 我们用这个轮廓(为了数据对应准确性)
* 修改时 请注意函数 GetSealedBoardContour
*/
export declare function GetBoardContour(br: Board): ExtrudeContourCurve | undefined;
/**
* 获取板件(扣封边后的)轮廓(拆单时)
* 修改时 请注意函数 GetBoardContour
* @param {Board} br 板件
* @param {boolean} [calReserveEdge=true] 是否计算预留边
* @return {*} {(BrSealedData | undefined)}
*/
export declare function GetSealedBoardContour(br: Board, calReserveEdge?: boolean): BrSealedData | undefined;
/**
* 将11对应的封边数值改成WebCAD的高级封边
* @param seals 每段曲线的封边
* @param curves 曲线表
* @returns 转换成高级封边后的封边值 (圆弧会编组)
*/
export declare function ConverEachSeal2HightSealData(seals: IHighSealedItem[], curves: Curve[]): IHighSealedItem[];
/**
* 设置板的上下左右封边(解析来自高级封边)
* @param br
* @param sealDatas 封边数据
* @param [sealCurves] 封边的曲线
* @param [brContourCurve] 传递封边的曲线轮廓
*/
export declare function SetBoardTopDownLeftRightSealData(br: Board, sealDatas: IHighSealedItem[], sealCurves?: Curve[], brContourCurve?: ExtrudeContourCurve): void;
export declare function SetBoardReservedEdgeData(br: Board, sealDatas: IHighReservedEdgeItem[], sealCurves?: Curve[], brContourCurve?: ExtrudeContourCurve): void;
export declare function SetBoardEdgeRemarkData(br: Board, remarkDatas: IHighEdgeRemarkItem[], sealCurves?: Curve[], brContourCurve?: ExtrudeContourCurve): void;
export {};
//# sourceMappingURL=CalcEdgeSealing.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CalcEdgeSealing.d.ts","sourceRoot":"","sources":["../../../src/GraphicsSystem/CalcEdgeSealing.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAOzE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAI1H,KAAK,WAAW,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;AAE/B;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,WAAW,CAkH/E;AAID,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,CAkD/E;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,qBAAqB,EAAE,CAiD7F;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,UAAQ,GAAG,mBAAmB,EAAE,CAoDzG;AAED,iBAAiB;AACjB,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,WASlE;AAED;;;;KAIK;AACL,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,UAAQ,GAAG,KAAK,EAAE,CA6B9E;AAGD,MAAM,WAAW,YAAY;IAEzB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,aAAa,EAAE,mBAAmB,CAAC;IAEnC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AA2BD;;;;EAIE;AACF,wBAAgB,eAAe,CAAC,EAAE,EAAE,KAAK,GAAG,mBAAmB,GAAG,SAAS,CAqB1E;AAGD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,UAAO,GAAG,YAAY,GAAG,SAAS,CA0MhG;AAGD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,CAgBzG;AAGD;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,cAAc,CAAC,EAAE,mBAAmB,QA8DnJ;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,cAAc,CAAC,EAAE,mBAAmB,QAoCjJ;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,cAAc,CAAC,EAAE,mBAAmB,QAqC/I"}

73
types/GraphicsSystem/CameraUpdate.d.ts vendored Normal file
View File

@@ -0,0 +1,73 @@
import { Box3, OrthographicCamera, PerspectiveCamera, Vector3 } from 'three';
import { CADFiler } from '../DatabaseServices/CADFiler';
import { Orbit } from '../Geometry/Orbit';
export declare const ViewNearMinSize = 0.01;
export declare enum CameraType {
OrthographicCamera = 1,
PerspectiveCamera = 2
}
type Camera = OrthographicCamera | PerspectiveCamera;
/**
*
* 相机的控制.
* ->切换相机
* ->设置视口大小
* ->旋转和移动相机.
*/
export declare class CameraUpdate {
private _CurCamera;
private _CameraArray;
private _Width;
private _Height;
private _ViewHeight;
private _Target;
private _Direction;
private _Orbit;
private _Near;
DisableRotate: boolean;
constructor();
get Orbit(): Orbit;
get Aspect(): number;
get Target(): Vector3;
set Target(value: Vector3);
get Camera(): Camera;
get ViewHeight(): number;
set ViewHeight(height: number);
get Direction(): Vector3;
SetSize(width: number, height: number): void;
get Width(): number;
get Height(): number;
get Fov(): number;
set Fov(fov: number);
get Near(): number;
set Near(value: number);
/**
* 平移相机.
* @param {Vector3} mouseMove
*/
Pan(mouseMove: Vector3): void;
Rotate(mouseMove: Vector3, target: Vector3): void;
UpdateCameraMatrix(): void;
Zoom(scale: number, scaleCenter?: Vector3): void;
ZoomExtentsBox3(box3: Box3): void;
/**
* 设置相机的观察向量.
* @param {Vector3} dir 方向向量,这个向量传入后会被更改为单位向量
*/
LookAt(dir: Vector3): void;
LookAtEvent(dir: Vector3): void;
UpdateUp(): void;
/**
* 根据视口大小,设置相机视口范围.
*/
Update(): void;
ZoomEvent(): void;
set CameraType(type: CameraType);
get CameraType(): CameraType;
SwitchCamera(): void;
ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
CopyFrom(camer: CameraUpdate): void;
}
export {};
//# sourceMappingURL=CameraUpdate.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CameraUpdate.d.ts","sourceRoot":"","sources":["../../../src/GraphicsSystem/CameraUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAa,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAExF,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,eAAO,MAAM,eAAe,OAAO,CAAC;AAUpC,oBAAY,UAAU;IAElB,kBAAkB,IAAI;IACtB,iBAAiB,IAAI;CACxB;AAED,KAAK,MAAM,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;AAErD;;;;;;GAMG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAA4C;IAGhE,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,WAAW,CAAgB;IAGnC,OAAO,CAAC,OAAO,CAA0B;IAEzC,OAAO,CAAC,UAAU,CAAkC;IAEpD,OAAO,CAAC,MAAM,CAAsB;IAGpC,OAAO,CAAC,KAAK,CAA2B;IAExC,aAAa,UAAS;;IAkBtB,IAAI,KAAK,UAA0B;IAEnC,IAAI,MAAM,IAAI,MAAM,CAGnB;IAED,IAAI,MAAM,IACQ,OAAO,CADY;IACrC,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAGxB;IAED,IAAI,MAAM,IAAI,MAAM,CAGnB;IACD,IAAI,UAAU,WAGb;IACD,IAAI,UAAU,CAAC,MAAM,QAAA,EAIpB;IAED,IAAI,SAAS,YAGZ;IAED,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAKrC,IAAI,KAAK,WAGR;IACD,IAAI,MAAM,WAGT;IAED,IAAI,GAAG,IAKM,MAAM,CAFlB;IAED,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,EAKlB;IAED,IAAW,IAAI,IAAI,MAAM,CAGxB;IACD,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAM5B;IAED;;;OAGG;IACH,GAAG,CAAC,SAAS,EAAE,OAAO;IAStB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IA4C1C,kBAAkB;IAWlB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO;IAoBzC,eAAe,CAAC,IAAI,EAAE,IAAI;IA0B1B;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,OAAO;IAQnB,WAAW,CAAC,GAAG,EAAE,OAAO;IAExB,QAAQ;IAIR;;OAEG;IACH,MAAM;IAyBN,SAAS;IAIT,IAAI,UAAU,CAAC,IAAI,EAAE,UAAU,EAI9B;IACD,IAAI,UAAU,IALO,UAAU,CAW9B;IAED,YAAY;IAaZ,QAAQ,CAAC,IAAI,EAAE,QAAQ;IA8BvB,SAAS,CAAC,IAAI,EAAE,QAAQ;IAYxB,QAAQ,CAAC,KAAK,EAAE,YAAY;CAS/B"}

View File

@@ -0,0 +1,13 @@
import { Box3, Sphere } from "three";
import { CameraUpdate } from "./CameraUpdate";
export declare class CameraUpdateForIos {
private camera;
boundingSphere: Sphere;
box: Box3;
constructor(camera: CameraUpdate);
private _line;
private _plane;
private _iPoint;
Fix(): void;
}
//# sourceMappingURL=CameraUpdateForIos.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CameraUpdateForIos.d.ts","sourceRoot":"","sources":["../../../src/GraphicsSystem/CameraUpdateForIos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAS,MAAM,EAAW,MAAM,OAAO,CAAC;AAKrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,kBAAkB;IAIf,OAAO,CAAC,MAAM;IAF1B,cAAc,EAAE,MAAM,CAAc;IACpC,GAAG,OAAY;gBACK,MAAM,EAAE,YAAY;IA8BxC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAe;IAE9B,GAAG;CAoBN"}

55
types/GraphicsSystem/Cursor.d.ts vendored Normal file
View File

@@ -0,0 +1,55 @@
import { Object3D, Vector3 } from "three";
export declare enum CursorMode {
None = 0,
GetEntity = 1,
GetPoint = 2,//Or GetSelection
Cross = 3
}
/**
* 在前视图中显示的光标
*/
export declare class Cursor {
/**
* 光标的绘制对象
*/
CursorObject: Object3D;
/**
* 方向框大小
*/
private _SquareSize;
/**
* 延伸线长度
*/
private _LineLength;
private _3DLineLength;
private _SquareObject;
private _OutsideCrossLineObject;
private _CrossLineObject;
private _threeDLine;
private _Mode;
private _isTheeeDMode;
constructor();
get IsThreeMode(): boolean;
set IsThreeMode(bool: boolean);
set Mode(mode: CursorMode);
get LineLength2D(): number;
set LineLength2D(l: number);
set LineLength3D(l: number);
UpdateCursor(): void;
set Position(ptView: Vector3);
/**
* 设置选择框的大小
*/
set SquareSize(size: number);
get SquareSize(): number;
set CrossLineLength(length: number);
get CrossLineLength(): number;
UpdateEvent(): void;
Update3DLine(): void;
private SquarePts;
private OutsideLinePts;
private CrossLinePts;
private CreateCross3DLine;
set Color(n: number);
}
//# sourceMappingURL=Cursor.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Cursor.d.ts","sourceRoot":"","sources":["../../../src/GraphicsSystem/Cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6C,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAQrF,oBAAY,UAAU;IAElB,IAAI,IAAI;IACR,SAAS,IAAI;IACb,QAAQ,IAAI,CAAC,iBAAiB;IAC9B,KAAK,IAAI;CACZ;AAED;;GAEG;AACH,qBAAa,MAAM;IAEf;;OAEG;IACH,YAAY,WAAkB;IAE9B;;OAEG;IACH,OAAO,CAAC,WAAW,CAAM;IAEzB;;OAEG;IACH,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,aAAa,CAAO;IAE5B,OAAO,CAAC,aAAa,CAAO;IAC5B,OAAO,CAAC,uBAAuB,CAAe;IAC9C,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,aAAa,CAAS;;IAwB9B,IAAI,WAAW,IAIO,OAAO,CAD5B;IACD,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,EAQ5B;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,EAOxB;IAED,IAAI,YAAY,IACI,MAAM,CADqB;IAC/C,IAAI,YAAY,CAAC,CAAC,EAAE,MAAM,EAMzB;IACD,IAAI,YAAY,CAAC,CAAC,EAAE,MAAM,EAUzB;IACD,YAAY;IAkCZ,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO,EAM3B;IAED;;OAEG;IACH,IAAI,UAAU,CAAC,IAAI,EAAE,MAAM,EAO1B;IACD,IAAI,UAAU,IARO,MAAM,CAW1B;IAED,IAAI,eAAe,CAAC,MAAM,EAAE,MAAM,EAOjC;IACD,IAAI,eAAe,IARS,MAAM,CAQgB;IAGlD,WAAW;IAKX,YAAY;IAYZ,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,iBAAiB;IAYzB,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAGlB;CACJ"}

12
types/GraphicsSystem/GripScene.d.ts vendored Normal file
View File

@@ -0,0 +1,12 @@
import { BufferGeometry, Object3D, Points, PointsMaterial } from 'three';
export declare class GripScene extends Object3D {
_GripMaterial: PointsMaterial;
_GripMap: Map<Object3D, Points<import("three").Geometry | BufferGeometry, import("three").Material | import("three").Material[]>>;
constructor();
Append(obj: Object3D): void;
Remove(obj: Object3D): void;
Clear(): void;
Update(entity: Object3D): void;
UpdateAll(): void;
}
//# sourceMappingURL=GripScene.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"GripScene.d.ts","sourceRoot":"","sources":["../../../src/GraphicsSystem/GripScene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAKzE,qBAAa,SAAU,SAAQ,QAAQ;IAGnC,aAAa,EAAE,cAAc,CAAC;IAE9B,QAAQ,0HAA+B;;IAWvC,MAAM,CAAC,GAAG,EAAE,QAAQ;IAiBpB,MAAM,CAAC,GAAG,EAAE,QAAQ;IAYpB,KAAK;IASL,MAAM,CAAC,MAAM,EAAE,QAAQ;IAKvB,SAAS;CAqBZ"}

8
types/GraphicsSystem/IView.d.ts vendored Normal file
View File

@@ -0,0 +1,8 @@
import { Camera, Scene } from "three";
export interface IViewer {
Camera: Camera;
Width: number;
Height: number;
Scene: Scene;
}
//# sourceMappingURL=IView.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"IView.d.ts","sourceRoot":"","sources":["../../../src/GraphicsSystem/IView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,WAAW,OAAO;IAEpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;CAChB"}

74
types/GraphicsSystem/IntersectWith.d.ts vendored Normal file
View File

@@ -0,0 +1,74 @@
import { Vector3 } from 'three';
import { Arc } from '../DatabaseServices/Entity/Arc';
import { Circle } from '../DatabaseServices/Entity/Circle';
import { Curve } from '../DatabaseServices/Entity/Curve';
import { Ellipse } from '../DatabaseServices/Entity/Ellipse';
import { Line } from '../DatabaseServices/Entity/Line';
import { Polyline } from '../DatabaseServices/Entity/Polyline';
/**
* 相交延伸选项.
*
* @export
* @enum {number}
*/
export declare enum IntersectOption {
/**
* 两者都不延伸
*/
ExtendNone = 0,
/**
* 延伸自身
*/
ExtendThis = 1,
/**
* 延伸参数
*/
ExtendArg = 2,
/**
* 延伸两者
*/
ExtendBoth = 3
}
export interface IntersectResult {
pt: Vector3;
thisParam: number;
argParam: number;
}
export declare function reverseIntersectOption(intType: IntersectOption): IntersectOption;
export declare function IntersectCircleAndCircle(cu1: Circle | Arc, cu2: Circle | Arc, tolerance?: number): IntersectResult[];
/**
* 计算圆与圆弧的交点.
*
* @export
* @param {Circle} circle 圆
* @param {Arc} arc 圆弧
* @param {IntersectOption} extType 延伸选项
* @returns 交点集合
*/
export declare function IntersectCircleAndArc(circle: Circle, arc: Arc, extType: IntersectOption, tolerance?: number): IntersectResult[];
/**
* 计算圆弧与圆弧的交点
*
* @export
* @param {Arc} arc1 圆弧
* @param {Arc} arc2 圆弧
* @param {IntersectOption} extType 延伸选项
* @returns 交点集合
*/
export declare function IntersectArcAndArc(arc1: Arc, arc2: Arc, extType: IntersectOption, tolerance?: number): IntersectResult[];
export declare function IntersectEllipseAndLine(l: Line, el: Ellipse, extType: IntersectOption, tolerance?: number): any;
export declare function IntersectLineAndCircle(line: Line, circle: Circle, extType: IntersectOption, tolerance?: number): IntersectResult[];
export declare function IntersectLineAndArc(line: Line, arc: Arc, extType: IntersectOption, tolerance?: number): IntersectResult[];
export declare function IntersectLAndLFor2D(p1: Vector3, p2: Vector3, p3: Vector3, p4: Vector3): Vector3;
export declare function IntersectLAndLFor2D2(p1: Vector3, p2: Vector3, p3: Vector3, p4: Vector3): Vector3[];
export declare function IntersectLine3AndLine3(p1: Vector3, p2: Vector3, p3: Vector3, p4: Vector3, epsilon?: number): Vector3;
export declare function IntersectLineAndLine(l1: Line, l2: Line, extType: IntersectOption, fuzz?: number): IntersectResult[];
export declare function IntersectPolylineAndCurve(pl: Polyline, cu: Curve, extType: IntersectOption, tolerance?: number): IntersectResult[];
export declare function IntersectLineAndEllipseFor2D(l: Line, el: Ellipse): {
pt: Vector3;
thisParam: number;
argParam: number;
}[];
export declare function IntersectEllipseAndCircleOrArc(el: Ellipse, cir: Circle | Arc, type: IntersectOption): IntersectResult[];
export declare function IntersectEllipse(el1: Ellipse, el2: Ellipse, type: IntersectOption): IntersectResult[];
//# sourceMappingURL=IntersectWith.d.ts.map

View File

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

View File

@@ -0,0 +1,92 @@
import { Box3, Matrix4, Vector3 } from "three";
import { Contour } from "../DatabaseServices/Contour";
import { Arc } from "../DatabaseServices/Entity/Arc";
import { Circle } from "../DatabaseServices/Entity/Circle";
import { Curve } from "../DatabaseServices/Entity/Curve";
import { Line } from "../DatabaseServices/Entity/Line";
import { Polyline } from "../DatabaseServices/Entity/Polyline";
interface IOffsetResult {
index: number;
curve: Curve;
/**偏移距离(仅在局部偏移时提供) */
dist?: number;
sp?: Vector3;
ep?: Vector3;
preCurve?: Curve;
nextCurve?: Curve;
paddingCurve?: Curve[];
}
export declare class CurveTreeNode {
curve: Curve;
children: this[];
box: Box3;
used: boolean;
Create(curve: Curve, box?: Box3): this;
constructor(curve: Curve, box?: Box3);
TrimBy(contour: Contour, box: Box3): void;
get Nodes(): this[];
}
export declare enum PolylineJoinType {
Square = 0,
Round = 1
}
export declare class OffsetPolyline {
_Polyline: Polyline;
_OffsetDist: number;
_ToolPath: boolean;
private _OffsetDistSq;
private _JoinType;
_CacheOCS: Matrix4;
_Vertexs: Vector3[];
_SubCurves: Curve[];
_Circles: Circle[];
_SubOffsetedCurves: IOffsetResult[];
_CurveTreeNodes: CurveTreeNode[];
_CurveTrimedTreeNodes: CurveTreeNode[];
_TrimPolylineContours: Contour[];
_TrimCircleContours: Circle[];
_TrimArcContours: Contour[];
_RetCurves: Polyline[];
_IsClose: boolean;
_OffsetDistSign: number;
_IsTopoOffset: boolean;
_AllowConverToCircle: boolean;
/**
*
* @param _Polyline
* @param _OffsetDist
* @param [_ToolPath=false] 走刀模式(在这个模式下,我们会进行圆弧过渡(或者直线过渡)避免尖角过大)
* @param [_OffsetDistSq=(_OffsetDist ** 2) * 2.1] 允许的最大尖角长度 默认值差不多是矩形的尖角大一点
* @param [_JoinType=PolylineJoinType.Round] 尖角的处理方式,默认是圆弧过渡,可以切换成直线过渡
*/
constructor(_Polyline: Polyline, _OffsetDist: number, _ToolPath?: boolean, _OffsetDistSq?: number, //对直角走刀不进行圆弧过度
_JoinType?: PolylineJoinType);
Do(): Polyline[];
InitSubCurves(): this;
protected GeneralCirclesAndVertexs(): void;
protected OffsetSubCurves(): void;
LinkSubCurves(): void;
/**
* 判断两曲线是否尖角化
* 在
* 1.直线和圆弧,圆弧和圆弧
* 2.有交点,无真交点时
* 必须在正确的方向做出延伸动作,所以必须在尖角的情况下延伸,偏移的结果就像一个谷字去掉一个口的结果,上面的人就是偏移后的结果.
* 如果是谷,则允许连接 #I7WKKG
*/
private IsSharpCorner;
protected GeneralTrimContours(): void;
protected TrimByContours(): void;
private FilterInvalidCurve;
private JoinCollinear;
private LinkResultPolyline;
private RepairResultPolylineClosemark;
CheckPointDir(pt: Vector3): boolean;
GetPointAtCurveDir(pt: Vector3): number;
protected CreateArc(center: Vector3, startP: Vector3, endP?: Vector3): Arc;
protected CreateSquare(center: Vector3, curveNow: IOffsetResult, curveNext: IOffsetResult, entTypeCode: number): Line;
}
export declare function EntityEncode2(c1: Curve, c2: Curve): number;
export declare function CurveIsFine(curve: Curve): boolean;
export {};
//# sourceMappingURL=OffsetPolyline.d.ts.map

View File

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

61
types/GraphicsSystem/OutlinePass.d.ts vendored Normal file
View File

@@ -0,0 +1,61 @@
import { Color, Matrix4, MeshBasicMaterial, MeshDepthMaterial, Object3D, OrthographicCamera, PerspectiveCamera, Scene, ShaderMaterial, Vector2, WebGLRenderer, WebGLRenderTarget } from "three";
import { Pass } from "three/examples/jsm/postprocessing/Pass";
/**
* @author spidersharma / http://eduperiment.com/
*/
export declare class OutlinePass extends Pass {
renderScene: Scene;
renderCamera: OrthographicCamera | PerspectiveCamera;
resolution: Vector2;
selectedObjects: Object3D[];
renderObjects: Object3D[];
visibleEdgeColor: Color;
hiddenEdgeColor: Color;
edgeGlow: number;
usePatternTexture: boolean;
edgeThickness: number;
edgeStrength: number;
downSampleRatio: number;
pulsePeriod: number;
maskBufferMaterial: MeshBasicMaterial;
renderTargetMaskBuffer: WebGLRenderTarget;
depthMaterial: MeshDepthMaterial;
prepareMaskMaterial: ShaderMaterial;
renderTargetDepthBuffer: WebGLRenderTarget;
renderTargetMaskDownSampleBuffer: WebGLRenderTarget;
renderTargetBlurBuffer1: WebGLRenderTarget;
renderTargetBlurBuffer2: WebGLRenderTarget;
edgeDetectionMaterial: ShaderMaterial;
renderTargetEdgeBuffer1: WebGLRenderTarget;
renderTargetEdgeBuffer2: WebGLRenderTarget;
separableBlurMaterial1: ShaderMaterial;
separableBlurMaterial2: ShaderMaterial;
overlayMaterial: ShaderMaterial;
copyUniforms: {
[x: string]: {
value: any;
};
};
materialCopy: ShaderMaterial;
oldClearColor: Color;
oldClearAlpha: number;
fsQuad: Pass.FullScreenQuad;
tempPulseColor1: Color;
tempPulseColor2: Color;
textureMatrix: Matrix4;
patternTexture: any;
constructor(renderScene: Scene, renderCamera: OrthographicCamera | PerspectiveCamera, resolution?: Vector2, selectedObjects?: Object3D[]);
dispose(): void;
setSize(width: number, height: number): void;
changeVisibilityOfSelectedObjects(bVisible: boolean): void;
changeVisibilityOfNonSelectedObjects(bVisible: boolean): void;
updateTextureMatrix(): void;
render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget, readBuffer: WebGLRenderTarget, deltaTime: number, maskActive: boolean): void;
getPrepareMaskMaterial(): ShaderMaterial;
getEdgeDetectionMaterial(): ShaderMaterial;
getSeperableBlurMaterial(maxRadius: number): ShaderMaterial;
getOverlayMaterial(): ShaderMaterial;
static BlurDirectionX: Vector2;
static BlurDirectionY: Vector2;
}
//# sourceMappingURL=OutlinePass.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"OutlinePass.d.ts","sourceRoot":"","sources":["../../../src/GraphicsSystem/OutlinePass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,EAA4B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAc,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAgC,KAAK,EAAE,cAAc,EAAiB,OAAO,EAAW,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC9S,OAAO,EAAE,IAAI,EAAE,MAAM,wCAAwC,CAAC;AAG9D;;GAEG;AACH,qBAAa,WAAY,SAAQ,IAAI;IAmCtB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,kBAAkB,GAAG,iBAAiB;IACpD,UAAU,EAAE,OAAO;IACnB,eAAe,EAAE,QAAQ,EAAE;IApCtC,aAAa,EAAE,QAAQ,EAAE,CAAC;IAC1B,gBAAgB,EAAE,KAAK,CAAsB;IAC7C,eAAe,EAAE,KAAK,CAA8B;IACpD,QAAQ,EAAE,MAAM,CAAO;IACvB,iBAAiB,EAAE,OAAO,CAAS;IACnC,aAAa,EAAE,MAAM,CAAO;IAC5B,YAAY,EAAE,MAAM,CAAO;IAC3B,eAAe,EAAE,MAAM,CAAK;IAC5B,WAAW,EAAE,MAAM,CAAK;IACxB,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,sBAAsB,EAAE,iBAAiB,CAAC;IAC1C,aAAa,EAAE,iBAAiB,CAAC;IACjC,mBAAmB,EAAE,cAAc,CAAC;IACpC,uBAAuB,EAAE,iBAAiB,CAAC;IAC3C,gCAAgC,EAAE,iBAAiB,CAAC;IACpD,uBAAuB,EAAE,iBAAiB,CAAC;IAC3C,uBAAuB,EAAE,iBAAiB,CAAC;IAC3C,qBAAqB,EAAE,cAAc,CAAC;IACtC,uBAAuB,EAAE,iBAAiB,CAAC;IAC3C,uBAAuB,EAAE,iBAAiB,CAAC;IAC3C,sBAAsB,EAAE,cAAc,CAAC;IACvC,sBAAsB,EAAE,cAAc,CAAC;IACvC,eAAe,EAAE,cAAc,CAAC;IAChC,YAAY,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG;YAAE,KAAK,EAAE,GAAG,CAAC;SAAE,CAAC;KAAE,CAAC;IAChD,YAAY,EAAE,cAAc,CAAC;IAC7B,aAAa,EAAE,KAAK,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC;IAC5B,eAAe,EAAE,KAAK,CAAC;IACvB,eAAe,EAAE,KAAK,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,GAAG,CAAC;gBAET,WAAW,EAAE,KAAK,EAClB,YAAY,EAAE,kBAAkB,GAAG,iBAAiB,EACpD,UAAU,GAAE,OAA+B,EAC3C,eAAe,GAAE,QAAQ,EAAO;IAqG3C,OAAO;IAaP,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAsBrC,iCAAiC,CAAC,QAAQ,EAAE,OAAO;IAsBnD,oCAAoC,CAAC,QAAQ,EAAE,OAAO;IA8BtD,mBAAmB;IAUnB,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO;IAuIrI,sBAAsB;IA+CtB,wBAAwB;IA8CxB,wBAAwB,CAAC,SAAS,EAAE,MAAM;IAsD1C,kBAAkB;IAoDlB,MAAM,CAAC,cAAc,UAAyB;IAC9C,MAAM,CAAC,cAAc,UAAyB;CACjD"}

View File

@@ -0,0 +1,7 @@
import { Curve } from "../DatabaseServices/Entity/Curve";
/**
* 分析曲线的上下左右位置的线
* @param curves
*/
export declare function ParseEdgeSealDir(curves: Curve[]): [number, number, number, number];
//# sourceMappingURL=ParseEdgeSealDir.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"ParseEdgeSealDir.d.ts","sourceRoot":"","sources":["../../../src/GraphicsSystem/ParseEdgeSealDir.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAGzD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAiDlF"}

47
types/GraphicsSystem/PreViewer.d.ts vendored Normal file
View File

@@ -0,0 +1,47 @@
import { Line, LineBasicMaterial, LineDashedMaterial, Scene, Vector3, WebGLRenderer } from 'three';
import { CameraUpdate } from './CameraUpdate';
import { Cursor } from './Cursor';
export declare enum DrawMode {
Square = 0,
Cross = 1,
ObliqueCross = 2
}
export declare class PreViewer {
private container;
private _bNeedUpdate;
private _Render;
private _Scene;
protected _Camera: CameraUpdate;
private _Width;
private _Height;
/**
* 光标对象
*/
Cursor: Cursor;
constructor(container: HTMLElement);
get Renderer(): WebGLRenderer;
UpdateSize(width: number, height: number): void;
get Width(): number;
get Height(): number;
get Scene(): Scene;
get Camera(): import("three").PerspectiveCamera | import("three").OrthographicCamera;
UpdateScreen(): void;
StartRender: () => void;
Render(): void;
private InitCamera;
private InitRender;
WorldToViewPoint(pWcs: Vector3): Vector3;
ScreenPointToViewerPoint(p: Vector3): Vector3;
ViewerPointToScreenPoint(p: Vector3): Vector3;
Draw(mode: DrawMode, size: number, pt: Vector3, material: LineBasicMaterial | LineDashedMaterial, isWcs?: boolean): Line<import("three").BufferGeometry, LineBasicMaterial | LineDashedMaterial>;
/**
* 在视图中绘制线,并返回该对象
* @param pts 点表
* @param material 材质
* @param [isWCS] 点表是世界坐标系
* @param [type] 绘制类型 Line or LineSegment
* @returns
*/
DrawLine(pts: Vector3[], material: LineBasicMaterial | LineDashedMaterial, isWCS?: boolean, type?: typeof Line): Line<import("three").BufferGeometry, LineBasicMaterial | LineDashedMaterial>;
}
//# sourceMappingURL=PreViewer.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PreViewer.d.ts","sourceRoot":"","sources":["../../../src/GraphicsSystem/PreViewer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,kBAAkB,EAAgB,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKjH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,oBAAY,QAAQ;IAEhB,MAAM,IAAI;IACV,KAAK,IAAI;IACT,YAAY,IAAI;CACnB;AAGD,qBAAa,SAAS;IAiBN,OAAO,CAAC,SAAS;IAf7B,OAAO,CAAC,YAAY,CAAU;IAE9B,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO,CAAC,MAAM,CAAe;IAE7B,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IAExB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;gBAEK,SAAS,EAAE,WAAW;IAe1C,IAAI,QAAQ,kBAA2B;IAGvC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAYxC,IAAI,KAAK,WAGR;IACD,IAAI,MAAM,WAGT;IACD,IAAI,KAAK,UAA0B;IACnC,IAAI,MAAM,2EAAkC;IAC5C,YAAY;IAIZ,WAAW,aAQT;IACF,MAAM;IAMN,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,UAAU;IAwBlB,gBAAgB,CAAC,IAAI,EAAE,OAAO;IAM9B,wBAAwB,CAAC,CAAC,EAAE,OAAO;IAOnC,wBAAwB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO;IAW7C,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,GAAG,kBAAkB,EAAE,KAAK,GAAE,OAAc;IAoCvH;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,iBAAiB,GAAG,kBAAkB,EAAE,KAAK,UAAO,EAAE,IAAI,cAAO;CAiBvG"}

55
types/GraphicsSystem/RenderType.d.ts vendored Normal file
View File

@@ -0,0 +1,55 @@
/**
* 场景的渲染类型.
*/
export declare enum RenderType {
/**
* 线框模式
*/
Wireframe = 1,
/**
* 概念
*/
Conceptual = 2,
/** 概念(透明)*/
ConceptualTransparent = 82,// ConceptualTransparent原本的值是182估计是写错了不应该大于100的
/**
* 物理着色PBR
*/
Physical = 3,
Jig = 4,
Print = 5,
/**物理带线框 */
Physical2 = 6,
Edge = 7,//封边检查 OpenCabinet.UNOPENRENDERTYPE 该视图下不支持开门动作
PlaceFace = 8,//排版面 OpenCabinet.UNOPENRENDERTYPE 该视图下不支持开门动作
BigHoleFace = 81,//大孔面 OpenCabinet.UNOPENRENDERTYPE 该视图下不支持开门动作
CustomNumber = 9,//自定义编号
ModelGroove = 10,//造型槽 OpenCabinet.UNOPENRENDERTYPE 该视图下不支持开门动作
/******************************************** 在视口时的渲染模式 */
/**
* 线框模式
*/
WireframePrint = 101,
/**
* 概念
*/
ConceptualPrint = 102,
/**
* 物理着色PBR
*/
PhysicalPrint = 103,
JigPrint = 104,
PrintPrint = 105,
/**真实带线框 */
Physical2Print = 106,
CustomNumberPrint = 109
}
/** 实体的渲染颜色种类 */
export declare const ColorMap: Map<string, number>;
/** 渲染的状态 */
export declare const RenderState: {
/** 概念透明下的实体颜色 */
ConceptualColor: number;
};
export declare function IsPhysical(renderType: RenderType): renderType is RenderType.Physical | RenderType.Physical2 | RenderType.PhysicalPrint | RenderType.Physical2Print;
//# sourceMappingURL=RenderType.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RenderType.d.ts","sourceRoot":"","sources":["../../../src/GraphicsSystem/RenderType.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,oBAAY,UAAU;IAElB;;OAEG;IACH,SAAS,IAAI;IAEb;;OAEG;IACH,UAAU,IAAI;IAEd,YAAY;IACZ,qBAAqB,KAAK,CAAE,iDAAiD;IAE7E;;OAEG;IACH,QAAQ,IAAI;IAEZ,GAAG,IAAI;IACP,KAAK,IAAI;IACT,WAAW;IACX,SAAS,IAAI;IACb,IAAI,IAAI,CAAC,kDAAkD;IAC3D,SAAS,IAAI,CAAC,8CAA8C;IAC5D,WAAW,KAAK,CAAE,8CAA8C;IAChE,YAAY,IAAI,CAAC,OAAO;IACxB,WAAW,KAAK,CAAC,+CAA+C;IAEhE,0DAA0D;IAC1D;;MAEE;IACF,cAAc,MAAM;IAEpB;;OAEG;IACH,eAAe,MAAM;IAGrB;;OAEG;IACH,aAAa,MAAM;IAEnB,QAAQ,MAAM;IACd,UAAU,MAAM;IAChB,WAAW;IACX,cAAc,MAAM;IACpB,iBAAiB,MAAM;CAC1B;AAED,gBAAgB;AAChB,eAAO,MAAM,QAAQ,qBAGnB,CAAC;AAEH,YAAY;AACZ,eAAO,MAAM,WAAW;IACpB,kBAAkB;;CAErB,CAAC;AAEF,wBAAgB,UAAU,CAAC,UAAU,EAAE,UAAU,mHAGhD"}

View File

@@ -0,0 +1,50 @@
import { Singleton } from "../../Common/Singleton";
import { ExtrudeHole } from "../../DatabaseServices/3DSolid/ExtrudeHole";
import { Board, IModeling } from "../../DatabaseServices/Entity/Board";
import { Curve } from "../../DatabaseServices/Entity/Curve";
import { ExtrudeContourCurve, ExtrudeSolid } from "../../DatabaseServices/Entity/Extrude";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Shape } from "../../DatabaseServices/Shape";
import { IOriginSideModelingData } from "../../Production/Product";
/**
*计算走刀工具类
*/
export declare class FeedingToolPath extends Singleton {
/**
* 处理形状,内偏移
* @param shape 造型Shape
* @param knifRadius 刀半径/偏移距离
* @param [isOut=true] 是否是最外轮廓,如果是,洞需要外偏移一个刀半径,多段线偏移保留不闭合轮廓
*/
private HandleShape;
/**用于测试走刀路径 */
TestCalcPath(br: Board, isCd?: boolean, rk?: number): Curve[];
/**
* 计算走刀路径
*/
CalcPath(modelings: IModeling[], br: Board, rk?: number): Curve[];
GetModelFeedPath(br: {
Thickness: number;
ContourCurve: ExtrudeContourCurve;
}, modeling: IModeling, redundancyKnif?: number): Curve[];
GetSideModelFeedPath(solid: ExtrudeSolid, faceContour: Polyline, redundancyKnif?: number): Curve[];
private GrooveAddSize;
/**
* 获取所有的轮廓
* @param cus
* @param retCus 不能组成轮廓的线被添加到这里
* @returns
*/
private GetContours;
CheckModeling(br: Board): number[];
CheckSideModeling(br: Board): ExtrudeSolid[];
CheckCustomHole(br: Board): ExtrudeHole[];
HandleThoughGroove(brCon: ExtrudeContourCurve, shape: Shape, knifeRadius: number): void;
}
export declare function GetModelingFromCustomDrill(br: Board): {
modeling: (IModeling & {
originEn: ExtrudeHole;
})[];
sideModeling: IOriginSideModelingData[];
};
//# sourceMappingURL=FeedingToolPath.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"FeedingToolPath.d.ts","sourceRoot":"","sources":["../../../../src/GraphicsSystem/ToolPath/FeedingToolPath.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAEzE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAE1F,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAWrD,OAAO,EAAE,uBAAuB,EAAiC,MAAM,0BAA0B,CAAC;AAMlG;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAE1C;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IA0KnB,cAAc;IACd,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,UAAQ,EAAE,EAAE,SAAI;IAmB5C;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,SAAI,GAAG,KAAK,EAAE;IAW5D,gBAAgB,CAAC,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,mBAAmB,CAAC;KAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,SAAI,GAAG,KAAK,EAAE;IAgDjI,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,SAAI,GAAG,KAAK,EAAE;IAsC7F,OAAO,CAAC,aAAa;IA+BrB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAwCnB,aAAa,CAAC,EAAE,EAAE,KAAK;IAoBvB,iBAAiB,CAAC,EAAE,EAAE,KAAK;IA0C3B,eAAe,CAAC,EAAE,EAAE,KAAK;IAsBzB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM;CAsInF;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,KAAK;;kBAOT,WAAW;;;EA8OrD"}

View File

@@ -0,0 +1,19 @@
import { IRectInfo } from "../../Common/CurveUtils";
import { Curve } from "../../DatabaseServices/Entity/Curve";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Shape } from "../../DatabaseServices/Shape";
/**
* 优化走刀路径,连接偏移后的曲线数组
* @param offsetCus 偏移后的曲线组
* @param originShape 原始走刀形状
* @param rad 刀半径
* @returns tool path
*/
export declare function OptimizeToolPath(offsetCus: Curve[], originShape: Shape, rad: number): Curve[];
/**获取内偏移的轮廓 */
export declare function GetOffsetCurves(cu: Curve, dist: number, rectInfo?: IRectInfo): Curve[];
/** 获得曲线内偏移方向*/
export declare function GetCurveToInDir(cu: Curve): number;
/**矩形偏移,正为内偏移 */
export declare function RectOffset(rect: Polyline, rectInfo: IRectInfo, dist: number): Polyline;
//# sourceMappingURL=OptimizeToolPath.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"OptimizeToolPath.d.ts","sourceRoot":"","sources":["../../../../src/GraphicsSystem/ToolPath/OptimizeToolPath.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsD,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGxG,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAGrD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,CAqH7F;AAiHD,cAAc;AACd,wBAAgB,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS,GAAG,KAAK,EAAE,CAatF;AAED,eAAe;AACf,wBAAgB,eAAe,CAAC,EAAE,EAAE,KAAK,GAAG,MAAM,CAGjD;AAED,gBAAgB;AAChB,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,YA+B3E"}

View File

@@ -0,0 +1,18 @@
import { Curve } from "../../DatabaseServices/Entity/Curve";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Vec3 } from "../../Geometry/IVec3";
/**
* V型刀走刀数据,第一刀直接扎进去,最后一刀提刀
* @param polyline
* @param feedingDepth 走刀深度
* @param knifAngle 通常为60度.按弧度表示
*/
export declare function VKnifToolPath(polyline: Polyline, feedingDepth: number, knifAngle: number): {
pt: Vec3;
bul: number;
}[];
export declare function VData2Curve(data: {
pt: Vec3;
bul: number;
}[]): Curve[];
//# sourceMappingURL=VKnifToolPath.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"VKnifToolPath.d.ts","sourceRoot":"","sources":["../../../../src/GraphicsSystem/ToolPath/VKnifToolPath.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAElE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG5C;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;CAAE,EAAE,CAmEvH;AAGD,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;CAAE,EAAE,WAiB7D"}

97
types/GraphicsSystem/Viewer.d.ts vendored Normal file
View File

@@ -0,0 +1,97 @@
import { Matrix4, Object3D, Scene, Vector2, Vector3, WebGLRenderer } from 'three';
import { EffectComposer } from "three/examples/jsm/postprocessing/EffectComposer";
import { RenderPass } from "three/examples/jsm/postprocessing/RenderPass";
import { AAType } from '../Common/SystemEnum';
import { Database } from '../DatabaseServices/Database';
import { Entity } from '../DatabaseServices/Entity/Entity';
import { ViewportEntity } from '../DatabaseServices/ViewportEntity';
import { CameraUpdate } from './CameraUpdate';
import { GripScene } from './GripScene';
import { IViewer } from './IView';
import { OutlinePass } from './OutlinePass';
import { PreViewer } from './PreViewer';
import { RenderType } from './RenderType';
export declare class Viewer {
canvasContainer: HTMLElement;
protected NeedUpdate: boolean;
DisableRenderer: boolean;
CameraCtrl: CameraUpdate;
LookTarget: Vector3;
Renderer: WebGLRenderer;
PreViewer: PreViewer;
RendererFollowView: boolean;
/**使用后期渲染器 */
UsePass: boolean;
/**后期渲染器 */
Composer: EffectComposer;
_AAType: AAType;
RenderPass: RenderPass;
OutlinePass: OutlinePass;
private _SMAAPass;
private _Scene;
private _RenderSelectScene;
GripScene: GripScene;
private _Width;
private _Height;
private _NeedUpdateEnts;
isLayout: boolean;
ViewPorts: ViewportEntity[];
LayoutScene: Scene;
CurrentViewport: ViewportEntity;
constructor(canvasContainer: HTMLElement);
get Scene(): Scene;
set Scene(s: Scene);
get Camera(): import("three").PerspectiveCamera | import("three").OrthographicCamera;
get Width(): number;
get Height(): number;
set AAType(type: AAType);
get AAType(): AAType;
InitRender(canvasContainer: HTMLElement): void;
OnSize: (width?: number, height?: number) => void;
OnSizeEvent(): void;
private _TempMove;
StartRender: () => void;
UpdateRender(): void;
Render(): void;
private _constant;
private _planNormal;
ScreenToWorld(pt: Vector3, planNormal?: Vector3, constant?: Vector3): Vector3;
/**
* 世界坐标系转到屏幕坐标系的变换矩阵
* wcsP.applyMatrix4(dcs) => dcsP;
*/
get DCS(): Matrix4;
WorldToScreen(pt: Vector3): Vector3;
/**
* 更新视角观测目标(物体中心)
*/
UpdateLockTarget(): void;
IsLookSelect: boolean;
private _OldUsePass;
StartLookSelect(): void;
EndLookSelect(): void;
/**当前相机控制 */
get CameraControl(): CameraUpdate;
Rotate(mouseMove: Vector3): void;
Pan(mouseMove: Vector3): void;
Zoom(scale: number, center?: Vector3): void;
ZoomAll(UpdateRender?: boolean): void;
ZoomtoEntitys(ens: Entity[]): void;
ViewToTop(): void;
ViewToFront(): void;
ViewToSwiso(): void;
/**
* 获得当前视图显示图元的对象列表(Threejs对象).
*/
get VisibleObjects(): Object3D[];
get VisibleEntitys(): Entity[];
private LazyRenderDatabase;
RenderDatabase(db: Database): void;
RenderDatabaseEndEvent(): void;
UpdateRenderType(db: Database, type: RenderType): Promise<void>;
SwitchLayout(): void;
LayoutRenderEntity(en: Entity): void;
ViewportPoint(pt: Vector3 | Vector2, viewport: ViewportEntity): void;
GetIViewer(pts: (Vector3 | Vector2)[]): IViewer;
}
//# sourceMappingURL=Viewer.d.ts.map

View File

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

View File

@@ -0,0 +1,11 @@
import { PixelStreaming } from '@epicgames-ps/lib-pixelstreamingfrontend-ue5.2';
export declare class WebRtcRenderer {
pixelStreaming: PixelStreaming;
canUse: boolean;
constructor();
private Connect;
OnLinkEvent(isLink: boolean): void;
StartRenderer(): Promise<void>;
EndRenderer(): void;
}
//# sourceMappingURL=WebRtcRenderer.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"WebRtcRenderer.d.ts","sourceRoot":"","sources":["../../../src/GraphicsSystem/WebRtcRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAQhG,qBAAa,cAAc;IAEvB,cAAc,EAAE,cAAc,CAAC;IACnB,MAAM,UAAS;;YAKb,OAAO;IAoDrB,WAAW,CAAC,MAAM,EAAE,OAAO;IAErB,aAAa;IAkBnB,WAAW;CAgBd"}