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,48 @@
import { Box3, BufferGeometry, CylinderBufferGeometry, LineSegments, Mesh, Object3D, Vector3, Matrix3 } from "three";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from '../CADFiler';
import { Hole } from "./Hole";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
export declare enum GangDrillType {
/**偏心轮 */
Pxl = 0,
/**连接杆 */
Ljg = 1,
/**预埋件 */
Ymj = 2,
/**层板钉 */
Nail = 3,
/** 木销 */
Wood = 4,
/** 通孔 */
TK = 5,
WoodPXL = 6
}
export declare class CylinderHole extends Hole {
private _Radius;
private type;
constructor();
static CreateCylHole(radius: number, height: number, type: GangDrillType): CylinderHole;
get Type(): GangDrillType;
set Type(t: GangDrillType);
set Radius(r: number);
get Height(): number;
set Height(v: number);
get Radius(): number;
get BoundingBox(): Box3;
private _MeshGeometry;
get MeshGeometry(): CylinderBufferGeometry;
private _EdgeGeometry;
private get EdgeGeometry();
GetGripPoints(): Vector3[];
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
InitDrawObject(renderType: RenderType): LineSegments<BufferGeometry, import("three").LineBasicMaterial> | Mesh<CylinderBufferGeometry, import("three").ShaderMaterial>;
private GetObject3DByRenderType;
UpdateDrawObject(type: RenderType, obj: Object3D): void;
UpdateDrawObjectMaterial(type: RenderType, obj: Object3D): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
export declare function FastDrillingMeshGeometry(radius: number, height: number): CylinderBufferGeometry;
export declare function FastDrillingEdgeGeometry(radius: number, height: number): BufferGeometry;
//# sourceMappingURL=CylinderHole.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CylinderHole.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/3DSolid/CylinderHole.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,sBAAsB,EAA0B,YAAY,EAAW,IAAI,EAAE,QAAQ,EAAmB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIvK,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,oBAAY,aAAa;IAErB,SAAS;IACT,GAAG,IAAI;IACP,SAAS;IACT,GAAG,IAAI;IACP,SAAS;IACT,GAAG,IAAI;IACP,SAAS;IACT,IAAI,IAAI;IACR,SAAS;IACT,IAAI,IAAI;IACR,SAAS;IACT,EAAE,IAAI;IACN,OAAO,IAAI;CACd;AAKD,qBACa,YAAa,SAAQ,IAAI;IAElC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,IAAI,CAAoC;;IAMhD,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa;IAQxE,IAAI,IAAI,IAII,aAAa,CADxB;IACD,IAAI,IAAI,CAAC,CAAC,EAAE,aAAa,EAOxB;IAED,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAUnB;IACD,IAAI,MAAM,IAII,MAAM,CADnB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAQnB;IACD,IAAI,MAAM,IAxBI,MAAM,CA2BnB;IACD,IAAI,WAAW,SAId;IACD,OAAO,CAAC,aAAa,CAAyB;IAC9C,IAAI,YAAY,2BAMf;IAED,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,KAAK,YAAY,GAOvB;IACD,aAAa;IAOb,mBAAmB,CACf,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,OAAO,GACpB,OAAO,EAAE;IAeZ,cAAc,CAAC,UAAU,EAAE,UAAU;IAIrC,OAAO,CAAC,uBAAuB;IAO/B,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAKhD,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAaxD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAkBlC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAO3B;AAKD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,0BAUtE;AAGD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAwBvF"}

View File

@@ -0,0 +1,23 @@
import * as THREE from 'three';
import { Object3D, Vector3 } from "three";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from '../CADFiler';
import { Entity } from '../Entity/Entity';
export declare class Cylineder extends Entity {
private m_Radius;
private m_Height;
private m_Center;
constructor(rad?: number, height?: number);
get Radius(): number;
set Radius(v: number);
get Height(): number;
set Height(v: number);
get Center(): Vector3;
set Center(v: Vector3);
CreateGeometry(): THREE.ExtrudeGeometry;
InitDrawObject(renderType: RenderType): Object3D;
UpdateDrawObject(type: RenderType, en: Object3D): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=Cylineder.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Cylineder.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/3DSolid/Cylineder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAsB,QAAQ,EAAY,OAAO,EAAmB,MAAM,OAAO,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,qBACa,SAAU,SAAQ,MAAM;IAEjC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAA0B;gBAC9B,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAMzC,IAAI,MAAM,IAII,MAAM,CADnB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAKnB;IACD,IAAI,MAAM,IAII,MAAM,CADnB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAKnB;IACD,IAAI,MAAM,IAII,OAAO,CADpB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,OAAO,EAKpB;IACD,cAAc;IASd,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ;IAIhD,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ;IAO/C,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAQlC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAQ3B"}

View File

@@ -0,0 +1,48 @@
import { BufferGeometry, Geometry, Matrix3, Matrix4, Object3D, Vector3 } from "three";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { Box3Ext } from "../../Geometry/Box";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from "../CADFiler";
import { DragPointType } from "../Entity/DragPointType";
import { ExtureContourCurve, ExtrudeSolid } from "../Entity/Extrude";
import { Shape } from "../Shape";
import { Hole } from "./Hole";
import { OBB } from './../../Geometry/OBB/obb';
export declare class ExtrudeHole extends Hole {
private _contourCurve;
private _EdgeGeometry;
protected _knifeRadius: number;
isHole: boolean;
get KnifeRadius(): number;
set KnifeRadius(v: number);
Explode(): ExtureContourCurve[];
get ContourCurve(): ExtureContourCurve;
set ContourCurve(curve: ExtureContourCurve);
CheckContourCurve(): void;
protected ApplyScaleMatrix(m: Matrix4): this;
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
get Shape(): Shape;
get BoundingBoxInOCS(): Box3Ext;
get BoundingBox(): import("three").Box3;
private get EdgeGeometry();
private _MeshGeometry;
get MeshGeometry(): Geometry | BufferGeometry;
private GeneralMeshGeometry;
GetGripOrStretchPoints(dragType: DragPointType): Vector3[];
private GetStrectchPointCountList;
MoveGripOrStretchPoints(indexList: number[], vec: Vector3, dragType: DragPointType): void;
IsStretchHeight(indexs: number[]): boolean;
MoveGripOrStretchPointsOnly(indexList: Array<number>, vec: Vector3, dragType: DragPointType): void;
GetGripPoints(): Array<Vector3>;
GetStretchPoints(): Vector3[];
MoveGripPoints(indexList: number[], vec: Vector3): void;
MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
Convert2ExtrudeSolid(): ExtrudeSolid;
InitDrawObject(renderType?: RenderType): Object3D;
UpdateDrawObject(renderType: RenderType, obj: Object3D): Object3D;
UpdateDrawObjectMaterial(renderType: RenderType, obj: Object3D): void;
get OBB(): OBB;
ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=ExtrudeHole.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"ExtrudeHole.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/3DSolid/ExtrudeHole.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA2C,QAAQ,EAAgB,OAAO,EAAE,OAAO,EAAQ,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAKnJ,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAM/C,qBACa,WAAY,SAAQ,IAAI;IAEjC,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,aAAa,CAAgB;IACrC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAK;IACvB,MAAM,UAAQ;IAC1B,IAAI,WAAW,IAII,MAAM,CADxB;IACD,IAAI,WAAW,CAAC,CAAC,EAAE,MAAM,EAOxB;IACD,OAAO;IAIP,IAAI,YAAY,IAKQ,kBAAkB,CAFzC;IAED,IAAI,YAAY,CAAC,KAAK,EAAE,kBAAkB,EA0BzC;IACD,iBAAiB;IAcjB,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAW5C,mBAAmB,CACf,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,OAAO,GACpB,OAAO,EAAE;IA8BZ,IAAI,KAAK,UAKR;IACD,IAAI,gBAAgB,YAKnB;IACD,IAAI,WAAW,yBAMd;IACD,OAAO,KAAK,YAAY,GAOvB;IACD,OAAO,CAAC,aAAa,CAA4B;IACjD,IAAI,YAAY,8BAOf;IACD,OAAO,CAAC,mBAAmB;IAY3B,sBAAsB,CAAC,QAAQ,EAAE,aAAa;IAW9C,OAAO,CAAC,yBAAyB;IAIjC,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa;IAalF,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE;IAUhC,2BAA2B,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa;IA6E3F,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC;IAI/B,gBAAgB;IAIhB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO;IAIhD,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO;IAIxD,oBAAoB;IASpB,cAAc,CAAC,UAAU,GAAE,UAAiC;IA+B5D,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAyBtD,wBAAwB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAa9D,IAAI,GAAG,IAAI,GAAG,CAIb;IACD,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAavB,SAAS,CAAC,IAAI,EAAE,QAAQ;CAQ3B"}

View File

@@ -0,0 +1,13 @@
import { Entity } from '../Entity/Entity';
import { ObjectId } from '../ObjectId';
import { CADFiler } from '../CADFiler';
export declare class Hole extends Entity {
FId: ObjectId;
MId: ObjectId;
protected _Height: number;
get Height(): number;
set Height(v: number);
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=Hole.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Hole.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/3DSolid/Hole.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBACa,IAAK,SAAQ,MAAM;IAEhB,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,QAAQ,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,IAAI,MAAM,IAII,MAAM,CADnB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAQnB;IACD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAiBlC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAQ3B"}

View File

@@ -0,0 +1,38 @@
import { Geometry, Matrix4, Object3D, Vector3 } from "three";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from "../CADFiler";
import { CADObject } from "../CADObject";
import { Entity } from "../Entity/Entity";
import { Polyline } from "../Entity/Polyline";
export declare function AxisCS(n: Vector3): Matrix4;
export declare class RevolveSolid extends Entity {
private _StartAngle;
private _EndAngle;
private _Contour;
constructor(axisDirection?: Vector3, axisPos?: Vector3, contour?: Polyline, _StartAngle?: number, _EndAngle?: number);
get Contour(): Polyline;
GetGripPoints(): Vector3[];
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3): Vector3[];
MoveGripPoints(indexs: number[], vec: Vector3): void;
private _MeshGeometry;
private _CacheContourPoints;
private _CacheContourPoints3D;
private _CacheContourPoints3DQ;
private _CacheContourPoints3DQ2;
private _CacheContourFaces;
private _CacheIsRev;
get MeshGeometry(): Geometry;
InitDrawObject(renderType?: RenderType): Object3D;
UpdateDrawGeometry(): void;
UpdateDrawObject(type: RenderType, obj: Object3D): Object3D;
/**
* 更新实体Jig状态时的材质
*/
UpdateJigMaterial(color?: number): void;
RestoreJigMaterial(): void;
protected _ReadFile(file: CADFiler): this;
WriteFile(file: CADFiler): this;
ApplyPartialUndo(undoData: CADObject): void;
}
//# sourceMappingURL=RevolveSolid.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RevolveSolid.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/3DSolid/RevolveSolid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,QAAQ,EAAE,OAAO,EAA4B,QAAQ,EAAuB,OAAO,EAAE,MAAM,OAAO,CAAC;AAInH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAI7D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK9C,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAM1C;AAGD,qBACa,YAAa,SAAQ,MAAM;IAOhC,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,SAAS;IANrB,OAAO,CAAC,QAAQ,CAAW;gBAEvB,aAAa,CAAC,EAAE,OAAO,EACvB,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,QAAQ,EACV,WAAW,SAAI,EACf,SAAS,SAAc;IAuDnC,IAAI,OAAO,aAA4B;IAEvC,aAAa;IAeb,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO;IAoBpF,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO;IAkB7C,OAAO,CAAC,aAAa,CAAW;IAEhC,OAAO,CAAC,mBAAmB,CAAY;IACvC,OAAO,CAAC,qBAAqB,CAAY;IAEzC,OAAO,CAAC,sBAAsB,CAAY;IAC1C,OAAO,CAAC,uBAAuB,CAAmB;IAElD,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,WAAW,CAAU;IAE7B,IAAI,YAAY,aA6Gf;IAGD,cAAc,CAAC,UAAU,GAAE,UAAiC;IAO5D,kBAAkB;IAKlB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAqBhD;;MAEE;IACF,iBAAiB,CAAC,KAAK,SAAI;IAK3B,kBAAkB;IAWlB,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAalC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAUxB,gBAAgB,CAAC,QAAQ,EAAE,SAAS;CAKvC"}

View File

@@ -0,0 +1,50 @@
import { BoxBufferGeometry, Matrix3, Object3D, Vector3 } from "three";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { Box3Ext } from "../../Geometry/Box";
import { SweepGeometry } from '../../Geometry/SweepGeometry';
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from '../CADFiler';
import { Curve } from "../Entity/Curve";
import { Entity } from "../Entity/Entity";
import { Polyline } from '../Entity/Polyline';
import { OBB } from './../../Geometry/OBB/obb';
export declare class SweepSolid extends Entity {
private _Contour;
private _PathCurve;
constructor(contour?: Polyline, pathCurve?: Curve);
get Contour(): Polyline;
get Path(): Curve;
Reverse(): void;
/**保持路径左下角在0点 */
private PathTo0;
/**
* 将轮廓变换到wcs空间,当用户选定某个与扫描线起点相切的轮廓时.
*/
private TransfromPathToWCS;
private _MeshGeometry;
private _lineGeo;
get MeshGeometry(): SweepGeometry | BoxBufferGeometry;
getLineGeo(pts: number[]): void;
private _EdgeGeometry;
private get EdgeGeometry();
InitDrawObject(renderType: RenderType): Object3D;
UpdateDrawGeometry(): void;
UpdateDrawObject(renderType: RenderType, obj: Object3D): Object3D;
/**
* 当实体需要被更新时,更新实体材质
*/
UpdateDrawObjectMaterial(type: RenderType, obj: Object3D): void;
get BoundingBox(): Box3Ext;
get OBB(): OBB;
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
GetGripPoints(): Vector3[];
GetStretchPoints(): Vector3[];
private UpdateEndMtx;
private GetEndPoint;
private GetMidPoints;
MoveGripPoints(indexList: number[], vec: Vector3): void;
MoveStretchPoints(indexList: number[], vec: Vector3): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=SweepSolid.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"SweepSolid.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/3DSolid/SweepSolid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA+D,OAAO,EAAiB,QAAQ,EAAE,OAAO,EAAgE,MAAM,OAAO,CAAC;AAOhN,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9C,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAG/C,qBACa,UAAW,SAAQ,MAAM;IAElC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,UAAU,CAAQ;gBACd,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,KAAK;IAkBjD,IAAI,OAAO,aAGV;IACD,IAAI,IAAI,UAGP;IACD,OAAO;IAMP,gBAAgB;IAChB,OAAO,CAAC,OAAO;IAMf;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4D1B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAe;IAC/B,IAAI,YAAY,sCAgBf;IACD,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE;IAQxB,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,KAAK,YAAY,GAOvB;IAED,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ;IAkChD,kBAAkB;IAMlB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAmCtD;;OAEG;IACH,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAuBxD,IAAI,WAAW,YAGd;IACD,IAAI,GAAG,IAAI,GAAG,CAKb;IACD,mBAAmB,CACf,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,OAAO,GACpB,OAAO,EAAE;IA0BZ,aAAa;IAOb,gBAAgB;IAOhB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,WAAW;IAiEnB,OAAO,CAAC,YAAY;IAepB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO;IAOhD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO;IAOnD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAclC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAO3B"}

View File

@@ -0,0 +1,13 @@
import { CADFiler } from './CADFiler';
import { ISerialize } from './ISerialize';
import { CADObject } from './CADObject';
/**
* 保存对象创建或者修改时的所有数据记录
*/
export declare class AllObjectData implements ISerialize {
file: CADFiler;
constructor(obj?: CADObject);
ReadFile(file: CADFiler): this;
WriteFile(file: CADFiler): this;
}
//# sourceMappingURL=AllObjectData.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"AllObjectData.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/AllObjectData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,qBACa,aAAc,YAAW,UAAU;IAE5C,IAAI,EAAE,QAAQ,CAAC;gBACH,GAAG,CAAC,EAAE,SAAS;IAS3B,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAQvB,SAAS,CAAC,IAAI,EAAE,QAAQ;CAM3B"}

14
types/DatabaseServices/AutoRecord.d.ts vendored Normal file
View File

@@ -0,0 +1,14 @@
export declare const ISPROXYKEY = "_isProxy";
/**
* 自动对CADObject的属性添加属性记录器,自动调用 `WriteAllObjectRecord`
* 如果属性是数组,那么自动添加`Proxy`.
* 可以使用`ISPROXYKEY`覆盖这个函数的代理行为(使用CADObject.CreateProxyArray快速覆盖)
*
* @param target
* @param property
* @param [descriptor]
*/
export declare function AutoRecord(target: {
WriteAllObjectRecord: () => void;
}, property: string, descriptor?: PropertyDecorator): void;
//# sourceMappingURL=AutoRecord.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"AutoRecord.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/AutoRecord.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,aAAa,CAAC;AAErC;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACtB,MAAM,EAAE;IAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;CAAE,EAC7C,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,iBAAiB,QAyDjC"}

View File

@@ -0,0 +1,4 @@
import { SymbolTable } from "./SymbolTable";
export declare class BlockTable extends SymbolTable {
}
//# sourceMappingURL=BlockTable.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"BlockTable.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/BlockTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,qBACa,UAAW,SAAQ,WAAW;CAG1C"}

View File

@@ -0,0 +1,20 @@
import { Database } from './Database';
import { Entity } from './Entity/Entity';
import { ObjectCollection } from './ObjectCollection';
import { SymbolTableRecord } from './SymbolTableRecord';
import { CADFiler } from './CADFiler';
import { Status } from '../Common/Status';
export declare class BlockTableRecord extends SymbolTableRecord {
EntityCol: ObjectCollection<Entity>;
constructor();
SetOwnerDatabase(db: Database): this;
get Entitys(): Entity[];
Add(obj: Entity, isCheckObjectCleanly?: boolean): Status;
Append(entity: Entity, isCheckObjectCleanly?: boolean): void;
AppendEvent(entity: Entity): void;
Remove(entity: Entity): void;
Destroy(): void;
ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=BlockTableRecord.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"BlockTableRecord.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/BlockTableRecord.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,qBACa,gBAAiB,SAAQ,iBAAiB;IAEnD,SAAS,2BAAkC;;IAO3C,gBAAgB,CAAC,EAAE,EAAE,QAAQ;IAO7B,IAAI,OAAO,aAGV;IACD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,oBAAoB,UAAO,GAAG,MAAM;IAMrD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,oBAAoB,UAAO;IAMlD,WAAW,CAAC,MAAM,EAAE,MAAM;IAI1B,MAAM,CAAC,MAAM,EAAE,MAAM;IAKrB,OAAO;IAQP,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAOvB,SAAS,CAAC,IAAI,EAAE,QAAQ;CAO3B"}

View File

@@ -0,0 +1,7 @@
import { ApplicationService } from "../ApplicationServices/Application";
import { CADObject } from "./CADObject";
export declare class BoardLinesReactor {
constructor(app: ApplicationService);
AutoChangeBoardLines(ent: CADObject): boolean;
}
//# sourceMappingURL=BoardLinesReactor.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"BoardLinesReactor.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/BoardLinesReactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAO,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,qBAAa,iBAAiB;gBAEd,GAAG,EAAE,kBAAkB;IAyBnC,oBAAoB,CAAC,GAAG,EAAE,SAAS;CAwBtC"}

13
types/DatabaseServices/CADFactory.d.ts vendored Normal file
View File

@@ -0,0 +1,13 @@
/**
* CAD对象工厂,通过注册 和暴露的创建方法,动态创建对象
*/
export declare class CADFactory {
private constructor();
private objectNameMap;
private static factory;
static RegisterObject(C: any): void;
static RegisterObjectAlias(C: any, name: string): void;
static CreateObject(name: string): any;
}
export declare function Factory(target: Object): void;
//# sourceMappingURL=CADFactory.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CADFactory.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/CADFactory.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,qBAAa,UAAU;IAEnB,OAAO;IACP,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAoB;IAC1C,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG;IAI5B,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM;IAI/C,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;CAKzC;AAGD,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,QAGrC"}

35
types/DatabaseServices/CADFiler.d.ts vendored Normal file
View File

@@ -0,0 +1,35 @@
import { CADObject } from './CADObject';
import { Database } from './Database';
import { ISerialize } from './ISerialize';
import { ObjectId } from './ObjectId';
/**
* CAD文件数据
*/
export declare class CADFiler {
protected _datas: any[];
database: Database;
private readIndex;
constructor(_datas?: any[]);
Destroy(): void;
get Data(): any[];
set Data(data: any[]);
Clear(): this;
Reset(): this;
WriteString(str: string): this;
ReadString(): string;
WriteObject(obj: ISerialize): this;
ReadObject<T extends ISerialize = CADObject>(obj?: T): T;
CloneObjects(objects: CADObject[], clonedObjects?: CADObject[]): CADObject[];
Write(data: any): this;
Read(): any;
ReadArray(count: number): any[];
WriteObjectId(id: ObjectId): this;
ReadObjectId(): ObjectId;
WriteSoftObjectId(id: ObjectId): this;
ReadSoftObjectId(): ObjectId;
WriteHardObjectId(id: ObjectId): this;
ReadHardObjectId(): ObjectId;
ToString(): string;
FromString(str: string): void;
}
//# sourceMappingURL=CADFiler.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CADFiler.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/CADFiler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC;;GAEG;AACH,qBAAa,QAAQ;IAIL,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE;IAFnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,SAAS,CAAa;gBACR,MAAM,GAAE,GAAG,EAAO;IAIxC,OAAO;IAMP,IAAI,IAAI,IAAI,GAAG,EAAE,CAGhB;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAInB;IAED,KAAK;IAKL,KAAK;IAML,WAAW,CAAC,GAAG,EAAE,MAAM;IAMvB,UAAU,IAAI,MAAM;IAKpB,WAAW,CAAC,GAAG,EAAE,UAAU;IAa3B,UAAU,CAAC,CAAC,SAAS,UAAU,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;IAgBxD,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,aAAa,GAAE,SAAS,EAAO;IAgBlE,KAAK,CAAC,IAAI,EAAE,GAAG;IAUf,IAAI,IAAI,GAAG;IAKX,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE;IAgB/B,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IASjC,YAAY,IAAI,QAAQ;IAQxB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAIrC,gBAAgB,IAAI,QAAQ;IAM5B,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAIrC,gBAAgB;IAMhB,QAAQ;IAIR,UAAU,CAAC,GAAG,EAAE,MAAM;CAIzB"}

55
types/DatabaseServices/CADObject.d.ts vendored Normal file
View File

@@ -0,0 +1,55 @@
import { CADFiler } from './CADFiler';
import { CommandHistoryRecord } from './CommandHistoryRecord';
import { Database } from './Database';
import { ISerialize } from './ISerialize';
import { ObjectId } from './ObjectId';
export declare abstract class CADObject {
protected _Owner: ObjectId;
/**
* 用于储存临时数据
*/
TempData: any;
__CacheBox__: any;
__CacheBoard__: any;
__CacheSize__: any;
__CachePolyline__: any;
set Owner(owner: ObjectId);
get Owner(): ObjectId;
Destroy(): void;
GoodBye(): any;
/**
* 当实体异步更新绘制实体完成后触发这个函数.
* Application通过注入的方式得知这个事件,刷新视图显示.
*/
AsyncUpdated(): void;
protected _db: Database;
get Db(): Database;
SetDefaultDb(db: Database): this;
SetOwnerDatabase(db: Database): this;
/**
* WblockClone 的时候,id是db分配的,此刻我们只需要设置它的db
*/
SetDatabase(db: Database): void;
protected _isErase: boolean;
get IsErase(): boolean;
Erase(isErase?: boolean): void;
objectId: ObjectId;
get Id(): ObjectId;
ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
ApplyPartialUndo(undoData: ISerialize): void;
UndoRecord(): CommandHistoryRecord;
WriteAllObjectRecord(): boolean;
Clone(): this;
DeepClone(ownerObject: CADObject, cloneObejct: CADObject, idMaping?: Map<number, ObjectId>, isPrimary?: boolean): this;
CopyFrom(obj: CADObject): void;
/**
* 配合 `@AutoRecord` 使用
* 使用这个方法来覆盖AutoRecord的监听行为.
* 这个行为只能用来监听实体添加和实体修改.
* 实体删除行为暂时无法监听
* @param setCallback 设置新的实体到数组时的回调函数
*/
protected CreateProxyArray(setCallback: (v: any) => void): any[];
}
//# sourceMappingURL=CADObject.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CADObject.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/CADObject.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,8BAAsB,SAAS;IAE3B,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC3B;;OAEG;IACI,QAAQ,EAAE,GAAG,CAAC;IAGrB,YAAY,EAAE,GAAG,CAAC;IAClB,cAAc,EAAE,GAAG,CAAC;IACpB,aAAa,EAAE,GAAG,CAAC;IACnB,iBAAiB,EAAE,GAAG,CAAC;IAEvB,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,EAGxB;IACD,IAAI,KAAK,IAJQ,QAAQ,CAOxB;IAED,OAAO;IAQP,OAAO,IAAI,GAAG;IAMd;;;MAGE;IAEF,YAAY;IAKZ,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC;IACxB,IAAI,EAAE,IAAI,QAAQ,CAGjB;IAGD,YAAY,CAAC,EAAE,EAAE,QAAQ;IAazB,gBAAgB,CAAC,EAAE,EAAE,QAAQ;IAc7B;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,QAAQ;IAQxB,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAS;IACpC,IAAI,OAAO,IAAI,OAAO,CAGrB;IACD,KAAK,CAAC,OAAO,GAAE,OAAc;IAc7B,QAAQ,EAAE,QAAQ,CAAC;IAEnB,IAAI,EAAE,IAAI,QAAQ,CAGjB;IAQD,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAevB,SAAS,CAAC,IAAI,EAAE,QAAQ;IAQxB,gBAAgB,CAAC,QAAQ,EAAE,UAAU;IAerC,UAAU,IAAI,oBAAoB;IAMlC,oBAAoB,IAAI,OAAO;IAY/B,KAAK,IAAI,IAAI;IAqBb,SAAS,CACL,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE,SAAS,EACtB,QAAQ,GAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAa,EAC3C,SAAS,UAAO,GACjB,IAAI;IAMP,QAAQ,CAAC,GAAG,EAAE,SAAS;IAevB;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI;CA0B3D"}

View File

@@ -0,0 +1,24 @@
import { CADFiler } from './CADFiler';
import { CADObject } from './CADObject';
import { HistorycRecord } from './HistorycRecord';
import { ObjectAllDataHistoryRecord } from './ObjectAllDataHistoryRecord';
import { ObjectId } from './ObjectId';
/**
* 命令的历史记录
*/
export declare class CommandHistoryRecord extends CADObject {
CommandName: string;
constructor(CommandName?: string);
private _HistoryList;
private _CreateObjects;
get HistoryList(): Map<ObjectId, HistorycRecord[]>;
private GetObjectHistoryList;
EndCommand(): void;
GetObjectAllDataRecord(historyList: HistorycRecord[]): ObjectAllDataHistoryRecord | undefined;
WriteObjectHistoryPath(obj: CADObject, history: HistorycRecord): void;
WriteObjectSnapshoot(obj: CADObject): void;
CreateEraseHistory(obj: CADObject, isErase: boolean): void;
ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=CommandHistoryRecord.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CommandHistoryRecord.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/CommandHistoryRecord.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;GAEG;AACH,qBACa,oBAAqB,SAAQ,SAAS;IAE5B,WAAW;gBAAX,WAAW,SAAK;IAKnC,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,cAAc,CAAwC;IAE9D,IAAI,WAAW,IAAI,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,CAGjD;IAED,OAAO,CAAC,oBAAoB;IAO5B,UAAU;IAiBV,sBAAsB,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,0BAA0B,GAAG,SAAS;IAW7F,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc;IAe9D,oBAAoB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;IAmB1C,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO;IAanD,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAqBvB,SAAS,CAAC,IAAI,EAAE,QAAQ;CAgB3B"}

View File

@@ -0,0 +1,23 @@
import { Singleton } from "../Common/Singleton";
import { Command } from "../Editor/CommandMachine";
import { ICommand } from "../UI/Components/CommandPanel/CommandList";
/**
* 保存CAD的自定义命令,统一由这里经过CRUD操作
*/
export declare class CommandServer extends Singleton {
private _customCommand;
private _needUpload;
CommandListMap: Map<string, string>;
AddCustonCommand(icommand: ICommand): void;
DeleteCustonCommand(icommand: ICommand): void;
Upload(): Promise<void>;
ReadCommandlist(): Promise<ICommand[]>;
SaveOldDataToServer(): Promise<void>;
private _LastScrollTop;
SetLastScrollTop(scrollTop: number): Promise<void>;
GetLastScrollTop(): Promise<number>;
}
export declare class UpgradeData implements Command {
exec(): Promise<void>;
}
//# sourceMappingURL=CommandServer.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CommandServer.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/CommandServer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAe,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAIlF;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAExC,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,WAAW,CAAS;IAC5B,cAAc,sBAA6B;IAC3C,gBAAgB,CAAC,QAAQ,EAAE,QAAQ;IAUnC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ;IAKhC,MAAM;IAaN,eAAe,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAoBtC,mBAAmB;IAuBzB,OAAO,CAAC,cAAc,CAAS;IACzB,gBAAgB,CAAC,SAAS,EAAE,MAAM;IAMlC,gBAAgB;CAQzB;AAGD,qBAAa,WAAY,YAAW,OAAO;IAEjC,IAAI;CAKb"}

58
types/DatabaseServices/Contour.d.ts vendored Normal file
View File

@@ -0,0 +1,58 @@
import { Circle } from "./Entity/Circle";
import { Curve } from "./Entity/Curve";
import { Polyline } from "./Entity/Polyline";
export declare class Contour {
private _Curve;
protected SetCurve(cu: Polyline | Circle): void;
/**会将传入的闭合轮廓改为逆时针 */
static CreateContour(cus: Curve[] | Polyline | Circle, needLink?: boolean): Contour;
get Curve(): Polyline | Circle;
get Area(): number;
get BoundingBox(): import("three").Box3;
/**
* 不等比例缩放
* @param {number} ref 缩放参考值,大于该值的点缩放
* @param {number} dist 缩放距离
* @param {string} dir x y z
*/
UnEqualProportionScale(ref: number, dist: number, dir: "x" | "y"): boolean;
Clone(): Contour;
IntersectionBoolOperation(target: Contour): Contour[];
UnionBoolOperation(target: Contour): {
contours: Contour[];
holes: Contour[];
};
SubstactBoolOperation(target: Contour): Contour[];
/**
* 计算与目标轮廓布尔运算后的结果曲线.
*/
GetIntersetAndUnionList(target: Contour): {
intersectionList: Curve[];
unionList: Curve[];
};
GetSubtractList(target: Contour): Polyline[];
GetSubtractListByMoreTargets(targets: Contour[]): {
holes: Contour[];
outlines: Contour[];
};
GetSubListWithCus(targets: Contour[]): {
holes: Polyline[];
subtractList: Polyline[];
};
/**
* 获得全部闭合曲线
* @若传入二维曲线数据,将默认子数组为闭合曲线段
*/
static GetAllContour(cus: Curve[] | Curve[][]): Contour[];
/**
* 合并曲线组成为多段线
* @param cus 曲线组
* @param [needLink=true] 需要解析成首尾连接状态
* @returns 单一曲线,如果返回超过1个,其他的将被遗弃.
*/
static Combine(cus: Curve[], needLink?: boolean, tolerance?: number): Curve;
get Shape(): THREE.Shape;
CuInOutline(targetCur: Curve): boolean;
Equal(tar: Contour): boolean;
}
//# sourceMappingURL=Contour.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Contour.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/Contour.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK7C,qBAAa,OAAO;IAEhB,OAAO,CAAC,MAAM,CAAoB;IAElC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM;IASxC,oBAAoB;IACpB,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,QAAQ,GAAG,MAAM,EAAE,QAAQ,UAAO;IA2BtE,IAAI,KAAK,IAAI,QAAQ,GAAG,MAAM,CAG7B;IACD,IAAI,IAAI,WAGP;IACD,IAAI,WAAW,yBAGd;IACD;;;;;OAKG;IACH,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG;IAsBhE,KAAK;IAKL,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,EAAE;IAQrD,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG;QAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAAC,KAAK,EAAE,OAAO,EAAE,CAAC;KAAE;IAkE/E,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,EAAE;IA8BjD;;OAEG;IACH,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG;QAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAAC,SAAS,EAAE,KAAK,EAAE,CAAC;KAAE;IAqF5F,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE;IA6D5C,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE;;;;IAqC/C,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE;;;;IA2FpC;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE;IAiBzD;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,QAAQ,UAAO,EAAE,SAAS,SAAO,GAAG,KAAK;IA6BtE,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,CAGvB;IACD,WAAW,CAAC,SAAS,EAAE,KAAK;IAI5B,KAAK,CAAC,GAAG,EAAE,OAAO;CAIrB"}

View File

@@ -0,0 +1,18 @@
import { CADFiler } from './CADFiler';
import { CADObject } from './CADObject';
import { Database } from './Database';
export declare class CreateObjectData extends CADObject {
Object?: CADObject;
private CADFiler;
CreateObject: CADObject;
/**
* 如果是实体新建,那么不需要调用`Save`,历史记录会在命令结束的时候调用.
* 如果是实体删除,那么请自行调用`Save`.
*/
constructor(Object?: CADObject);
Save(): this;
GetObject(db: Database): CADObject;
ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=CreateObjectData.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CreateObjectData.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/CreateObjectData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBACa,gBAAiB,SAAQ,SAAS;IAWxB,MAAM,CAAC,EAAE,SAAS;IATrC,OAAO,CAAC,QAAQ,CAA4B;IAG5C,YAAY,EAAE,SAAS,CAAC;IAExB;;;OAGG;gBACgB,MAAM,CAAC,EAAE,SAAS;IAMrC,IAAI;IAUJ,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG,SAAS;IAYlC,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAOvB,SAAS,CAAC,IAAI,EAAE,QAAQ;CAM3B"}

93
types/DatabaseServices/Database.d.ts vendored Normal file
View File

@@ -0,0 +1,93 @@
import { Vector3 } from 'three';
import { DuplicateRecordCloning } from '../Common/Status';
import { BlockTable } from './BlockTable';
import { BlockTableRecord } from './BlockTableRecord';
import { CADFiler } from './CADFiler';
import { CADObject } from './CADObject';
import { DeepCloneFiler } from './DeepCloneFiler';
import { GroupTable } from './GroupTable';
import { HistoricManage } from './HistoricManage';
import { IdMaping } from './IdMaping';
import { AmbientLight } from './Lights/AmbientLight';
import { DirectionalLight } from './Lights/DirectionalLight';
import { HemisphereLight } from './Lights/HemisphereLight';
import { MaterialTable } from './MaterialTable';
import { ObjectId } from './ObjectId';
import { PhysicalMaterialRecord } from './PhysicalMaterialRecord';
import { ProcessingGroupTable } from './ProcessingGroup/ProcessingGroupTable';
import { TemplateTable } from './Template/TemplateTable';
import { TextureTable } from './TextureTable';
interface OwnerContainer {
Add(object: any, isCheckObjectCleanly?: boolean): void;
}
export declare class Database {
private defaultDatabase;
hm: HistoricManage;
BlockTable: BlockTable;
MaterialTable: MaterialTable;
TextureTable: TextureTable;
TemplateTable: TemplateTable;
GroupTable: GroupTable;
ProcessingGroupTable: ProcessingGroupTable;
ModelSpace: BlockTableRecord;
LayoutSpace: BlockTableRecord;
Lights: BlockTableRecord;
AmbientLight: AmbientLight;
SunLight: DirectionalLight;
HemisphereLight: HemisphereLight;
DefaultMaterial: PhysicalMaterialRecord;
private idIndex;
private idMap;
constructor(buildDefaultDrawing?: boolean, defaultDatabase?: boolean, disableHistoric?: boolean);
private InitLight;
SettingDefaultMaterial(): void;
Destroy(): void;
FileWrite(): CADFiler;
FileRead(file: CADFiler): this;
/**
* 单个数据库内克隆对象(objects),并将他们附加到指定的容器对象(owner).
* @param objects 被克隆的对象
* @param owner 克隆对象的容器
* @param idMap id映射
* @param deferXlation 指示是否应该进行ID转换
* @returns 新克隆的对象列表
*/
DeepCloneObjects(objects: CADObject[], owner: OwnerContainer, idMap?: IdMaping, deferXlation?: boolean): CADObject[];
/**
* 清理拷贝后的实体空引用
*/
private ClearEmptyAssoc;
DeepCloneObject(filer: DeepCloneFiler, object: CADObject, owner: OwnerContainer, idMap?: IdMaping): CADObject | undefined;
/**
* 将来自不同数据库的对象列表拷贝到本数据库中.
* 当前支持使用HardId模式来硬关联某个对象,使该对象能够在WblockClone时一起被带过来.
* 当前不支持硬关联对象的Owner不是默认的容器.
* 如果需要这么做,请将该对象的Owner设置为Hard关联
* @param objects 对象不能属于本数据库
* @param owner 克隆对象的新容器
* @param idMap id映射
*/
WblockCloneObejcts(objects: CADObject[], owner: OwnerContainer, idMap: IdMaping, drc: DuplicateRecordCloning): CADObject[];
/**
* 克隆引用对象 WriteHardObjectId
*/
private WblockCloneReferenceObject;
private WblockCloneObject;
/**
* 为拷贝出来的对象分配id索引,并在数据库中注册
*/
private AllocationObjectId;
Insert(): void;
/**
* 写块
* @param outputDatabase 输出到指定的数据库
* @param objects
* @param basePoint
* @param cloning
*/
Wblock(outputDataBase: Database, objects: CADObject[], basePoint: Vector3, cloning: any): void;
AllocateId(): ObjectId;
GetObjectId(index: number, create?: boolean): ObjectId;
}
export {};
//# sourceMappingURL=Database.d.ts.map

View File

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

View File

@@ -0,0 +1,13 @@
import { CADFiler } from "./CADFiler";
import { ObjectId } from "./ObjectId";
export declare class DeepCloneFiler extends CADFiler {
idMaping: Map<number, ObjectId>;
constructor(idMaping?: Map<number, ObjectId>);
ReadObjectId(): ObjectId;
ReadSoftObjectId(): ObjectId;
ReadHardObjectId(): ObjectId;
hardObjectIds: Set<number>;
cloned: Set<number>;
WriteHardObjectId(id: ObjectId): this;
}
//# sourceMappingURL=DeepCloneFiler.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"DeepCloneFiler.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/DeepCloneFiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AAErD,qBAAa,cAAe,SAAQ,QAAQ;IAErB,QAAQ;gBAAR,QAAQ,wBAA8B;IAKzD,YAAY;IAcZ,gBAAgB;IAQhB,gBAAgB;IAQhB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IACvC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAChC,iBAAiB,CAAC,EAAE,EAAE,QAAQ;CAOjC"}

View File

@@ -0,0 +1,45 @@
import { Line as TLine, Matrix3, Object3D, Vector3 } from "three";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from "../CADFiler";
import { Arc } from "../Entity/Arc";
import { Entity } from "../Entity/Entity";
import { Line } from "../Entity/Line";
import { Text } from "../Text/Text";
/**
* 两条直线的标注
*/
export declare class LineAngularDimension extends Entity {
protected m_L1StartPoint: Vector3;
protected m_L1EndPoint: Vector3;
protected m_L2StartPoint: Vector3;
protected m_L2EndPoint: Vector3;
protected m_DimPoint: Vector3;
private m_Text;
private m_Arc;
constructor(m_L1StartPoint?: Vector3, //第一条直线的起点
m_L1EndPoint?: Vector3, //第一条直线的终点
m_L2StartPoint?: Vector3, //第二条直线的起点
m_L2EndPoint?: Vector3, m_DimPoint?: Vector3);
UpdateDimData(l1sp: Vector3, l1ep: Vector3, l2sp: Vector3, l2ep: Vector3, dimp: Vector3): void;
get Text(): Text;
get L1StartPoint(): Vector3;
get L2StartPoint(): Vector3;
get L1EndPoint(): Vector3;
get L2EndPoint(): Vector3;
get DimPoint(): Vector3;
get Arc(): Arc;
GetGripPoints(): Array<Vector3>;
MoveGripPoints(indexList: number[], vec: Vector3): void;
GetStretchPoints(): Array<Vector3>;
MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
Clone(): this;
Explode(): (Arc | Text)[];
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
InitDrawObject(renderType?: RenderType): Object3D;
Update2Line(l1: Line, l2: Line, intPt: Vector3, li1: TLine, li2: TLine): void;
UpdateDrawObject(type: RenderType, obj: Object3D): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=2LineAngularDimension.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"2LineAngularDimension.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Dimension/2LineAngularDimension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,IAAI,KAAK,EAAa,OAAO,EAAQ,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAInG,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAI7D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAc,MAAM,cAAc,CAAC;AAGhD;;GAEG;AACH,qBACa,oBAAqB,SAAQ,MAAM;IAKxC,SAAS,CAAC,cAAc;IACxB,SAAS,CAAC,YAAY;IACtB,SAAS,CAAC,cAAc;IACxB,SAAS,CAAC,YAAY;IACtB,SAAS,CAAC,UAAU;IAPxB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,KAAK,CAAa;gBAEZ,cAAc,UAAgB,EAAE,UAAU;IAC1C,YAAY,UAAgB,EAAI,UAAU;IAC1C,cAAc,UAAgB,EAAE,UAAU;IAC1C,YAAY,UAAgB,EAC5B,UAAU,UAAgB;IASxC,aAAa,CACT,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO;IAmB7E,IAAI,IAAI,SAGP;IACD,IAAI,YAAY,YAGf;IACD,IAAI,YAAY,YAGf;IACD,IAAI,UAAU,YAGb;IACD,IAAI,UAAU,YAGb;IACD,IAAI,QAAQ,YAGX;IACD,IAAI,GAAG,QAGN;IAED,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC;IAa/B,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO;IAiBhD,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC;IAIlC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO;IASxD,KAAK,IAAI,IAAI;IAeb,OAAO;IASP,mBAAmB,CACf,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,OAAO,GACpB,OAAO,EAAE;IAWZ,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IAsBvE,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK;IA4CtE,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAgEhD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAWlC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAY3B"}

View File

@@ -0,0 +1,95 @@
import { Matrix3, Object3D, Vector3, Vector2, Material, Matrix4, Box3 } from "three";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from "../CADFiler";
import { Entity } from "../Entity/Entity";
import { Line } from "../Entity/Line";
import { Text, TextAligen } from "../Text/Text";
interface DefaultValue {
offset: Vector2;
isFlipped: boolean;
}
/**
* 对齐标注
* 存在子类重载(线性标注 LinearDimension)
* @class AlignedDimension
*/
export declare class AlignedDimension extends Entity {
protected m_FootP1: Vector3;
protected m_FootP2: Vector3;
protected m_ArmP1: Vector3;
protected m_ArmP2: Vector3;
protected m_TextRotation: number;
protected m_LeadOutVisible: boolean;
private _Text;
private _TextString;
private _TextBoundingBox;
private _LeadOutLine;
private _LeadOutOffsetY;
private _LeadOutOffsetX;
private _DefaultVal;
private _LeadOutPts;
private _LeadOutIsFlipped;
private isDragLeadOutPt;
constructor(m_FootP1?: Vector3, m_FootP2?: Vector3, m_ArmP1?: Vector3, m_ArmP2?: Vector3, m_TextRotation?: number, m_LeadOutVisible?: boolean);
set FootP1(v: Vector3);
get FootP1(): Vector3;
set FootP2(v: Vector3);
get FootP2(): Vector3;
set ArmP1(v: Vector3);
get ArmP1(): Vector3;
set ArmP2(v: Vector3);
get ArmP2(): Vector3;
get TextPosition(): Vector3;
set TextPosition(p: Vector3);
get DalUcs(): Matrix4;
RaiseFooters(num: number): void;
set TextRotation(angle: number);
set TextAligen(al: TextAligen);
get Text(): Text;
set TextString(txt: string);
get TextBoundingBox(): Box3;
set TextBoundingBox(box: Box3);
set LeadOutVisible(visible: boolean);
set LeadOutFlipped(isFlipped: boolean);
get LeadOutFlipped(): boolean;
toggleLeadOutVisible(): void;
toggleLeadOutFlipped(): void;
set LeadOutOffsetY(size: number);
get LeadOutOffsetY(): number;
set LeadOutOffsetX(size: number);
get LeadOutOffsetX(): number;
set DefaultValue(val: DefaultValue);
get DefaultValue(): DefaultValue;
set TextSize(size: number);
get TextSize(): number;
Explode(): (Line | Text)[];
Clone(): this;
CloneDrawObject(from: this): void;
protected OnlyRenderType: boolean;
InitDrawObject(renderType?: RenderType): Object3D;
/**
* 由于绘制的对象挂载在本实体下面,导致实体Clone后,在Dispose,可能把Text.Object给销毁了
* 所以尝试还原它.
*/
private RepairText;
UpdateDrawObject(type: RenderType, obj: Object3D): void;
/**
* 更新引线并返回textPosition
* @returns textPosition(Vector3)
* @memberof AlignedDimension
*/
UpdateLeadOutLine(): Vector3;
UpdateText(pos?: Vector3): void;
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
UpdateDrawObjectMaterial(type: RenderType, obj: Object3D, material?: Material): void;
GetGripPoints(): Array<Vector3>;
MoveGripPoints(indexList: number[], vec: Vector3): void;
GetStretchPoints(): Array<Vector3>;
MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
protected ChangeFootPt(): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
export {};
//# sourceMappingURL=AlignedDimension.d.ts.map

View File

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

View File

@@ -0,0 +1,10 @@
import { Object3D, Vector3 } from "three";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { RadiusDimension } from "./RadiusDimension";
export declare class DiameterDimension extends RadiusDimension {
InitDrawObject(renderType?: RenderType): Object3D;
UpdateDrawObject(type: RenderType, obj: Object3D): void;
UpdateText(): void;
MoveGripPoints(indexList: number[], vec: Vector3): void;
}
//# sourceMappingURL=DimDiameter.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"DimDiameter.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Dimension/DimDiameter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAK/E,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKpD,qBACa,iBAAkB,SAAQ,eAAe;IAElD,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IAqBvE,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IA4BhD,UAAU;IAKV,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO;CAoCnD"}

View File

@@ -0,0 +1,9 @@
import { Vector3 } from "three";
import { AlignedDimension } from "./AlignedDimension";
export declare class LinearDimension extends AlignedDimension {
private m_DimDir;
get TextPosition(): Vector3;
set TextPosition(p: Vector3);
ChangeFootPt(): void;
}
//# sourceMappingURL=LinearDimension.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"LinearDimension.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Dimension/LinearDimension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAgBtD,qBACa,eAAgB,SAAQ,gBAAgB;IAEjD,OAAO,CAAC,QAAQ,CAAY;IAE5B,IAAI,YAAY,IAII,OAAO,CAD1B;IACD,IAAI,YAAY,CAAC,CAAC,EAAE,OAAO,EAyB1B;IACD,YAAY;CAcf"}

View File

@@ -0,0 +1,33 @@
import { Matrix3, Object3D, Vector3 } from "three";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from "../CADFiler";
import { Entity } from "../Entity/Entity";
import { Line } from "../Entity/Line";
import { Text } from "../Text/Text";
export declare class RadiusDimension extends Entity {
protected startPt: Vector3;
protected center: Vector3;
protected endPt: Vector3;
protected m_Text: Text;
constructor(startPt?: Vector3, center?: Vector3, endPt?: Vector3);
get StartPt(): Vector3;
set StartPt(v: Vector3);
get Center(): Vector3;
set Center(v: Vector3);
get EndPt(): Vector3;
set EndPt(v: Vector3);
Explode(): (Line | Text)[];
Clone(): this;
InitDrawObject(renderType?: RenderType): Object3D;
UpdateDrawObject(type: RenderType, obj: Object3D): void;
UpdateText(): void;
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
GetGripPoints(): Array<Vector3>;
MoveGripPoints(indexList: number[], vec: Vector3): void;
GetStretchPoints(): Array<Vector3>;
MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=RadiusDimension.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RadiusDimension.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Dimension/RadiusDimension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,OAAO,EAAQ,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGxF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,qBACa,eAAgB,SAAQ,MAAM;IAKnC,SAAS,CAAC,OAAO;IACjB,SAAS,CAAC,MAAM;IAChB,SAAS,CAAC,KAAK;IALnB,SAAS,CAAC,MAAM,OAAc;gBAGhB,OAAO,UAAgB,EACvB,MAAM,UAAgB,EACtB,KAAK,UAAgB;IAMnC,IAAI,OAAO,IAII,OAAO,CADrB;IACD,IAAI,OAAO,CAAC,CAAC,EAAE,OAAO,EAKrB;IACD,IAAI,MAAM,IAII,OAAO,CADpB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,OAAO,EAKpB;IACD,IAAI,KAAK,IAII,OAAO,CADnB;IACD,IAAI,KAAK,CAAC,CAAC,EAAE,OAAO,EAKnB;IACD,OAAO;IASP,KAAK,IAAI,IAAI;IAYb,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IAmBvE,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAoBhD,UAAU;IAOV,mBAAmB,CACf,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,OAAO,GACpB,OAAO,EAAE;IAWZ,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC;IAI/B,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO;IA8BhD,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC;IAIlC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO;IAYxD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAQlC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAQ3B"}

138
types/DatabaseServices/Entity/Arc.d.ts vendored Normal file
View File

@@ -0,0 +1,138 @@
import { Box3, BufferGeometry, Matrix4, Object3D, Shape, Vector2, Vector3, Matrix3, Line as TLine } from 'three';
import { Status } from '../../Common/Status';
import { ObjectSnapMode } from '../../Editor/ObjectSnapMode';
import { RenderType } from '../../GraphicsSystem/RenderType';
import { IntersectOption } from '../../GraphicsSystem/IntersectWith';
import { CADFiler } from '../CADFiler';
import { Curve } from './Curve';
import { Line2 } from 'three/examples/jsm/lines/Line2';
/**
* 圆弧实体类
* 与ACAD不同,这个类加入了时针变量,并且默认构造的圆弧为顺时针圆弧.
*
* 关于时针圆弧:
* 起始圆弧到终止圆弧总是在0-2PI之间.(一个完整的圆).
* 圆弧的绘制从起始圆弧绘制到终止圆弧. 按照时针绘制.
* 参考计算圆弧的完整角度方法查看该计算方式.
*/
export declare class Arc extends Curve {
constructor(center?: Vector3, radius?: number, startAngle?: number, endAngle?: number, clockwise?: boolean);
private m_Radius;
private m_StartAngle;
private m_EndAngle;
/**
* 曲线为顺时针
*/
private m_Clockwise;
get Shape(): Shape;
get Center(): Vector3;
set Center(v: Vector3);
get Normal(): Vector3;
set Normal(v: Vector3);
get Area(): number;
get Area2(): number;
get IsClose(): boolean;
get BoundingBox(): Box3;
get Radius(): number;
set Radius(v: number);
get IsClockWise(): boolean;
set IsClockWise(v: boolean);
get StartAngle(): number;
set StartAngle(v: number);
get EndAngle(): number;
set EndAngle(v: number);
get StartPoint(): Vector3;
set StartPoint(v: Vector3);
get EndPoint(): Vector3;
set EndPoint(v: Vector3);
get StartParam(): number;
get EndParam(): number;
get Length(): number;
GetParamAtPoint2(pt: Vector3): number;
PtOnCurve3(p: Vector3, fuzz?: number): boolean;
protected ApplyScaleMatrix(m: Matrix4): this;
protected ApplyMirrorMatrix(m: Matrix4): this;
GetPointAtParam(param: number): Vector3;
GetPointAtDistance(distance: number): Vector3;
GetDistAtParam(param: number): number;
GetDistAtPoint(pt: Vector3): number;
GetParamAtPoint(pt: Vector3): number;
/**
* 利用角度计算该角度在圆弧中代表的参数.
* 如果角度在圆弧内,那么返回0-1
* 如果角度不在圆弧内,那么尝试返回离圆弧起始或者结束的较近的参数
*
* @param {number} an
* @returns
* @memberof Arc
*/
GetParamAtAngle(an: number): number;
/**
* Gets param at angle2
* @param an
* @param [isStart] true:返回负数false 返回正数
* @returns
*/
GetParamAtAngle2(an: number, isStart?: boolean): number;
GetAngleAtPoint(pt: Vector3): number;
GetAngleAtParam(param: number): number;
GetSplitCurves(param: number[] | number): Arc[];
GetOffsetCurves(offsetDist: number): Arc[];
Extend(newParam: number): void;
Join(cu: Curve): Status;
Reverse(): this;
IntersectWith2(curve: Curve, intType: IntersectOption, tolerance?: number): import("../../GraphicsSystem/IntersectWith").IntersectResult[];
/**
* 计算出圆弧所包含的角度
*
* @readonly
* @type {number}
* @memberof Arc
*/
get AllAngle(): number;
get Bul(): number;
/**
* 计算所包含的角度
*
* @private
* @param {number} endAngle 结束的角度
* @returns
* @memberof Arc
*/
ComputeAnlge(endAngle: number): number;
/**
* 解析两点和凸度所构成的圆弧
*
* @param {Vector2} p1
* @param {Vector2} p2
* @param {number} bul 凸度,在cad中,凸度为 <(四分之一圆心角)的正切值>
*/
ParseFromBul(p1: Vector3 | Vector2, p2: Vector3 | Vector2, bul: number): Arc;
FromThreePoint(pt1: Vector3, pt2: Vector3, pt3: Vector3): this;
/**
* 重载: 初始化绘制实体.
*
* @param {RenderType} [renderType=RenderType.Wireframe]
*/
InitDrawObject(renderType?: RenderType): Line2 | TLine<BufferGeometry, import("three").LineBasicMaterial>;
private UpdateGeometry;
/**
* 重载:更新绘制的实体
*
* @param {RenderType} type
* @param {Object3D} obj
* @memberof Arc
*/
UpdateDrawObject(type: RenderType, obj: Object3D): void;
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
GetGripPoints(): Array<Vector3>;
MoveGripPoints(indexList: Array<number>, vec: Vector3): void;
GetStretchPoints(): Array<Vector3>;
MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
GetParamAtDist(d: number): number;
GetFistDeriv(pt: number | Vector3): Vector3;
GetClosestPointTo(pt: Vector3, extend: boolean): Vector3;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=Arc.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Arc.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Entity/Arc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC;AAIjH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAkE,eAAe,EAAqF,MAAM,oCAAoC,CAAC;AAExN,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAMhC,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAEvD;;;;;;;;GAQG;AACH,qBACa,GAAI,SAAQ,KAAK;gBAEd,MAAM,GAAE,OAAuB,EAAE,MAAM,GAAE,MAAY,EAAE,UAAU,GAAE,MAAY,EAAE,QAAQ,GAAE,MAAU,EAAE,SAAS,UAAO;IASnI,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B;;OAEG;IACH,OAAO,CAAC,WAAW,CAAQ;IAE3B,IAAI,KAAK,UAKR;IAED,IAAI,MAAM,IAII,OAAO,CADpB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,OAAO,EAGpB;IAED,IAAI,MAAM,IAII,OAAO,CADpB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,OAAO,EAKpB;IAED,IAAI,IAAI,IAAI,MAAM,CAGjB;IAED,IAAI,KAAK,IAAI,MAAM,CAIlB;IACD,IAAI,OAAO,IAAI,OAAO,CAGrB;IAED,IAAI,WAAW,IAAI,IAAI,CAiBtB;IAED,IAAI,MAAM,IAII,MAAM,CADnB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAKnB;IAED,IAAI,WAAW,IAII,OAAO,CADzB;IACD,IAAI,WAAW,CAAC,CAAC,EAAE,OAAO,EAQzB;IAED,IAAI,UAAU,IAII,MAAM,CADvB;IACD,IAAI,UAAU,CAAC,CAAC,EAAE,MAAM,EAKvB;IAED,IAAI,QAAQ,IAII,MAAM,CADrB;IACD,IAAI,QAAQ,CAAC,CAAC,EAAE,MAAM,EAKrB;IAGD,IAAI,UAAU,IAII,OAAO,CADxB;IACD,IAAI,UAAU,CAAC,CAAC,EAAE,OAAO,EAIxB;IACD,IAAI,QAAQ,IAII,OAAO,CADtB;IACD,IAAI,QAAQ,CAAC,CAAC,EAAE,OAAO,EAItB;IACD,IAAI,UAAU,WAGb;IACD,IAAI,QAAQ,WAGX;IACD,IAAI,MAAM,WAGT;IAED,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM;IAKrC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,SAAO,GAAG,OAAO;IAM5C,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAO5C,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAc7C,eAAe,CAAC,KAAK,EAAE,MAAM;IAK7B,kBAAkB,CAAC,QAAQ,EAAE,MAAM;IAOnC,cAAc,CAAC,KAAK,EAAE,MAAM;IAK5B,cAAc,CAAC,EAAE,EAAE,OAAO;IAM1B,eAAe,CAAC,EAAE,EAAE,OAAO;IAU3B;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM;IAiB1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,UAAO;IAiB3C,eAAe,CAAC,EAAE,EAAE,OAAO;IAM3B,eAAe,CAAC,KAAK,EAAE,MAAM;IAK7B,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,GAAG,EAAE;IAgB/C,eAAe,CAAC,UAAU,EAAE,MAAM;IAWlC,MAAM,CAAC,QAAQ,EAAE,MAAM;IAcvB,IAAI,CAAC,EAAE,EAAE,KAAK,GAAG,MAAM;IAwFvB,OAAO,IAAI,IAAI;IAQf,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,SAAO;IAsBvE;;;;;;OAMG;IACH,IAAI,QAAQ,IAAI,MAAM,CAGrB;IAED,IAAI,GAAG,IAAI,MAAM,CAKhB;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM;IAmB7B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG;IAwC5E,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO;IAyBvD;;;;OAIG;IACH,cAAc,CAAC,UAAU,GAAE,UAAiC;IAe5D,OAAO,CAAC,cAAc;IAMtB;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAMhD,mBAAmB,CACf,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,OAAO,GACpB,OAAO,EAAE;IAiCZ,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC;IAS/B,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO;IAmBrD,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC;IAKlC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO;IA+BxD,cAAc,CAAC,CAAC,EAAE,MAAM;IAIxB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAajC,iBAAiB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAYxD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAelC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAU3B"}

View File

@@ -0,0 +1,16 @@
import { Entity } from "./Entity";
import { BoxBufferGeometry, Object3D } from "three";
import { RenderType } from "../../GraphicsSystem/RenderType";
export declare function GetBoxGeoBufferGeometry(): BoxBufferGeometry;
export declare class BoxSolid extends Entity {
private _length;
private _width;
private _height;
OnlyRenderType: boolean;
private _opacity;
constructor(_length?: number, _width?: number, _height?: number);
set Opacity(o: number);
InitDrawObject(renderType?: RenderType): Object3D;
UpdateDrawObject(type: RenderType, obj: Object3D): void;
}
//# sourceMappingURL=BoxSolid.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"BoxSolid.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Entity/BoxSolid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAQ,QAAQ,EAA8B,MAAM,OAAO,CAAC;AAEtF,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAI7D,wBAAgB,uBAAuB,sBAKtC;AAED,qBACa,QAAS,SAAQ,MAAM;IAIpB,OAAO,CAAC,OAAO;IAAM,OAAO,CAAC,MAAM;IAAM,OAAO,CAAC,OAAO;IAFpE,cAAc,UAAQ;IACtB,OAAO,CAAC,QAAQ,CAAO;gBACH,OAAO,SAAI,EAAU,MAAM,SAAI,EAAU,OAAO,SAAI;IAIxE,IAAI,OAAO,CAAC,CAAC,EAAE,MAAM,EAQpB;IACD,cAAc,CAAC,UAAU,GAAE,UAAiC;IAS5D,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;CAOnD"}

View File

@@ -0,0 +1,55 @@
import { Box3, Material, Matrix3, Matrix4, Object3D, Vector3 } from 'three';
import { ObjectSnapMode } from '../../Editor/ObjectSnapMode';
import { IntersectOption } from '../../GraphicsSystem/IntersectWith';
import { RenderType } from '../../GraphicsSystem/RenderType';
import { CADFiler } from '../CADFiler';
import { Shape2 } from '../Shape2';
import { Arc } from './Arc';
import { Curve } from './Curve';
import { DragPointType } from './DragPointType';
export declare class Circle extends Curve {
constructor(center?: Vector3, radius?: number);
private _Radius;
get Shape(): Shape2;
get Center(): Vector3;
set Center(v: Vector3);
get Radius(): number;
set Radius(v: number);
protected ApplyScaleMatrix(m: Matrix4): this;
protected ApplyMirrorMatrix(m: Matrix4): this;
get StartPoint(): Vector3;
get StartParam(): number;
get EndPoint(): Vector3;
get EndParam(): number;
PtInCurve(pt: Vector3): boolean;
get Area(): number;
get Area2(): number;
get Length(): number;
get IsClose(): boolean;
get IsClockWise(): boolean;
GetPointAtParam(param: number): Vector3;
GetPointAtDistance(distance: number): Vector3;
GetDistAtParam(param: number): number;
GetDistAtPoint(pt: Vector3): number;
GetParamAtDist(d: number): number;
GetSplitCurves(param: number[] | number): Arc[];
GetParamAtPoint(pt?: Vector3): number;
PtOnCurve(pt: Vector3): boolean;
GetOffsetCurves(offsetDist: number): Curve[];
IntersectWith2(curve: Curve, intType: IntersectOption): import("../../GraphicsSystem/IntersectWith").IntersectResult[];
get BoundingBox(): Box3;
InitDrawObject(renderType?: RenderType): Object3D;
UpdateDrawObject(type: RenderType, obj: Object3D): void;
UpdateDrawObjectMaterial(type: RenderType, obj: Object3D, material: Material): void;
GetDragPointCount(drag: DragPointType): number;
GetGripPoints(): Array<Vector3>;
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
MoveGripPoints(indexList: Array<number>, vec: Vector3): void;
GetStretchPoints(): Array<Vector3>;
MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
GetFistDeriv(pt: number | Vector3): Vector3;
GetClosestPointTo(pt: Vector3, extend: boolean): Vector3;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=Circle.d.ts.map

View File

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

View File

@@ -0,0 +1,53 @@
import { Matrix3, Object3D, Vector3 } from "three";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { Box3Ext } from "../../Geometry/Box";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from "../CADFiler";
import { DragPointType } from "./DragPointType";
import { Entity } from "./Entity";
export declare class CompositeEntity extends Entity {
constructor();
Entitys: Entity[];
OnlyRenderType: boolean;
/**
* 初始化绘制的threejs实体,子类型重载该函数初始化绘制实体.
*/
Explode(): Entity[];
Traverse(callback: (arg0: Entity) => void): void;
get BoundingBox(): Box3Ext;
protected InitDrawObject(renderType?: RenderType): Object3D;
UpdateDrawObject(renderType: RenderType, obj: Object3D): void;
get ColorIndex(): number;
set ColorIndex(color: number);
get Material(): import("../ObjectId").ObjectId;
set Material(id: import("../ObjectId").ObjectId);
UpdateRenderType(renderType: RenderType): void;
UpdateDrawObjectMaterial(renderType: RenderType, obj: Object3D): void;
/**
*
* @param snapMode 捕捉模式(单一)
* @param pickPoint const
* @param lastPoint const
* @param viewXform const 最近点捕捉需要这个变量
* @returns object snap points
*/
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
GetGripPoints(): Array<Vector3>;
MoveGripPoints(indexList: number[], vec: Vector3): void;
GetStretchPoints(): Array<Vector3>;
/**
* 拉伸夹点,用于Stretch命令
*
* @param {Array<number>} indexList 拉伸点索引列表.
* @param {Vector3} vec 移动向量
* @memberof Entity
*/
MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
private GetGripOrStretchPoints;
private GetStrectchPointCountList;
MoveGripOrStretchPoints(indexList: number[], vec: Vector3, dragType: DragPointType): void;
CloneDrawObject(from: this): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=CompositeEntity.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CompositeEntity.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Entity/CompositeEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,qBACa,eAAgB,SAAQ,MAAM;;IAO3B,OAAO,EAAE,MAAM,EAAE,CAAM;IAGnC,cAAc,UAAQ;IACtB;;MAEE;IACF,OAAO;IASP,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;IAWzC,IAAI,WAAW,YAMd;IACD,SAAS,CAAC,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IAMjF,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAetD,IAAI,UAAU,IAAI,MAAM,CAGvB;IACD,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAa3B;IACD,IAAI,QAAQ,mCAGX;IACD,IAAI,QAAQ,CAAC,EAAE,gCAAA,EAKd;IACD,gBAAgB,CAAC,UAAU,EAAE,UAAU;IAOvC,wBAAwB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAU9D;;;;;;;MAOE;IACF,mBAAmB,CACf,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,OAAO,GACpB,OAAO,EAAE;IAUZ,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC;IAK/B,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO;IAMhD,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC;IAKlC;;;;;;OAMG;IACH,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO;IAMxD,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,yBAAyB;IASjC,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa;IAuClF,eAAe,CAAC,IAAI,EAAE,IAAI;IAwB1B,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAelC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAS3B"}

109
types/DatabaseServices/Entity/Curve.d.ts vendored Normal file
View File

@@ -0,0 +1,109 @@
import { Material, Object3D, Shape, Vector3 } from 'three';
import { Status } from '../../Common/Status';
import { IntersectOption, IntersectResult } from '../../GraphicsSystem/IntersectWith';
import { RenderType } from '../../GraphicsSystem/RenderType';
import { DragPointType } from './DragPointType';
import { Entity } from './Entity';
export declare enum ExtendType {
/**
* 前后都不延伸
*/
None = 0,
/**
* 只允许延伸前面
*/
Front = 1,
/**
* 只允许延伸后面
*/
Back = 2,
/**
* 前后延伸
*/
Both = 3
}
/**
* 曲线的基类,子类请实现以下方法.
*/
export declare abstract class Curve extends Entity {
constructor();
get Is2D(): boolean;
get StartPoint(): Vector3;
set StartPoint(v: Vector3);
get StartParam(): number;
get EndPoint(): Vector3;
set EndPoint(v: Vector3);
/** 曲线中点 */
get Midpoint(): Vector3;
get MidParam(): number;
get EndParam(): number;
get Area(): number;
/**
*获得曲线的面积,逆时针为正,顺时针为负.
*/
get Area2(): number;
get Length(): number;
get IsClose(): boolean;
/** 曲线为顺时针 */
get IsClockWise(): boolean;
abstract get Shape(): Shape;
GetPointAtParam(param: number): Vector3;
GetPointAtDistance(distance: number): Vector3;
GetDistAtParam(param: number): number;
GetDistAtPoint(pt: Vector3): number;
GetParamAtPoint(pt: Vector3): number;
GetParamAtPoint2(pt: Vector3): number;
GetParamAtDist(d: number): number;
/**
* 返回曲线在指定位置的一阶导数(在wcs内)
*
* @param {(number | Vector3)} param
* @returns {Vector3}
* @memberof Curve
*/
GetFistDeriv(param: number | Vector3): Vector3;
GetFistDerivAngle(param: number | Vector3): number;
/**
* 返回切割曲线后的结果.总是从起点开始切割,并且按顺序返回曲线.
* @param {(number[] | number)} param
* @returns {Array<Curve>}
*/
GetSplitCurves(param: number[] | number): Array<Curve>;
GetCurveAtParamRange(startParam: number, EndParam: number): Array<Curve>;
GetSplitCurvesByPts(pt: Vector3[] | Vector3): Array<Curve>;
protected SplitParamSort(param: number[] | number): number[];
Extend(newParam: number): void;
/**
* 连接曲线到本曲线,如果成功返回true
* @param {Curve} cu 需要连接的曲线
* @returns {boolean} 连接成功
* @memberof Curve
*/
Join(cu: Curve, allowGap?: boolean, tolerance?: number): Status;
Reverse(): this;
PtOnCurve(pt: Vector3, fuzz?: number): boolean;
PtOnCurve2(pt: Vector3): boolean;
PtOnCurve3(p: Vector3, fuzz?: number): boolean;
ParamOnCurve(param: number, fuzz?: number): boolean;
GetOffsetCurves(offsetDist: number): Array<Curve>;
GetClosestPointTo(pt: Vector3, extend: boolean): Vector3;
/**
* 曲线相交点
*/
IntersectWith(curve: Curve, intType: IntersectOption, tolerance?: number): Vector3[];
/**
* 曲线相交点和点的参数
*/
IntersectWith2(curve: Curve, intType: IntersectOption, tolerance?: number): IntersectResult[];
/**
* 拽托点个数
*/
GetDragPointCount(drag: DragPointType): number;
protected OnlyRenderType: boolean;
/**
* 重载:更新实体材质
*/
UpdateDrawObjectMaterial(type: RenderType, obj: Object3D, material?: Material): void;
UpdateJigMaterial(color?: number): void;
}
//# sourceMappingURL=Curve.d.ts.map

View File

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

View File

@@ -0,0 +1,5 @@
export declare enum DragPointType {
Grip = 0,
Stretch = 1
}
//# sourceMappingURL=DragPointType.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"DragPointType.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Entity/DragPointType.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IAErB,IAAI,IAAI;IACR,OAAO,IAAI;CACd"}

View File

@@ -0,0 +1,67 @@
import { Box3, Matrix3, Object3D, Shape, Vector3 } from 'three';
import { Status } from '../../Common/Status';
import { ObjectSnapMode } from '../../Editor/ObjectSnapMode';
import { IntersectOption } from '../../GraphicsSystem/IntersectWith';
import { RenderType } from '../../GraphicsSystem/RenderType';
import { CADFiler } from '../CADFiler';
import { Curve } from './Curve';
import { Polyline } from './Polyline';
export declare class Ellipse extends Curve {
private _radX;
private _radY;
private _rotate;
private _startAngle;
private _endAngle;
constructor(center?: Vector3, radX?: number, radY?: number, angle?: number);
get StartParam(): number;
get EndParam(): number;
get StartPoint(): Vector3;
get EndPoint(): Vector3;
get Shape(): Shape;
get IsClose(): boolean;
get Center(): Vector3;
set Center(v: Vector3);
get RadX(): number;
set RadX(v: number);
get RadY(): number;
set RadY(v: number);
get Rotation(): number;
set Rotation(v: number);
get StartAngle(): number;
get EndAngle(): number;
set StartAngle(v: number);
set EndAngle(v: number);
get Length(): number;
get Area(): number;
get TotalAngle(): number;
get BoundingBox(): Box3;
PtInCurve(pt: Vector3): boolean;
PtOnCurve(pt: Vector3): boolean;
PtOnEllipse(pt: Vector3): boolean;
GetPointAtParam(param: number): Vector3;
GetParamAtPoint(pt?: Vector3): number;
GetPointAtDistance(distance: number): Vector3;
GetDistAtParam(param: number): number;
GetDistAtPoint(pt: Vector3): number;
GetParamAtDist(d: number): number;
GetAngleAtParam(par: number): number;
GetCircleAngleAtPoint(pt: Vector3): number;
GetFistDeriv(pt: number | Vector3): Vector3;
GetClosestPointTo(p: Vector3, extend: boolean): Vector3;
GetOffsetCurves(offsetDist: number): this[];
GetSplitCurves(param: number[] | number): this[];
Join(el: Ellipse): Status.False | Status.False | Status.True;
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
IntersectWith2(curve: Curve, intType: IntersectOption): import("../../GraphicsSystem/IntersectWith").IntersectResult[];
InitDrawObject(renderType?: RenderType): Object3D;
UpdateDrawObject(type: RenderType, obj: Object3D): void;
private UpdateGeometry;
GetStretchPoints(): Array<Vector3>;
GetGripPoints(): Array<Vector3>;
MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
MoveGripPoints(indexList: Array<number>, vec: Vector3): void;
Convert2Polyline(count?: number): Polyline;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=Ellipse.d.ts.map

View File

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

View File

@@ -0,0 +1,152 @@
import { Box3, Material, Matrix3, Matrix4, MeshStandardMaterial, Object3D, Vector3 } from 'three';
import { UpdateDraw } from '../../Common/Status';
import { ObjectSnapMode } from '../../Editor/ObjectSnapMode';
import { Box3Ext } from '../../Geometry/Box';
import { IntersectOption } from '../../GraphicsSystem/IntersectWith';
import { RenderType } from '../../GraphicsSystem/RenderType';
import { CADFiler } from '../CADFiler';
import { CADObject } from '../CADObject';
import { ObjectId } from '../ObjectId';
/**
* Entity 是所有图元的基类,绘制的实体都集成该类.
*/
export declare class Entity extends CADObject {
IsEmbedEntity: boolean;
/**
* 该实体的只有一个渲染类型,任何渲染类型都一个样
*/
protected OnlyRenderType: boolean;
protected _CacheDrawObject: Map<RenderType, Object3D>;
protected materialId: ObjectId;
protected _Color: number;
protected _Matrix: Matrix4;
protected _SpaceOCS: Matrix4;
__CacheRenderType__: RenderType;
get SpaceOCS(): Matrix4;
get SpaceOCSInv(): Matrix4;
set SpaceOCS(m: Matrix4);
protected _Visible: boolean;
GroupId: ObjectId;
Template: ObjectId;
ProcessingGroupList: ObjectId[];
/**
* 当AutoUpdate为false时,记录需要更新的标志.
* 以便延迟更新时找到相应的更新标志.
*/
NeedUpdateFlag: UpdateDraw;
AutoUpdate: boolean;
set Material(materialId: ObjectId);
get Material(): ObjectId;
set ColorIndex(color: number);
get ColorIndex(): number;
/**
* 炸开实体
*/
Explode(): Entity[];
/**
* 返回对象的包围框.
*/
get BoundingBox(): Box3;
/**
* 返回对象在自身坐标系下的Box
*/
get BoundingBoxInOCS(): Box3Ext;
GetBoundingBoxInMtx(mtx: Matrix4): Box3Ext;
get BoundingBoxInSpaceCS(): Box3Ext;
get OCS(): Matrix4;
get OCSNoClone(): Matrix4;
set OCS(mat4: Matrix4);
get Normal(): Vector3;
get Position(): Vector3;
set Position(pt: Vector3);
Z0(): this;
MatrixPlanarizere(): this;
get OCSInv(): Matrix4;
/**
* 与指定实体是否共面.
*/
IsCoplaneTo(e: Entity): boolean;
/**
* 测试两个实体的包围盒是否相交.
*/
BoundingBoxIntersectWith(en: Entity): boolean;
ClearDraw(): this;
ClearDrawOfJig(): void;
_drawObject: Object3D;
get DrawObject(): Object3D;
get JigObject(): Object3D;
DestroyJigObject(): void;
UpdateRenderType(type: RenderType): void;
GetDrawObjectFromRenderType(renderType?: RenderType): Object3D;
/**
* 初始化绘制的threejs实体,子类型重载该函数初始化绘制实体.
*/
protected InitDrawObject(renderType?: RenderType): Object3D;
__UpdateVersion__: number;
/**
* 当实体数据改变时,绘制的实体必须做出改变.供框架调用
*/
Update(mode?: UpdateDraw): void;
UpdateDrawGeometry(): void;
DeferUpdate(): void;
/**
* 当实体需要更新时,需要重载该方法,实现实体更新
*/
UpdateDrawObject(type: RenderType, en: Object3D): void;
/**
* 当实体需要被更新时,更新实体材质
*/
UpdateDrawObjectMaterial(type: RenderType, obj: Object3D, material?: Material): void;
protected get MeshMaterial(): import("three").MeshBasicMaterial | MeshStandardMaterial;
/**
* 更新实体Jig状态时的材质
*/
UpdateJigMaterial(color?: number): void;
RestoreJigMaterial(): void;
get Visible(): boolean;
set Visible(v: boolean);
private get IsVisible();
UpdateVisible(): void;
GoodBye(): void;
Erase(isErase?: boolean): void;
EraseEvent(isErase: boolean): void;
/**
* 使用统一的方法设置对象的矩阵.
* 需要对缩放矩形进行重载.避免对象矩阵不是单位矩阵
*/
ApplyMatrix(m: Matrix4): this;
protected ApplyScaleMatrix(m: Matrix4): this;
protected ApplyMirrorMatrix(m: Matrix4): this;
GetGripPoints(): Array<Vector3>;
MoveGripPoints(indexList: number[], vec: Vector3): void;
/**
*
* @param snapMode 捕捉模式(单一)
* @param pickPoint const
* @param lastPoint const
* @param viewXform const 最近点捕捉需要这个变量
* @returns object snap points
*/
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
GetStretchPoints(): Array<Vector3>;
/**
* 拉伸夹点,用于Stretch命令
*
* @param {Array<number>} indexList 拉伸点索引列表.
* @param {Vector3} vec 移动向量
* @memberof Entity
*/
MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
IntersectWith(curve: Entity, intType: IntersectOption): Vector3[];
Clone(): this;
CloneDrawObject(from: this): void;
static __ReadFileIng__: boolean;
__ReadFileIng__: boolean;
get ReadFileIng(): boolean;
ReadFile(file: CADFiler): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
ApplyPartialUndo(undoData: CADObject): void;
CopyFrom(obj: CADObject): void;
}
//# sourceMappingURL=Entity.d.ts.map

View File

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

55
types/DatabaseServices/Entity/Line.d.ts vendored Normal file
View File

@@ -0,0 +1,55 @@
import { Box3, Line as TLine, Matrix3, Matrix4, Object3D, Shape, Vector3 } from 'three';
import { Status } from '../../Common/Status';
import { ObjectSnapMode } from '../../Editor/ObjectSnapMode';
import { IntersectOption } from '../../GraphicsSystem/IntersectWith';
import { RenderType } from '../../GraphicsSystem/RenderType';
import { CADFiler } from '../CADFiler';
import { Curve } from './Curve';
export declare class Line extends Curve {
private _StartPoint;
private _EndPoint;
constructor(sp?: Vector3, ep?: Vector3);
get Is2D(): boolean;
get Shape(): Shape;
Z0(): this;
protected ApplyScaleMatrix(m: Matrix4): this;
protected ApplyMirrorMatrix(m: Matrix4): this;
InitDrawObject(renderType?: RenderType): Object3D;
UpdateDrawObject(type: RenderType, lineObj: TLine): void;
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform: Matrix3): Vector3[];
GetGripPoints(): Array<THREE.Vector3>;
MoveGripPoints(indexList: Array<number>, vec: Vector3): void;
GetStretchPoints(): Array<THREE.Vector3>;
MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
GetFistDeriv(param: number | Vector3): Vector3;
IntersectWith2(curve: Curve, intType: IntersectOption, tolerance?: number): any;
GetPointAtParam(param: number): Vector3;
GetParamAtPoint(pt: Vector3): number;
GetParamAtDist(d: number): number;
GetPointAtDistance(distance: number): Vector3;
GetDistAtParam(param: number): number;
GetDistAtPoint(pt: Vector3): number;
GetSplitCurves(param: number[] | number): Curve[];
GetParamAtPoint2(pt: Vector3): number;
PtOnCurve3(p: Vector3, fuzz?: number): boolean;
GetClosestAtPoint(pt: Vector3, extend: boolean): {
closestPt: Vector3;
param: number;
};
GetClosestPointTo(pt: Vector3, extend: boolean): Vector3;
Extend(newParam: number): void;
Join(cu: Curve, allowGap?: boolean, tolerance?: number): Status;
Reverse(): this;
GetOffsetCurves(offsetDist: number): Array<Curve>;
get BoundingBox(): Box3;
get StartParam(): number;
get EndParam(): number;
get Length(): number;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
set StartPoint(p: Vector3);
get StartPoint(): Vector3;
get EndPoint(): Vector3;
set EndPoint(p: Vector3);
}
//# sourceMappingURL=Line.d.ts.map

View File

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

View File

@@ -0,0 +1,28 @@
import { Object3D, Vector3 } from "three";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { Entity } from "./Entity";
export declare class Point extends Entity {
constructor(position?: Vector3);
/**
* 初始化绘制的threejs实体,子类型重载该函数初始化绘制实体.
*
* @param {RenderType} [renderType=RenderType.Wireframe] 渲染类型
* @returns {Object3D} 返回的threejs实体.
* @memberof Entity
*/
protected InitDrawObject(renderType?: RenderType): Object3D;
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3): Vector3[];
GetGripPoints(): Array<Vector3>;
MoveGripPoints(indexList: number[], vec: Vector3): void;
GetStretchPoints(): Array<Vector3>;
/**
* 拉伸夹点,用于Stretch命令
*
* @param {Array<number>} indexList 拉伸点索引列表.
* @param {Vector3} vec 移动向量
* @memberof Entity
*/
MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
}
//# sourceMappingURL=Point.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Point.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Entity/Point.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4D,QAAQ,EAAyC,OAAO,EAAE,MAAM,OAAO,CAAC;AAE3I,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAsBlC,qBACa,KAAM,SAAQ,MAAM;gBAEjB,QAAQ,GAAE,OAAuB;IAM7C;;;;;;MAME;IAEF,SAAS,CAAC,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IAOjF,mBAAmB,CACf,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,GACnB,OAAO,EAAE;IAOZ,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC;IAI/B,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO;IAShD,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC;IAKlC;;;;;;OAMG;IACH,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO;CAI3D"}

View File

@@ -0,0 +1,190 @@
import { Box3, BufferGeometry, Line as TLine, Matrix3, Matrix4, Object3D, Vector2, Vector3 } from 'three';
import { Status } from '../../Common/Status';
import { ObjectSnapMode } from '../../Editor/ObjectSnapMode';
import { IntersectOption } from '../../GraphicsSystem/IntersectWith';
import { RenderType } from '../../GraphicsSystem/RenderType';
import { CADFiler } from '../CADFiler';
import { Curve, ExtendType } from './Curve';
import { DragPointType } from './DragPointType';
import { Line2 } from 'three/examples/jsm/lines/Line2';
export interface PolylineProps {
pt: Vector2;
bul: number;
}
export declare class Polyline extends Curve {
private _LineData;
private _ClosedMark;
constructor(_LineData?: PolylineProps[]);
UpdateMatrixTo(m: Matrix4): void;
/**
* 原地翻转,仅改变法向量
*/
Flip(): this;
Reverse(): this;
set LineData(data: PolylineProps[]);
get LineData(): PolylineProps[];
get NumberOfVertices(): number;
/**
* 在指定位置插入点.
* 例如:
* pl.AddVertexAt(pl.NumberOfVerticesk,p);//在末尾插入一个点
*
* @param {number} index 索引位置
* @param {Vector2} pt 点
* @returns {this}
* @memberof Polyline
*/
AddVertexAt(index: number, pt: Vector2 | Vector2[]): this;
RemoveVertexAt(index: number): this;
RemoveVertexIn(from: number, to: number): this;
/**
* 重设闭合多段线的起点
* @param index 起始index,如果index非整数,将用最接近的整数作为起始索引
*/
ResetStartPoint(index: number): boolean;
GetPoint2dAt(index: number): Vector2 | undefined;
/**
* 设置指定点的位置
*
* @param {number} index
* @param {Vector2} pt
* @memberof Polyline
*/
SetPointAt(index: number, pt: Vector2): this;
protected ApplyScaleMatrix(m: Matrix4): this;
protected ApplyMirrorMatrix(m: Matrix4): this;
SetBulgeAt(index: number, bul: number): this;
GetBuilgeAt(index: number): number;
Rectangle(length: number, height: number): this;
RectangleFrom2Pt(p1: Vector3, p2: Vector3): this;
get StartPoint(): Vector3;
set StartPoint(p: Vector3);
get EndPoint(): Vector3;
set EndPoint(p: Vector3);
get CurveCount(): number;
get StartParam(): number;
/**
* 表示最后一条曲线的终止参数,使用该参数可以直接遍历到多段线的所有子线段. for(i<EndParam)...
*/
get EndParam(): number;
get Area2(): number;
get Area(): number;
get CloseMark(): boolean;
get IsClose(): boolean;
set CloseMark(v: boolean);
DigestionCloseMark(): void;
get Length(): number;
/**
* 获得指定参数所在的点.
* 当曲线存在闭合标志时,参数必须在曲线内部.
* 当曲线不存在闭合标志时,参数允许延伸出曲线.
*
* @param {number} param 参数
* @returns {Vector3} 三维点,可为空
* @memberof Polyline
*/
GetPointAtParam(param: number): Vector3;
GetDistAtParam(param: number): number;
GetPointAtDistance(dist: number): Vector3;
/**
* 返回参数所在的点. 如果曲线不闭合,会试图返回延伸点参数
*
* @param {Vector3} pt
* @returns {number}
* @memberof Polyline
*/
GetParamAtPoint(pt: Vector3): number;
GetParamAtDist(dist: number): number;
GetDistAtPoint(pt: Vector3): number;
/**
* 返回曲线的一阶导数.
* 当曲线闭合(标志)且点不在曲线上.
* 或者曲线不闭合(标志) 且点不在曲线上也不在延伸上
*
* @param {(number | Vector3)} param
* @returns {Vector3}
* @memberof Polyline
*/
GetFistDeriv(param: number | Vector3): Vector3;
GetSplitCurves(param: number[] | number): Array<Polyline>;
GetCurveAtParamRange(startParam: number, endParam: number): Array<Curve>;
Extend(newParam: number): void;
MatrixAlignTo2(toMatrix: Matrix4): {
pts: Vector2[];
buls: number[];
};
Join(cu: Curve, allowGap?: boolean, tolerance?: number): Status.False | Status.True;
/**
* 将曲线数组组合成多段线
* @param curves 已经使用CurveLinked的数组,总是首尾相连
* @returns
*/
static Combine(curves: Curve[], tolerance?: number): Polyline | undefined;
PtOnCurve(pt: Vector3): boolean;
PtOnCurve3(p: Vector3, fuzz?: number): boolean;
PtInCurve(pt: Vector3): boolean;
GetClosestPointTo(pt: Vector3, extend: boolean): Vector3;
GetClosestPointTo2(pt: Vector3, extType: ExtendType): Vector3;
GetOffsetCurves(offsetDist: number): Array<Curve>;
GetFeedingToolPath(offsetDist: number): Array<Curve>;
/**
* 分解
*/
Explode(): Curve[];
/**
* 根据参数得到参数所在的子曲线.
*
* 当曲线存在闭合标志时,参数必须在曲线内部,否则返回空.
*
* @param {number} param 参数值
* @returns {Curve} 曲线(直线或者圆弧) 或空
* @memberof Polyline
*/
GetCurveAtParam(param: number): Curve;
/**
* 得到参数在子曲线中的表示
*
* @param {number} param 参数在多段线中表示
* @returns {number} 参数在子曲线中表示
* @memberof Polyline
*/
GetCurveParamAtParam(param: number): number;
/**
* 获得曲线,来自索引位置.
* @param {number} i 索引位置 整数
*/
GetCurveAtIndex(i: number): Curve;
IntersectWith2(curve: Curve, intType: IntersectOption, tolerance?: number): import("../../GraphicsSystem/IntersectWith").IntersectResult[];
IntersectSelf(): number[];
get BoundingBox(): Box3;
/**
* 得到曲线有用的点表和凸度(闭合曲线首尾重复)
*/
get PtsBuls(): {
pts: Vector2[];
buls: number[];
};
get IsBulge(): boolean;
get Shape(): import("three").Shape;
get SVG(): string;
InitDrawObject(renderType?: RenderType): Line2 | TLine<BufferGeometry, import("three").LineBasicMaterial>;
UpdateDrawObject(type: RenderType, en: Object3D): void;
GetDragPointCount(drag: DragPointType): number;
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
GetGripPoints(): Array<Vector3>;
MoveGripPoints(indexList: number[], moveVec: Vector3): void;
GetStretchPoints(): Array<Vector3>;
/**
* 范围拉伸(stretch),对夹点进行拉伸.
* 如果对圆弧的一侧进行拉伸,那么修改bul
*
* @param {Array<number>} indexList
* @param {Vector3} vec
* @memberof Polyline
*/
MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
export declare const TempPolyline: Polyline;
//# sourceMappingURL=Polyline.d.ts.map

View File

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

View File

@@ -0,0 +1,55 @@
import { Box3, BufferGeometry, Material, Matrix3, Matrix4, Object3D, Vector3 } from 'three';
import { ObjectSnapMode } from '../../Editor/ObjectSnapMode';
import { BoolOpeartionType } from '../../GraphicsSystem/BoolOperateUtils';
import { RenderType } from '../../GraphicsSystem/RenderType';
import { CADFiler } from '../CADFiler';
import { ShapeManager } from '../ShapeManager';
import { Curve } from './Curve';
import { Entity } from './Entity';
export declare class Region extends Entity {
private _ShapeManager;
static CreateFromCurves(cus: Curve[]): Region | undefined;
constructor(_ShapeManager?: ShapeManager);
get ShapeManager(): ShapeManager;
get Area(): number;
get BoundingBox(): Box3;
Explode(): Curve[] | Region[];
/**
* 对于布尔操作,这个将会变换内部轮廓到对方坐标系.
* 并且这个变换不会更新图形绘制.
* @param {Matrix4} m
* @memberof Region
*/
ShapeApplyMatrix(m: Matrix4): void;
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
GetGripPoints(): Array<Vector3>;
MoveGripPoints(indexList: number[], moveVec: Vector3): void;
ApplyMatrix(m: Matrix4): this;
get Position(): Vector3;
set Position(pt: Vector3);
protected ApplyScaleMatrix(m: Matrix4): this;
Z0(): this;
MatrixPlanarizere(): this;
protected ApplyMirrorMatrix(m: Matrix4): this;
/**
* 请注意:该计算会操作otherRegion的矩阵
* @param {Region} otherRegion
* @param {BoolOpeartionType} boolType
*/
BooleanOper(otherRegion: Region, boolType: BoolOpeartionType): boolean;
private _MeshGeometry;
get MeshGeometry(): BufferGeometry;
private _EdgeGeometry;
private get EdgeGeometry();
private UpdateGeometry;
UpdateDrawGeometry(): void;
InitDrawObject(renderType?: RenderType): Object3D;
UpdateDrawObject(renderType: RenderType, obj: Object3D): Object3D;
/**
* 当实体需要被更新时,更新实体材质
*/
UpdateDrawObjectMaterial(type: RenderType, obj: Object3D, material?: Material): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=Region.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"Region.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Entity/Region.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAgB,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAQ,QAAQ,EAAiB,OAAO,EAAW,MAAM,OAAO,CAAC;AAIxI,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAI7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBACa,MAAO,SAAQ,MAAM;IAelB,OAAO,CAAC,aAAa;IAbjC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,SAAS;gBAarC,aAAa,GAAE,YAAiC;IAMpE,IAAI,YAAY,iBAGf;IACD,IAAI,IAAI,WAGP;IACD,IAAI,WAAW,SAMd;IACD,OAAO;IAoBP;;;;;OAKG;IACH,gBAAgB,CAAC,CAAC,EAAE,OAAO;IAK3B,mBAAmB,CACf,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,OAAO,GACpB,OAAO,EAAE;IAyBZ,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC;IAO/B,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO;IAMpD,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ7B,IAAI,QAAQ,IAIK,OAAO,CADvB;IACD,IAAI,QAAQ,CAAC,EAAE,EAAE,OAAO,EAgBvB;IAED,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAW5C,EAAE;IAQF,iBAAiB;IAQjB,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO;IAItC;;;;OAIG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO;IAkBtE,OAAO,CAAC,aAAa,CAAiB;IACtC,IAAI,YAAY,IAAI,cAAc,CAMjC;IAED,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,KAAK,YAAY,GAMvB;IAED,OAAO,CAAC,cAAc;IA4CtB,kBAAkB;IAMlB,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IAsBvE,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAwBtD;;MAEE;IACF,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ;IAoC7E,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAOlC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAM3B"}

View File

@@ -0,0 +1,9 @@
import { CADFiler } from './CADFiler';
import { ISerialize } from './ISerialize';
export declare class EraseEntityData implements ISerialize {
isErase: boolean;
ReadFile(file: CADFiler): this;
WriteFile(file: CADFiler): this;
constructor(isErase?: boolean);
}
//# sourceMappingURL=EraseEntityData.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"EraseEntityData.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/EraseEntityData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,qBACa,eAAgB,YAAW,UAAU;IAY3B,OAAO;IAV1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAK9B,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;gBAKZ,OAAO,UAAO;CAGpC"}

15
types/DatabaseServices/FaceEntity.d.ts vendored Normal file
View File

@@ -0,0 +1,15 @@
import { Object3D, Vector3 } from "three";
import { RenderType } from "../GraphicsSystem/RenderType";
import { CADFiler } from "./CADFiler";
import { Entity } from "./Entity/Entity";
export declare class FaceEntity extends Entity {
private p1;
private p2;
private p3;
private normal;
constructor(p1?: Vector3, p2?: Vector3, p3?: Vector3, normal?: Vector3);
protected InitDrawObject(renderType?: RenderType): Object3D;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=FaceEntity.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"FaceEntity.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/FaceEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,QAAQ,EAAE,OAAO,EAAQ,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,qBACa,UAAW,SAAQ,MAAM;IAEtB,OAAO,CAAC,EAAE;IAA2B,OAAO,CAAC,EAAE;IAA2B,OAAO,CAAC,EAAE;IAA2B,OAAO,CAAC,MAAM;gBAArH,EAAE,GAAE,OAAuB,EAAU,EAAE,GAAE,OAAuB,EAAU,EAAE,GAAE,OAAuB,EAAU,MAAM,GAAE,OAAuB;IAKlK,SAAS,CAAC,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IAYjF,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAalC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAa3B"}

35
types/DatabaseServices/FileServer.d.ts vendored Normal file
View File

@@ -0,0 +1,35 @@
import { Singleton } from "../Common/Singleton";
import { IDirectoryProps } from "../UI/Components/SourceManage/CommonPanel";
export interface IFileInfo {
file_id?: string;
dir_id?: string;
name?: string;
logo?: string;
file?: string;
zip_type?: "gzip";
update_date?: string;
}
/**
* File server
* 保存CAD的文件服务,统一由这里经过文件的CRUD操作
*/
export declare class FileServer extends Singleton {
currentFileInfo: {
name: string;
dir: IDirectoryProps;
};
m_CurFileId: string;
constructor();
AddNewFile(): Promise<boolean>;
OpenFile(fid: string): Promise<boolean>;
ReadFileList(): Promise<IFileInfo[]>;
GetFileInfo(fid: string): Promise<{
name: string;
file?: string;
}>;
UploadFile(fileInfo: IFileInfo): Promise<import("../Common/Request").IResponseData>;
UpdateFile(fileInfo: IFileInfo): Promise<import("../Common/Request").IResponseData>;
Download(fid: string): Promise<void>;
private SaveCurrentFileInfo;
}
//# sourceMappingURL=FileServer.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"FileServer.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/FileServer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAO5E,MAAM,WAAW,SAAS;IAEtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,SAAS;IAErC,eAAe,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,eAAe,CAAC;KAAE,CAAC;IAEzD,WAAW,EAAE,MAAM,CAAC;;IAoBd,UAAU;IAuBV,QAAQ,CAAC,GAAG,EAAE,MAAM;IA2BpB,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAWpC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KAAE,CAAC;IAqBnE,UAAU,CAAC,QAAQ,EAAE,SAAS;IA0B9B,UAAU,CAAC,QAAQ,EAAE,SAAS;IAmB9B,QAAQ,CAAC,GAAG,EAAE,MAAM;IAK1B,OAAO,CAAC,mBAAmB;CAM9B"}

11
types/DatabaseServices/GroupTable.d.ts vendored Normal file
View File

@@ -0,0 +1,11 @@
import { GroupRecord } from "./GroupTableRecord";
import { ObjectCollection } from "./ObjectCollection";
import { CADFiler } from "./CADFiler";
import { Status } from "../Common/Status";
export declare class GroupTable extends ObjectCollection<GroupRecord> {
Append(object: GroupRecord, isCheckObjectCleanly?: boolean): import("./ObjectId").ObjectId;
Add(record: GroupRecord, isCheckObjectCleanly?: boolean): Status;
ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=GroupTable.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"GroupTable.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/GroupTable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,qBACa,UAAW,SAAQ,gBAAgB,CAAC,WAAW,CAAC;IAGzD,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,oBAAoB,UAAO;IAUvD,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,oBAAoB,UAAO,GAAG,MAAM;IAU7D,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAMvB,SAAS,CAAC,IAAI,EAAE,QAAQ;CAO3B"}

View File

@@ -0,0 +1,10 @@
import { SymbolTableRecord } from "./SymbolTableRecord";
import { ObjectId } from "./ObjectId";
import { CADFiler } from "./CADFiler";
export declare class GroupRecord extends SymbolTableRecord {
Entitys: ObjectId[];
constructor();
ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=GroupTableRecord.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"GroupTableRecord.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/GroupTableRecord.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBACa,WAAY,SAAQ,iBAAiB;IAElC,OAAO,EAAE,QAAQ,EAAE,CAAC;;IAmChC,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAavB,SAAS,CAAC,IAAI,EAAE,QAAQ;CAS3B"}

View File

@@ -0,0 +1,15 @@
import { CompositeEntity } from "../Entity/CompositeEntity";
import { ICompHardwareOption } from "../../UI/Components/RightPanel/RightPanelInterface";
import { CADFiler } from "../CADFiler";
import { Entity } from "../Entity/Entity";
import { ObjectId } from "../ObjectId";
export declare class HardwareCompositeEntity extends CompositeEntity {
HardwareOption: ICompHardwareOption;
DataList: [string, string][];
RelevanceBoards: ObjectId[];
constructor();
GetAllEntity(isHole?: boolean, filter?: (e: Entity) => boolean): Entity[];
ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=HardwareCompositeEntity.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"HardwareCompositeEntity.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Hardware/HardwareCompositeEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBACa,uBAAwB,SAAQ,eAAe;IAE5C,cAAc,EAAE,mBAAmB,CAAuC;IAC1E,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAM;IAClC,eAAe,EAAE,QAAQ,EAAE,CAAM;;IAK7C,YAAY,CAAC,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO;IAoBrE,QAAQ,CAAC,IAAI,EAAE,QAAQ;IA+CvB,SAAS,CAAC,IAAI,EAAE,QAAQ;CAmC3B"}

View File

@@ -0,0 +1,46 @@
import { CADFiler } from './CADFiler';
import { CADObject } from './CADObject';
import { CommandHistoryRecord } from './CommandHistoryRecord';
/**
* 历史记录管理
*
* 关于子命令标记:
* 当子命令标记出现的时候,才允许出现局部撤销,否则命令执行中不允许撤销,触发命令重写了撤销和重做的事件.
*/
export declare class HistoricManage extends CADObject {
useSubCommand: boolean;
curIndex: number;
lockIndex: number;
historyRecord: CommandHistoryRecord[];
doing: boolean;
Enable: boolean;
_SignalCommandHistory: HistoricManage;
constructor(useSubCommand?: boolean);
Clear(): void;
ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
get IsNow(): boolean;
get UndoData(): CommandHistoryRecord;
StartMark(subCommandName?: string): void;
/**
* 不要在命令中直接调用这个函数!
* 请调用 commandMachine.CommandStart
*/
StartCmd(cmdName: string): void;
CurrentHasHistory(): boolean;
EndCmd(): boolean;
/**
* 获得这个命令修改的对象列表
*/
get ChangeObjects(): Set<CADObject>;
GetRangeChangeObject(startIndex: number, endIndex: number): Set<CADObject>;
/**
* 合并命令历史记录,因为命令记录器允许存在子记录,所以当命令结束时,应该把子记录合并到父记录中,子记录将被摧毁.
*/
private MergeSubCommmand;
Undo(): boolean;
Redo(): any;
UndoEvent(cmdName: string, historyRec: CommandHistoryRecord): void;
RedoEvent(cmdName: string, historyRec: CommandHistoryRecord): void;
}
//# sourceMappingURL=HistoricManage.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"HistoricManage.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/HistoricManage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;GAKG;AACH,qBACa,cAAe,SAAQ,SAAS;IAUtB,aAAa;IARhC,QAAQ,EAAE,MAAM,CAAM;IACtB,SAAS,SAAM;IACf,aAAa,EAAE,oBAAoB,EAAE,CAAM;IAC3C,KAAK,EAAE,OAAO,CAAS;IACvB,MAAM,EAAE,OAAO,CAAQ;IAEvB,qBAAqB,EAAE,cAAc,CAAC;gBAEnB,aAAa,UAAO;IAKvC,KAAK;IAOL,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAYvB,SAAS,CAAC,IAAI,EAAE,QAAQ;IAYxB,IAAI,KAAK,IAAI,OAAO,CAGnB;IAED,IAAI,QAAQ,IAAI,oBAAoB,CAenC;IAGD,SAAS,CAAC,cAAc,SAAK;IAY7B;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM;IAUxB,iBAAiB,IAAI,OAAO;IAS5B,MAAM,IAAI,OAAO;IAoBjB;;OAEG;IACH,IAAI,aAAa,IAAI,GAAG,CAAC,SAAS,CAAC,CAclC;IACD,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC;IAS1E;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkBxB,IAAI,IAAI,OAAO;IA6Bf,IAAI;IA2BJ,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB;IAI3D,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB;CAI9D"}

View File

@@ -0,0 +1,14 @@
import { CADFiler } from './CADFiler';
import { CADObject } from './CADObject';
import { ISerialize } from './ISerialize';
/**
* 历史记录,用于撤销和重做的数据.
*/
export declare class HistorycRecord extends CADObject {
undoData: ISerialize;
redoData: ISerialize;
userData: ISerialize;
ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=HistorycRecord.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"HistorycRecord.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/HistorycRecord.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;GAEG;AACH,qBACa,cAAe,SAAQ,SAAS;IAGzC,QAAQ,EAAE,UAAU,CAAC;IAErB,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;IAMrB,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAQvB,SAAS,CAAC,IAAI,EAAE,QAAQ;CAQ3B"}

View File

@@ -0,0 +1,6 @@
import { CADFiler } from "./CADFiler";
export interface ISerialize {
ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=ISerialize.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"ISerialize.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/ISerialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,WAAW,UAAU;IAEvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;CACnC"}

3
types/DatabaseServices/IdMaping.d.ts vendored Normal file
View File

@@ -0,0 +1,3 @@
import { ObjectId } from "./ObjectId";
export declare type IdMaping = Map<ObjectId, ObjectId>;
//# sourceMappingURL=IdMaping.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"IdMaping.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/IdMaping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,oBAAY,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC"}

View File

@@ -0,0 +1,8 @@
import { Object3D } from "three";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { Light } from "./Light";
export declare class AmbientLight extends Light {
protected _Intensity: number;
protected InitDrawObject(renderType?: RenderType): Object3D;
}
//# sourceMappingURL=AmbientLight.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"AmbientLight.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Lights/AmbientLight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBACa,YAAa,SAAQ,KAAK;IAEnC,SAAS,CAAC,UAAU,SAAK;IACzB,SAAS,CAAC,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;CAKpF"}

View File

@@ -0,0 +1,22 @@
import { Matrix4, Object3D, Vector3 } from "three";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from "../CADFiler";
import { Light } from "./Light";
/**
* 平行光源
*/
export declare class DirectionalLight extends Light {
OnlyRenderType: boolean;
private _Target;
protected _ShowHelper: boolean;
get Target(): Vector3;
set Target(p: Vector3);
ApplyMatrix(m: Matrix4): this;
GetGripPoints(): Array<Vector3>;
MoveGripPoints(indexList: number[], vec: Vector3): void;
protected InitDrawObject(renderType?: RenderType): Object3D;
UpdateDrawObject(type: RenderType, en: Object3D): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=DirectionalLight.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"DirectionalLight.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Lights/DirectionalLight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAC;AAGlI,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC;;GAEG;AACH,qBACa,gBAAiB,SAAQ,KAAK;IAEvC,cAAc,UAAQ;IACtB,OAAO,CAAC,OAAO,CAAiB;IAChC,SAAS,CAAC,WAAW,UAAS;IAE9B,IAAI,MAAM,IAII,OAAO,CADpB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,OAAO,EAQpB;IACD,WAAW,CAAC,CAAC,EAAE,OAAO;IAOtB,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC;IAO/B,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO;IAQhD,SAAS,CAAC,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IAmBjF,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ;IAwB/C,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAMlC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAM3B"}

View File

@@ -0,0 +1,16 @@
import * as THREE from "three";
import { Object3D } from "three";
import { Light } from "./Light";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from "../CADFiler";
export declare class HemisphereLight extends Light {
private m_GroundColor;
protected _Intensity: number;
get GroundColor(): THREE.Color;
set GroundColor(color: THREE.Color);
protected InitDrawObject(renderType?: RenderType): Object3D;
UpdateDrawObject(type: RenderType, en: Object3D): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=HemisphereLight.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"HemisphereLight.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Lights/HemisphereLight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBACa,eAAgB,SAAQ,KAAK;IAEtC,OAAO,CAAC,aAAa,CAAqB;IAC1C,SAAS,CAAC,UAAU,SAAO;IAC3B,IAAI,WAAW,IAKQ,KAAK,CAAC,KAAK,CADjC;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAKjC;IACD,SAAS,CAAC,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IAKjF,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ;IAM/C,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAOlC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAO3B"}

Some files were not shown because too many files have changed in this diff Show More