This commit is contained in:
xiefan
2020-09-24 11:04:12 +08:00
commit b654ca8c7f
1633 changed files with 86830 additions and 0 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(sourceCur: Polyline | Circle | Ellipse, targetCur: 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,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,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,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,EAAE,SAAS,EAAE,KAAK,WAkBlG;AA+BD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAO9E"}

View File

@@ -0,0 +1,36 @@
import { Board } from "../DatabaseServices/Entity/Board";
import { Circle } from "../DatabaseServices/Entity/Circle";
import { Curve } from "../DatabaseServices/Entity/Curve";
import { Polyline } from "../DatabaseServices/Entity/Polyline";
import { IHighSealedItem } from "../UI/Store/BoardInterface";
/**
*曲线列表分段
* @l-arc-l,l-arc-arc-l,l-arc-l-arc-l....
*/
export declare function ParagraphCulist(cus: Curve[]): void;
/**扣除封边是否相连和连接共用精度 */
export declare const LINK_FUZZ = 0.001;
/**
*计算封边
*/
export declare function CalcEdgeSealing(cus: Curve[]): void;
export declare function GetBoardHighSeal(br: Board, sealcus: Curve[]): IHighSealedItem[];
/**偏移前后曲线起点没改变 */
export declare function OffsetOutlineSpNotChange(oldcu: Curve, newCu: Curve): boolean;
/**
* 获取板件封边轮廓线段数组
* 消除共线的数据,不改变轮廓方向
* isOffset-是否偏移轮廓用于查看
* */
export declare function GetBoardSealingCurves(br: Board, isOffset?: boolean): Curve[];
/**
* 获取板件轮廓
* 结果轮廓拆单用,统一逆时针数据
* hasSealing 轮廓是否包含封边
* 用户计算拆单侧孔面id
*/
export declare function GetSealedBoardContour(br: Board, hasSealing: boolean): Polyline | Circle | undefined;
export declare function ParagraphSealinglist(hightSeal: IHighSealedItem[], cus: Curve[]): IHighSealedItem[];
/**处理常规板件封边数据和上下左右封边值 */
export declare function HandleRectBoardSealingData(br: Board, edges: IHighSealedItem[], cus?: Curve[]): void;
//# sourceMappingURL=CalcEdgeSealing.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CalcEdgeSealing.d.ts","sourceRoot":"","sources":["../../../../src/GraphicsSystem/CalcEdgeSealing.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAG/D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAK7D;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,QAiG3C;AAED,qBAAqB;AACrB,eAAO,MAAM,SAAS,QAAO,CAAC;AAE9B;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,QAuD3C;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,qBA6B3D;AAED,iBAAiB;AACjB,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,WAOlE;AAED;;;;KAIK;AACL,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,UAAQ,GAAG,KAAK,EAAE,CAwB1E;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAmDnG;AAGD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,qBAoF9E;AAED,wBAAwB;AACxB,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,QAgC5F"}

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

@@ -0,0 +1,61 @@
import { Box3, OrthographicCamera, PerspectiveCamera, Vector3 } from 'three';
import { CADFiler } from '../DatabaseServices/CADFiler';
export declare enum CameraType {
OrthographicCamera = 1,
PerspectiveCamera = 2
}
declare type Camera = OrthographicCamera | PerspectiveCamera;
/**
*
* 相机的控制.
* ->切换相机
* ->设置视口大小
* ->旋转和移动相机.
*/
export declare class CameraUpdate {
private _CurCamera;
private _CameraArray;
private _Width;
private _Height;
private _ViewHeight;
private _Target;
private _Direction;
private _Orbit;
_MinViewHeight: number;
_MaxViewHeight: number;
constructor();
get Aspect(): number;
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;
/**
* 平移相机.
* @param {Vector3} mouseMove
*/
Pan(mouseMove: Vector3): void;
Rotate(mouseMove: Vector3, target: Vector3): void;
Zoom(scale: number, scaleCenter?: Vector3): void;
ZoomExtensBox3(box3: Box3): void;
/**
* 设置相机的观察向量.
* @param {Vector3} dir 方向向量,这个向量传入后会被更改为单位向量
*/
LookAt(dir: Vector3): void;
LookAtEvent(dir: Vector3): void;
UpdateUp(): void;
/**
* 根据视口大小,设置相机视口范围.
*/
Update(): void;
set CameraType(type: CameraType);
get CameraType(): CameraType;
SwitchCamera(): void;
ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): 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;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAQxD,oBAAY,UAAU;IAElB,kBAAkB,IAAI;IACtB,iBAAiB,IAAI;CACxB;AAED,aAAK,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,cAAc,SAAQ;IACtB,cAAc,SAAO;;IAiBrB,IAAI,MAAM,IAAI,MAAM,CAGnB;IAED,IAAI,MAAM,IAAI,MAAM,CAGnB;IACD,IAAI,UAAU,WAGb;IACD,IAAI,UAAU,CAAC,MAAM,QAAA,EAGpB;IAED,IAAI,SAAS,YAGZ;IAED,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAKrC,IAAI,KAAK,WAGR;IACD,IAAI,MAAM,WAGT;IAED;;;OAGG;IACH,GAAG,CAAC,SAAS,EAAE,OAAO;IAStB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IA0B1C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO;IAoBzC,cAAc,CAAC,IAAI,EAAE,IAAI;IAsBzB;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,OAAO;IAQnB,WAAW,CAAC,GAAG,EAAE,OAAO;IAExB,QAAQ;IAIR;;OAEG;IACH,MAAM;IA+BN,IAAI,UAAU,CAAC,IAAI,EAAE,UAAU,EAI9B;IACD,IAAI,UAAU,IALO,UAAU,CAW9B;IAED,YAAY;IAaZ,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAYvB,SAAS,CAAC,IAAI,EAAE,QAAQ;CAO3B"}

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

@@ -0,0 +1,52 @@
import { Object3D, Vector3 } from "three";
export declare enum CursorMode {
None = 0,
GetEntity = 1,
GetPoint = 2
}
/**
* 在前视图中显示的光标
*/
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);
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);
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,EAAsC,QAAQ,EAAE,OAAO,EAAS,MAAM,OAAO,CAAC;AAQrF,oBAAY,UAAU;IAElB,IAAI,IAAI;IACR,SAAS,IAAI;IACb,QAAQ,IAAI;CACf;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;IACD,IAAI,YAAY,CAAC,CAAC,EAAE,MAAM,EAMzB;IACD,IAAI,YAAY,CAAC,CAAC,EAAE,MAAM,EAUzB;IACD,YAAY;IA+BZ,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;IAGD,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"}

6
types/GraphicsSystem/FXAAPass.d.ts vendored Normal file
View File

@@ -0,0 +1,6 @@
import { ShaderPass } from "three/examples/jsm/postprocessing/ShaderPass";
export declare class FXAAPass extends ShaderPass {
constructor();
setSize(width: number, height: number): void;
}
//# sourceMappingURL=FXAAPass.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"FXAAPass.d.ts","sourceRoot":"","sources":["../../../../src/GraphicsSystem/FXAAPass.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAE1E,qBAAa,QAAS,SAAQ,UAAU;;IAOpC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAIxC"}

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;IAgBpB,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 {
/**
* 两者都不延伸
*/
OnBothOperands = 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): 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): IntersectResult[];
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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"}

52
types/GraphicsSystem/Octree.d.ts vendored Normal file
View File

@@ -0,0 +1,52 @@
import { Vector3 } from "three";
/**
* 移植THree。js八叉树未完善
*/
export declare class Octree {
nodeCount: any;
INDEX_INSIDE_CROSS: any;
INDEX_OUTSIDE_OFFSET: any;
INDEX_OUTSIDE_POS_X: any;
INDEX_OUTSIDE_NEG_X: any;
INDEX_OUTSIDE_POS_Y: any;
INDEX_OUTSIDE_NEG_Y: any;
INDEX_OUTSIDE_POS_Z: any;
INDEX_OUTSIDE_NEG_Z: any;
INDEX_OUTSIDE_MAP: any;
FLAG_POS_X: any;
FLAG_NEG_X: any;
FLAG_POS_Y: any;
FLAG_NEG_Y: any;
FLAG_POS_Z: any;
FLAG_NEG_Z: any;
utilVec31Search: Vector3;
utilVec32Search: Vector3;
scene: any;
visualGeometry: any;
visualMaterial: any;
objects: any;
objectsMap: {};
objectsData: any[];
objectsDeferred: any[];
depthMax: any;
objectsThreshold: any;
overlapPct: any;
undeferred: any;
root: any;
constructor(parameters?: any);
update(): void;
add(object: any, options?: any): void;
addDeferred(object: any, options?: any): void;
addObjectData(object: any, part: any): void;
remove(object: any): void;
extend(octree: Octree): void;
rebuild(): void;
updateObject(object: any): void;
search(position: Vector3, radius: number, organizeByObject: boolean, direction: Vector3): void;
setRoot(root: any): void;
getDepthEnd(): number;
getNodeCountEnd(): number;
getObjectCountEnd(): number;
toConsole(): void;
}
//# sourceMappingURL=Octree.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Octree.d.ts","sourceRoot":"","sources":["../../../../src/GraphicsSystem/Octree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgB,MAAM,OAAO,CAAC;AAS9C;;GAEG;AACH,qBAAa,MAAM;IAEf,SAAS,MAAC;IACV,kBAAkB,MAAC;IACnB,oBAAoB,MAAC;IACrB,mBAAmB,MAAC;IACpB,mBAAmB,MAAC;IACpB,mBAAmB,MAAC;IACpB,mBAAmB,MAAC;IACpB,mBAAmB,MAAC;IACpB,mBAAmB,MAAC;IACpB,iBAAiB,MAAC;IAClB,UAAU,MAAC;IACX,UAAU,MAAC;IAAC,UAAU,MAAC;IAAC,UAAU,MAAC;IAAC,UAAU,MAAC;IAAC,UAAU,MAAC;IAC3D,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,MAAC;IACN,cAAc,MAAC;IACf,cAAc,MAAC;IACf,OAAO,MAAC;IACR,UAAU,KAAM;IAChB,WAAW,QAAM;IACjB,eAAe,QAAM;IAErB,QAAQ,MAAC;IACT,gBAAgB,MAAC;IACjB,UAAU,MAAC;IACX,UAAU,MAAC;IACX,IAAI,MAAC;gBACO,UAAU,CAAC,EAAE,GAAG;IAmE5B,MAAM;IAKN,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG;IAK9B,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG;IAKtC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IAKpC,MAAM,CAAC,MAAM,EAAE,GAAG;IAKlB,MAAM,CAAC,MAAM,EAAE,MAAM;IAKrB,OAAO;IAKP,YAAY,CAAC,MAAM,EAAE,GAAG;IAKxB,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO;IAKvF,OAAO,CAAC,IAAI,EAAE,GAAG;IAKjB,WAAW,IAAI,MAAM;IAKrB,eAAe,IAAI,MAAM;IAMzB,iBAAiB,IAAI,MAAM;IAM3B,SAAS;CAIZ"}

View File

@@ -0,0 +1,60 @@
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 { Polyline } from "../DatabaseServices/Entity/Polyline";
interface IOffsetResult {
index: number;
curve: Curve;
sp?: Vector3;
preArc?: Curve;
ep?: Vector3;
nextArc?: Curve;
paddingCurve?: Curve[];
}
declare class CurveTreeNode {
curve: Curve;
children: CurveTreeNode[];
box: Box3;
used: boolean;
constructor(curve: Curve, box?: Box3);
TrimBy(contour: Contour, box: Box3): void;
get Nodes(): CurveTreeNode[];
}
export declare class OffsetPolyline {
_Polyline: Polyline;
_OffsetDist: number;
_ToolPath: boolean;
private _OffsetDistSq;
_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;
constructor(_Polyline: Polyline, _OffsetDist: number, _ToolPath?: boolean, _OffsetDistSq?: number);
Do(): Polyline[];
InitSubCurves(): this;
protected GeneralCirclesAndVertexs(): void;
protected OffsetSubCurves(): void;
protected LinkSubCurves(): void;
private IsSharpCorner;
protected GeneralTrimContours(): void;
protected TrimByContours(): void;
private FilterInvalidCurve;
private JoinCollinear;
private LinkResultPolyline;
CheckPointDir(pt: Vector3): boolean;
GetPointAtCurveDir(pt: Vector3): number;
protected CreateArc(center: Vector3, startP: Vector3, endP?: Vector3): Arc;
}
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":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAK/C,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAO/D,UAAU,aAAa;IAEnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC;CAC1B;AAED,cAAM,aAAa;IAKI,KAAK,EAAE,KAAK;IAH/B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,GAAG,EAAE,IAAI,CAAC;IACV,IAAI,EAAE,OAAO,CAAC;gBACK,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI;IAK3C,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI;IAiDlC,IAAI,KAAK,oBAUR;CACJ;AAED,qBAAa,cAAc;IA0BJ,SAAS,EAAE,QAAQ;IAAS,WAAW,EAAE,MAAM;IAAS,SAAS;IAChF,OAAO,CAAC,aAAa;IAxBzB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAGnB,kBAAkB,EAAE,aAAa,EAAE,CAAC;IAEpC,eAAe,EAAE,aAAa,EAAE,CAAC;IAEjC,qBAAqB,EAAE,aAAa,EAAE,CAAC;IAGvC,qBAAqB,EAAE,OAAO,EAAE,CAAC;IACjC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAG5B,UAAU,EAAE,QAAQ,EAAE,CAAC;IAEvB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;gBAEL,SAAS,EAAE,QAAQ,EAAS,WAAW,EAAE,MAAM,EAAS,SAAS,UAAQ,EAChF,aAAa,SAA2B;IAKpD,EAAE;IAoCF,aAAa;IAUb,SAAS,CAAC,wBAAwB;IAWlC,SAAS,CAAC,eAAe;IAkBzB,SAAS,CAAC,aAAa;IA8JvB,OAAO,CAAC,aAAa;IAUrB,SAAS,CAAC,mBAAmB;IAuJ7B,SAAS,CAAC,cAAc;IAsBxB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,aAAa;IAoCrB,OAAO,CAAC,kBAAkB;IAqE1B,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO;IAKnC,kBAAkB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM;IA0FvC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO;CAOvE"}

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: any): void;
changeVisibilityOfNonSelectedObjects(bVisible: any): 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;IAwG3C,OAAO;IAaP,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAuBrC,iCAAiC,CAAC,QAAQ,KAAA;IAqC1C,oCAAoC,CAAC,QAAQ,KAAA;IA8D7C,mBAAmB;IAYnB,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO;IA4IrI,sBAAsB;IA+CtB,wBAAwB;IA8CxB,wBAAwB,CAAC,SAAS,EAAE,MAAM;IAsD1C,kBAAkB;IAoDlB,MAAM,CAAC,cAAc,UAAyB;IAC9C,MAAM,CAAC,cAAc,UAAyB;CACjD"}

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

@@ -0,0 +1,46 @@
import { Line, LineBasicMaterial, LineDashedMaterial, Scene, Vector3 } 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 m_bNeedUpdate;
private m_Render;
private m_Scene;
protected m_Camera: CameraUpdate;
private m_Width;
private m_Height;
/**
* 光标对象
*/
Cursor: Cursor;
private m_DomEl;
constructor(container: HTMLElement);
UpdateSize(width: number, height: number): void;
get Width(): number;
get Height(): number;
get Scene(): Scene;
get Camera(): import("three").OrthographicCamera | import("three").PerspectiveCamera;
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,EAAiB,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;IAElB,OAAO,CAAC,aAAa,CAAU;IAE/B,OAAO,CAAC,QAAQ,CAAgB;IAEhC,OAAO,CAAC,OAAO,CAAe;IAE9B,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IAEzB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAGf,OAAO,CAAC,OAAO,CAAc;gBACjB,SAAS,EAAE,WAAW;IAkBlC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAYxC,IAAI,KAAK,WAGR;IACD,IAAI,MAAM,WAGT;IACD,IAAI,KAAK,UAA2B;IACpC,IAAI,MAAM,2EAAmC;IAC7C,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"}

View File

@@ -0,0 +1,10 @@
import Stats = require('stats.js');
import { Viewer } from './Viewer';
/**
* 渲染性能状态查看器. 在DOM上显示一个渲染帧数
*/
export declare class RenderPerformanceStatus {
m_Stats: Stats;
constructor(view: Viewer);
}
//# sourceMappingURL=RenderPerformanceStatus.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RenderPerformanceStatus.d.ts","sourceRoot":"","sources":["../../../../src/GraphicsSystem/RenderPerformanceStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,QAAQ,UAAU,CAAC,CAAC;AAGnC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;GAEG;AACH,qBAAa,uBAAuB;IAEhC,OAAO,EAAE,KAAK,CAAC;gBACH,IAAI,EAAE,MAAM;CAkB3B"}

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

@@ -0,0 +1,25 @@
/**
* 场景的渲染类型.
*
* @export
* @enum {number}
*/
export declare enum RenderType {
/**
* 线框模式
*/
Wireframe = 1,
/**
* 概念
*/
Conceptual = 2,
/**
* 物理着色PBR
*/
Physical = 3,
Jig = 4,
Print = 5,
/**物理带线框 */
Physical2 = 6
}
//# sourceMappingURL=RenderType.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RenderType.d.ts","sourceRoot":"","sources":["../../../../src/GraphicsSystem/RenderType.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,oBAAY,UAAU;IAElB;;OAEG;IACH,SAAS,IAAI;IAEb;;OAEG;IACH,UAAU,IAAI;IAGd;;OAEG;IACH,QAAQ,IAAI;IAEZ,GAAG,IAAI;IACP,KAAK,IAAI;IACT,WAAW;IACX,SAAS,IAAI;CAChB"}

View File

@@ -0,0 +1,38 @@
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 { Shape } from "../../DatabaseServices/Shape";
/**
*计算走刀工具类
*/
export declare class FeedingToolPath extends Singleton {
/**
* 处理形状,内偏移
* @param shape 造型Shape
* @param knifRadius 刀半径/偏移距离
* @param [isOut=true] 是否是最外轮廓,如果是,洞需要外偏移一个刀半径,多段线偏移保留不闭合轮廓
*/
private HandleShape;
/**用于测试走刀路径 */
TestCalcPath(br: Board, isCd?: boolean): Curve[];
/**
* 计算走刀路径
*/
CalcPath(modelings: IModeling[], br: Board): Curve[];
GetModelFeedPath(br: Board, m: IModeling): Curve[];
private GrooveAddSize;
private GetContours;
CheckModeling(br: Board): number[];
CheckCustomHole(br: Board): ExtrudeHole[];
HandleThoughGroove(br: Board, shape: Shape, knifeRadius: number): void;
}
export declare function GetModelingFromCustomDrill(br: Board): {
modeling: (IModeling & {
originEn: ExtrudeHole;
})[];
sideModeling: (IModeling & {
originEn: ExtrudeHole;
})[];
};
//# 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":"AAGA,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;AAG5D,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAcrD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAE1C;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IA0InB,cAAc;IACd,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,UAAQ;IAwDpC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE;IASpD,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,GAAG,KAAK,EAAE;IAiClD,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,WAAW;IAuCnB,aAAa,CAAC,EAAE,EAAE,KAAK;IAcvB,eAAe,CAAC,EAAE,EAAE,KAAK;IAoBzB,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM;CAmHlE;AACD,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,KAAK;;kBAKT,WAAW;;;kBACP,WAAW;;EAoGzD"}

View File

@@ -0,0 +1,14 @@
import { Curve } from "../../DatabaseServices/Entity/Curve";
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): Curve[];
/** 获得曲线内偏移方向*/
export declare function GetCurveToInDir(cu: Curve): number;
//# 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":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAG5D,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,CAwH7F;AAiHD,wBAAgB,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,CAMhE;AAED,eAAe;AACf,wBAAgB,eAAe,CAAC,EAAE,EAAE,KAAK,GAAG,MAAM,CAGjD"}

View File

@@ -0,0 +1,2 @@
export {};
//# 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":""}

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

@@ -0,0 +1,85 @@
import { Matrix4, Object3D, Scene, Vector3, WebGLRenderer, Vector2 } 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 { CameraUpdate } from './CameraUpdate';
import { GripScene } from './GripScene';
import { OutlinePass } from './OutlinePass';
import { PreViewer } from './PreViewer';
import { ViewportEntity } from '../DatabaseServices/ViewportEntity';
import { IViewer } from './IView';
export declare class Viewer {
protected NeedUpdate: boolean;
CameraCtrl: CameraUpdate;
LookTarget: Vector3;
Renderer: WebGLRenderer;
PreViewer: PreViewer;
UsePass: boolean;
_AAType: AAType;
RenderPass: RenderPass;
OutlinePass: OutlinePass;
Composer: EffectComposer;
private _SMAAPass;
private _Scene;
private _RenderSelectScene;
GripScene: GripScene;
DomEl: HTMLElement;
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").OrthographicCamera | import("three").PerspectiveCamera;
get Width(): number;
get Height(): number;
set AAType(type: AAType);
get AAType(): AAType;
InitRender(canvasContainer: HTMLElement): void;
OnSize: (width?: number, height?: number) => void;
StartRender: () => void;
UpdateRender(): void;
Render(): void;
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 Control(): 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[];
RenderDatabase(db: Database): void;
SwitchLayout(): void;
AddViewport(en: Entity, isZoom?: boolean): 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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"}