增加户型部分

This commit is contained in:
ChenX
2022-05-26 11:06:27 +08:00
parent 8477786c73
commit 2282ac009b
646 changed files with 36547 additions and 2964 deletions

View File

@@ -0,0 +1,68 @@
import { Box3, BufferGeometry, Geometry, Object3D, Vector2, Vector3 } from "three";
import { Box3Ext } from "../../../../Geometry/Box";
import { RenderType } from "../../../../GraphicsSystem/RenderType";
import { CADFiler } from "../../../CADFiler";
import { Polyline } from "../../../Entity/Polyline";
import { ObjectId } from "../../../ObjectId";
import { RoomBase } from "../RoomBase";
export declare function UpdateTempPolyline(_ContourData: {
pts: Vector2[];
buls: number[];
}): Polyline;
/**
* 平面实体基类
* 子类:地板 天花
*/
export declare class RoomFlatBase extends RoomBase {
protected _RegionId: ObjectId;
protected _ContourData: {
pts: Vector2[];
buls: number[];
};
protected _HoleDatas: {
pts: Vector2[];
buls: number[];
}[];
constructor(_Contour?: Polyline, //为了防止contour被删除(所以我们直接备份这个)
_Holes?: Polyline[]);
get ContourData(): {
pts: Vector2[];
buls: number[];
};
set ContourData(value: {
pts: Vector2[];
buls: number[];
});
get HoleDatas(): {
pts: Vector2[];
buls: number[];
}[];
set HoleDatas(value: {
pts: Vector2[];
buls: number[];
}[]);
get Area(): number;
get BoundingBoxInOCS(): Box3Ext;
get BoundingBox(): Box3;
UpdateContourHoles(_Contour: Polyline, _Holes: Polyline[]): void;
set Contour(_Contour: Polyline);
get Contour(): Polyline;
set Holes(_Holes: Polyline[]);
get RegionId(): ObjectId;
set RegionId(value: ObjectId);
GetGripPoints(): Vector3[];
MoveGripPoints(indexList: number[], vec: Vector3): void;
GetStretchPoints(): Vector3[];
MoveStretchPoints(indexList: number[], vec: Vector3): void;
UpdateDrawGeometry(): void;
protected _EdgeGeometry: BufferGeometry;
protected get EdgeGeometry(): BufferGeometry;
protected _MeshGeometry: Geometry;
protected get MeshGeometry(): Geometry;
UpdateDrawObjectMaterial(renderType: RenderType, obj: Object3D): void;
InitDrawObject(renderType?: RenderType): Object3D;
UpdateDrawObject(renderType: RenderType, obj: Object3D): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=RoomFlatBase.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomFlatBase.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/Entity/Flat/RoomFlatBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAqC,QAAQ,EAAiB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAErI,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAInD,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,wBAAgB,kBAAkB,CAAC,YAAY,EAAE;IAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;CAAE,YAMnF;AAED;;;GAGG;AACH,qBACa,YAAa,SAAQ,QAAQ;IAEtC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC9B,SAAS,CAAC,YAAY,EAAE;QAAE,GAAG,EAAE,OAAO,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;KAAE,CAAC;IAE5D,SAAS,CAAC,UAAU,EAAE;QAAE,GAAG,EAAE,OAAO,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;KAAE,EAAE,CAAC;gBAGxD,QAAQ,CAAC,EAAE,QAAQ,EAAC,4BAA4B;IAChD,MAAM,GAAE,QAAQ,EAAO;IAS3B,IAAI,WAAW,IAAI;QAAE,GAAG,EAAE,OAAO,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;KAAE,CAGrD;IAED,IAAI,WAAW,CAAC,KAAK,EAAE;QAAE,GAAG,EAAE,OAAO,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;KAAE,EAEzD;IAED,IAAI,SAAS,IAAI;QAAE,GAAG,EAAE,OAAO,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;KAAE,EAAE,CAGrD;IACD,IAAI,SAAS,CAAC,KAAK,EAAE;QAAE,GAAG,EAAE,OAAO,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;KAAE,EAAE,EAEzD;IAED,IAAI,IAAI,WAQP;IAED,IAAI,gBAAgB,IAAI,OAAO,CAG9B;IAED,IAAI,WAAW,IAAI,IAAI,CAGtB;IAEM,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;IAYhE,IAAW,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAKpC;IACD,IAAW,OAAO,IANW,QAAQ,CASpC;IAED,IAAW,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,EAKlC;IAED,IAAW,QAAQ,IAAI,QAAQ,CAG9B;IACD,IAAW,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAKlC;IAEQ,aAAa,IAAI,OAAO,EAAE;IAQ1B,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IAIvD,gBAAgB,IAAI,OAAO,EAAE;IAM7B,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IAM1D,kBAAkB;IAU3B,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC;IACxC,SAAS,KAAK,YAAY,mBAQzB;IAED,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC;IAClC,SAAS,KAAK,YAAY,IAAI,QAAQ,CAWrC;IAED,wBAAwB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAwBrD,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IAiCvE,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAwC/D,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IA2BlC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAwB3B"}

View File

@@ -0,0 +1,7 @@
import { RoomFlatBase } from "./RoomFlatBase";
/**
* 天花板
*/
export declare class RoomFlatCeiling extends RoomFlatBase {
}
//# sourceMappingURL=RoomFlatCeiling.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomFlatCeiling.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/Entity/Flat/RoomFlatCeiling.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;GAEG;AACH,qBACa,eAAgB,SAAQ,YAAY;CAEhD"}

View File

@@ -0,0 +1,10 @@
import { CADFiler } from "../../../CADFiler";
import { RoomFlatBase } from "./RoomFlatBase";
/**
* 地板
*/
export declare class RoomFlatFloor extends RoomFlatBase {
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=RoomFlatFloor.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomFlatFloor.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/Entity/Flat/RoomFlatFloor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;GAEG;AACH,qBACa,aAAc,SAAQ,YAAY;cAMxB,SAAS,CAAC,IAAI,EAAE,QAAQ;IAMlC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAKpC"}

View File

@@ -0,0 +1,11 @@
import { Geometry } from "three";
import { RoomFlatBase } from "./RoomFlatBase";
/**
* 天花板
*/
export declare class RoomFlatTop extends RoomFlatBase {
protected get MeshGeometry(): Geometry;
protected get CaseShadow(): boolean;
protected get ReceiveShadow(): boolean;
}
//# sourceMappingURL=RoomFlatTop.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomFlatTop.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/Entity/Flat/RoomFlatTop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,QAAQ,EAAuB,MAAM,OAAO,CAAC;AAI7D,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAGlE;;GAEG;AACH,qBACa,WAAY,SAAQ,YAAY;IAEzC,cAAuB,YAAY,IAAI,QAAQ,CAuC9C;IAED,cAAuB,UAAU,YAGhC;IACD,cAAuB,aAAa,YAGnC;CACJ"}

View File

@@ -0,0 +1,41 @@
import { Object3D, Vector3 } from "three";
import { RenderType } from "../../../../GraphicsSystem/RenderType";
import { CADFiler } from "../../../CADFiler";
import { ObjectId } from "../../../ObjectId";
import { Text } from "../../../Text/Text";
import { RoomBase } from "../RoomBase";
/**
* 户型区域:厨房,客厅,主卧,卫生间
* 绑定了天花板和地板对象
*/
export declare class RoomRegion extends RoomBase {
private _Name;
private _Top;
private _Floor;
private _Area;
_Text: Text;
constructor(_Name: string, //名称
_Top: ObjectId, //天花板
_Floor: ObjectId, //地板
_Area?: number);
get Area(): number;
set Area(value: number);
get TextString(): string;
set TextString(name: string);
get Top(): ObjectId;
set Top(value: ObjectId);
get Floor(): ObjectId;
set Floor(value: ObjectId);
private get Text();
GetGripPoints(): Vector3[];
InitDrawObject(renderType?: RenderType): Object3D;
/**
* 重载:更新绘制的实体
* @param {RenderType} type
* @param {Object3D} obj
*/
UpdateDrawObject(renderType: RenderType, obj: Object3D): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=RoomRegion.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomRegion.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/Entity/Region/RoomRegion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAW,OAAO,EAAE,MAAM,OAAO,CAAC;AAInD,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAc,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;GAGG;AACH,qBACa,UAAW,SAAQ,QAAQ;IAIhC,OAAO,CAAC,KAAK;IAEb,OAAO,CAAC,IAAI;IAEZ,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;IAPjB,KAAK,EAAE,IAAI,CAAC;gBAEA,KAAK,EAAE,MAAW,EAAC,IAAI;IAEvB,IAAI,EAAE,QAAQ,EAAC,KAAK;IAEpB,MAAM,EAAE,QAAQ,EAAC,IAAI;IACrB,KAAK,SAAI;IAMrB,IAAW,IAAI,WAGd;IAED,IAAW,IAAI,CAAC,KAAK,QAAA,EAOpB;IAED,IAAI,UAAU,IACO,MAAM,CADY;IACvC,IAAI,UAAU,CAAC,IAAI,EAAE,MAAM,EAK1B;IAED,IAAW,GAAG,IAAI,QAAQ,CAGzB;IAED,IAAW,GAAG,CAAC,KAAK,EAAE,QAAQ,EAI7B;IAED,IAAW,KAAK,IAAI,QAAQ,CAG3B;IACD,IAAW,KAAK,CAAC,KAAK,EAAE,QAAQ,EAI/B;IAED,OAAO,KAAK,IAAI,GAMf;IAED,aAAa,IAAI,OAAO,EAAE;IAc1B,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IAQvE;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAetD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAWlC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAU3B"}

View File

@@ -0,0 +1,8 @@
import { Entity } from "../../Entity/Entity";
/**
* 户型元件的基类
* 墙 平面(地板 天花)
*/
export declare class RoomBase extends Entity {
}
//# sourceMappingURL=RoomBase.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomBase.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Room/Entity/RoomBase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C;;;GAGG;AACH,qBACa,QAAS,SAAQ,MAAM;CAEnC"}

View File

@@ -0,0 +1 @@
//# sourceMappingURL=RoomGirder.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomGirder.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/Entity/Structure/RoomGirder.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1 @@
//# sourceMappingURL=RoomPillar.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomPillar.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/Entity/Structure/RoomPillar.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1 @@
//# sourceMappingURL=RoomDoor.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomDoor.d.ts","sourceRoot":"","sources":["../../../../../../../../src/DatabaseServices/Room/Entity/Wall/Hole/Door/RoomDoor.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,21 @@
import { CADFiler } from "../../../../CADFiler";
import { CADObject } from "../../../../CADObject";
import { ObjectId } from "../../../../ObjectId";
import { RoomBase } from "../../RoomBase";
import { RoomWallBase } from "../RoomWallBase";
/**
* 墙上的洞
*
* 这个类接管了墙上的洞的绘制,以便可以直接在视图上操作这个洞(选择到洞,并且拖动) 但是同时我们也需要拿到原始墙的信息,保持材质(或者白墙? 独立材质?)
*/
export declare class RoomHoleBase extends RoomBase {
RelevancyWalls: ObjectId<RoomWallBase>[];
protected _Height: number;
constructor();
get Height(): number;
set Height(value: number);
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
ApplyPartialUndo(undoData: CADObject): void;
}
//# sourceMappingURL=RoomHoleBase.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomHoleBase.d.ts","sourceRoot":"","sources":["../../../../../../../src/DatabaseServices/Room/Entity/Wall/Hole/RoomHoleBase.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C;;;;GAIG;AACH,qBACa,YAAa,SAAQ,QAAQ;IAE1B,cAAc,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAM;IAE1D,SAAS,CAAC,OAAO,SAAO;;IAIxB,IAAW,MAAM,WAGhB;IACD,IAAW,MAAM,CAAC,KAAK,QAAA,EAMtB;cAIkB,SAAS,CAAC,IAAI,EAAE,QAAQ;IAmBlC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAWxB,gBAAgB,CAAC,QAAQ,EAAE,SAAS;CAKhD"}

View File

@@ -0,0 +1,28 @@
import { Object3D, Vector3 } from "three";
import { RenderType } from "../../../../../GraphicsSystem/RenderType";
import { CADFiler } from "../../../../CADFiler";
import { CADObject } from "../../../../CADObject";
import { Line } from "../../../../Entity/Line";
import { RoomBase } from "../../RoomBase";
import { RoomHoleBase } from "./RoomHoleBase";
/**
* 直线洞 2点(暂时不要用这个 全部使用RoomHolePolyline)
*/
export declare class RoomHoleLine extends RoomHoleBase {
private _StartPoint;
private _EndPoint;
constructor(_StartPoint?: Vector3, _EndPoint?: Vector3);
get StartPoint(): Vector3;
get EndPoint(): Vector3;
set StartPoint(p: Vector3);
set EndPoint(p: Vector3);
InitDrawObject(renderType?: RenderType): Object3D;
UpdateDrawObject(type: RenderType, obj: Object3D): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
ApplyPartialUndo(undoData: CADObject): void;
}
//@ts-ignore
export interface RoomHoleLine extends RoomBase, Line {
}
//# sourceMappingURL=RoomHoleLine.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomHoleLine.d.ts","sourceRoot":"","sources":["../../../../../../../src/DatabaseServices/Room/Entity/Wall/Hole/RoomHoleLine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK9C;;GAEG;AACH,qBACa,YAAa,SAAQ,YAAY;IAG9B,OAAO,CAAC,WAAW;IAC3B,OAAO,CAAC,SAAS;gBADD,WAAW,UAAc,EACjC,SAAS,UAAc;IAMnC,IAAI,UAAU,IAAI,OAAO,CAGxB;IAED,IAAI,QAAQ,IAAI,OAAO,CAGtB;IAED,IAAI,UAAU,CAAC,CAAC,EAAE,OAAO,EASxB;IAED,IAAI,QAAQ,CAAC,CAAC,EAAE,OAAO,EAStB;IAGD,cAAc,CAAC,UAAU,GAAE,UAAiC;IAM5D,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAOhD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IASlC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAYxB,gBAAgB,CAAC,QAAQ,EAAE,SAAS;CAMvC;AAGD,MAAM,WAAW,YAAa,SAAQ,QAAQ,EAAE,IAAI;CAAI"}

View File

@@ -0,0 +1,48 @@
import { Geometry, 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 { CADObject } from "../../../../CADObject";
import { Curve } from "../../../../Entity/Curve";
import { Polyline } from "../../../../Entity/Polyline";
import { RoomWallBase } from "../RoomWallBase";
import { RoomHoleBase } from "./RoomHoleBase";
/**
* 折线洞 例如 转角窗 或者U型窗
*/
export declare class RoomHolePolyline extends RoomHoleBase {
private _Points;
private _FakerWalls;
set FakerWalls(_FakerWalls: RoomWallBase[]);
get FakerWalls(): RoomWallBase[];
constructor();
get BoundingBoxInOCS(): Box3Ext;
get Points(): Vector3[];
set Points(pts: Vector3[]);
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
GetGripPoints(): Vector3[];
MoveGripPoints(ids: number[], vec: Vector3): void;
GetStretchPoints(): Array<Vector3>;
MoveStretchPoints(ids: Array<number>, vec: Vector3): void;
UpdatePoints(): void;
LidCurves: Curve[];
Regions: Polyline[];
UpdateDrawGeometry(): void;
private _EdgeGeometry;
get EdgeGeometry(): Geometry;
private _MeshGeometry;
get MeshGeometry(): Geometry;
InitDrawObject(renderType?: RenderType): Object3D;
/**
* 重载:更新绘制的实体
* @param {RenderType} renderType
* @param {Object3D} obj
*/
UpdateDrawObject(renderType: RenderType, obj: Object3D): void;
UpdateDrawObjectMaterial(renderType: RenderType, obj: Object3D): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
ApplyPartialUndo(undoData: CADObject): void;
}
//# sourceMappingURL=RoomHolePolyline.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomHolePolyline.d.ts","sourceRoot":"","sources":["../../../../../../../src/DatabaseServices/Room/Entity/Wall/Hole/RoomHolePolyline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,QAAQ,EAAgB,OAAO,EAAQ,QAAQ,EAAuB,OAAO,EAAE,MAAM,OAAO,CAAC;AAG7G,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAU9C;;GAEG;AACH,qBACa,gBAAiB,SAAQ,YAAY;IAG9C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,WAAW,CAAsB;IACzC,IAAW,UAAU,CAAC,WAAW,EAAE,YAAY,EAAE,EAehD;IACD,IAAI,UAAU,IAAI,YAAY,EAAE,CAA6B;;IAI7D,IAAa,gBAAgB,IAAI,OAAO,CAQvC;IAED,IAAI,MAAM,IACM,OAAO,EAAE,CAD8D;IACvF,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAKxB;IAED,mBAAmB,CACf,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,OAAO,GACpB,OAAO,EAAE;IAQZ,aAAa,IAAI,OAAO,EAAE;IAK1B,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO;IAK1C,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC;IAKlC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO;IAMlD,YAAY;IA6BZ,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,OAAO,EAAE,QAAQ,EAAE,CAAC;IAEX,kBAAkB;IAU3B,OAAO,CAAC,aAAa,CAAW;IAChC,IAAI,YAAY,aAyDf;IAED,OAAO,CAAC,aAAa,CAAW;IAChC,IAAI,YAAY,aA4Ef;IAGD,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IAwBvE;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IAsCtD,wBAAwB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;cA4B3C,SAAS,CAAC,IAAI,EAAE,QAAQ;IAclC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAajC,gBAAgB,CAAC,QAAQ,EAAE,SAAS;CAKvC"}

View File

@@ -0,0 +1 @@
//# sourceMappingURL=RoomWallHoleBase.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomWallHoleBase.d.ts","sourceRoot":"","sources":["../../../../../../../src/DatabaseServices/Room/Entity/Wall/Hole/RoomWallHoleBase.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1 @@
//# sourceMappingURL=RoomWindow.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomWindow.d.ts","sourceRoot":"","sources":["../../../../../../../../src/DatabaseServices/Room/Entity/Wall/Hole/Window/RoomWindow.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,45 @@
import { BufferGeometry, Geometry, 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 { Line } from "../../../Entity/Line";
import { RoomWallBase } from "./RoomWallBase";
export declare class RoomWallArc extends RoomWallBase {
private _Radius;
private _StartAngle;
private _EndAngle;
/**
* 曲线为顺时针
*/
private _Clockwise;
constructor(_Center?: Vector3, _Radius?: number, _StartAngle?: number, _EndAngle?: number,
/**
* 曲线为顺时针
*/
_Clockwise?: boolean, _Thickness?: number);
get CenterAxisCurve(): Arc | Line;
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform: Matrix3): Vector3[];
GetGripPoints(): Array<Vector3>;
MoveGripPoints(indexList: Array<number>, vec: Vector3): void;
GetStretchPoints(): Vector3[];
MoveStretchPoints(indexList: number[], vec: Vector3): void;
UpdateDrawGeometry(): void;
private _EdgeGeometry;
private _MeshGeometry;
get EdgeGeometry(): BufferGeometry;
get MeshGeometry(): Geometry;
InitDrawObject(renderType?: RenderType): Object3D;
/**
* 重载:更新绘制的实体
* @param {RenderType} renderType
* @param {Object3D} obj
*/
UpdateDrawObject(renderType: RenderType, obj: Object3D): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//@ts-ignore
export interface RoomWallArc extends RoomWallBase, Arc {
}
//# sourceMappingURL=RoomWallArc.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomWallArc.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/Entity/Wall/RoomWallArc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAS,QAAQ,EAA0C,OAAO,EAAQ,QAAQ,EAAuB,OAAO,EAAE,MAAM,OAAO,CAAC;AAGvJ,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAKnE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE1C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG5C,OAAO,EAAsD,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAIhH,qBACa,WAAY,SAAQ,YAAY;IAGrC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,SAAS;IACjB;;OAEG;IACH,OAAO,CAAC,UAAU;gBAPV,OAAO,GAAE,OAAuB,EAChC,OAAO,SAAM,EACb,WAAW,SAAM,EACjB,SAAS,SAAM;IACvB;;OAEG;IACK,UAAU,UAAO,EACzB,UAAU,SAAM;IAYpB,IAAa,eAAe,IAAI,GAAG,GAAG,IAAI,CAazC;IAED,mBAAmB,CACf,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,GACnB,OAAO,EAAE;IAmCZ,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC;IAe/B,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO;IAUrD,gBAAgB,IAAI,OAAO,EAAE;IAI7B,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IAQ1D,kBAAkB;IAWlB,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,aAAa,CAAW;IAChC,IAAI,YAAY,mBAwIf;IACD,IAAI,YAAY,aA2af;IAED,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IAgCvE;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;cAoDnC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAWlC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAUpC;AA+BD,MAAM,WAAW,WAAY,SAAQ,YAAY,EAAE,GAAG;CAAI"}

View File

@@ -0,0 +1,53 @@
import { Object3D } from "three";
import { RenderType } from "../../../../GraphicsSystem/RenderType";
import { CADFiler } from "../../../CADFiler";
import { CADObject } from "../../../CADObject";
import { Arc } from "../../../Entity/Arc";
import { Curve } from "../../../Entity/Curve";
import { Line } from "../../../Entity/Line";
import { Polyline } from "../../../Entity/Polyline";
import { ObjectId } from "../../../ObjectId";
import { RoomBase } from "../RoomBase";
import { RoomHolePolyline } from "./Hole/RoomHolePolyline";
import { WallSnapMode } from "./WallSnapMode";
export declare const CURVE_FACE_TYPE_KEY = "__CURVE_FACE_TYPE_KEY__";
export declare enum WallFaceType {
Inside = 0,
Pillar = 1,
Outside = 2
}
interface HoleData {
StartParam: number;
EndParam: number;
Bottom: number;
Top: number;
}
export declare abstract class RoomWallBase extends RoomBase {
static SnapMode: WallSnapMode;
RelevancyHoles: ObjectId<RoomHolePolyline>[];
Holes: HoleData[];
get RealHoles(): HoleData[];
protected _Thickness: number;
protected _Height: number;
get Height(): number;
set Height(_newHeight: number);
get Thickness(): number;
set Thickness(t: number);
get CenterAxisCurve(): Arc | Line;
UpdateCurve(cu: Curve): void;
LeftCurves: (Arc | Line)[];
RightCurves: (Arc | Line)[];
LidCurves: (Arc | Line)[];
Region: Polyline;
UpdateDrawObjectMaterial(renderType: RenderType, obj: Object3D): void;
CopyFrom(obj: CADObject): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//@ts-ignore
export interface RoomWallBase extends RoomBase, Curve {
}
export declare const CURVE_MESH_NAMES: string[];
export declare function applyMixins(derivedCtor: any, constructor: any, methons?: string[]): void;
export {};
//# sourceMappingURL=RoomWallBase.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomWallBase.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/Entity/Wall/RoomWallBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAGnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAE7D,oBAAY,YAAY;IAEpB,MAAM,IAAI;IACV,MAAM,IAAI;IACV,OAAO,IAAI;CACd;AAED,UAAU,QAAQ;IAEd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACf;AAED,8BACsB,YAAa,SAAQ,QAAQ;IAE/C,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAoB;IAErC,cAAc,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAM;IAC9D,KAAK,EAAE,QAAQ,EAAE,CAAM;IAEvB,IAAI,SAAS,IAAI,QAAQ,EAAE,CAG1B;IAED,SAAS,CAAC,UAAU,SAAO;IAC3B,SAAS,CAAC,OAAO,SAAQ;IAEzB,IAAI,MAAM,WAGT;IACD,IAAI,MAAM,CAAC,UAAU,QAAA,EAMpB;IAED,IAAI,SAAS,IACI,MAAM,CADoB;IAC3C,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,EAMtB;IAID,IAAI,eAAe,IAAI,GAAG,GAAG,IAAI,CAAY;IAG7C,WAAW,CAAC,EAAE,EAAE,KAAK;IAGrB,UAAU,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;IAC3B,WAAW,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;IAC5B,SAAS,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;IAC1B,MAAM,EAAE,QAAQ,CAAC;IAEjB,wBAAwB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IA2BrD,QAAQ,CAAC,GAAG,EAAE,SAAS;IAkBhC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAmBlC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAW3B;AAGD,MAAM,WAAW,YAAa,SAAQ,QAAQ,EAAE,KAAK;CAAI;AAEzD,eAAO,MAAM,gBAAgB,UAyC5B,CAAC;AAGF,wBAAgB,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,WAAmB,QAQzF"}

View File

@@ -0,0 +1,41 @@
import { Box3, BufferGeometry, Geometry, 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 { Line } from "../../../Entity/Line";
import { RoomWallBase } from "./RoomWallBase";
export declare class RoomWallLine extends RoomWallBase {
private _StartPoint;
private _EndPoint;
constructor(_StartPoint?: Vector3, _EndPoint?: Vector3, _Thickness?: number);
UpdateOCSToMinBox(): void;
get StartPoint(): Vector3;
get EndPoint(): Vector3;
set StartPoint(p: Vector3);
set EndPoint(p: Vector3);
Reverse(): this;
get CenterAxisCurve(): Line;
get BoundingBox(): Box3;
get BoundingBoxInOCS(): Box3Ext;
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform: Matrix3): Vector3[];
GetGripPoints(): Vector3[];
MoveGripPoints(indexs: number[], vec: Vector3): void;
GetStretchPoints(): Vector3[];
MoveStretchPoints(indexList: number[], vec: Vector3): void;
UpdateDrawGeometry(): void;
private _EdgeGeometry;
get EdgeGeometry(): BufferGeometry;
private _MeshGeometry;
get MeshGeometry(): Geometry;
InitDrawObject(renderType?: RenderType): Object3D;
/**
* 重载:更新绘制的实体
* @param {RenderType} renderType
* @param {Object3D} obj
*/
UpdateDrawObject(renderType: RenderType, obj: Object3D): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=RoomWallLine.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomWallLine.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/Entity/Wall/RoomWallLine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAS,QAAQ,EAA0C,OAAO,EAAQ,QAAQ,EAAuB,OAAO,EAAE,MAAM,OAAO,CAAC;AAI7J,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAGnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAoC,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAM9F,qBACa,YAAa,SAAQ,YAAY;IAG9B,OAAO,CAAC,WAAW;IAC3B,OAAO,CAAC,SAAS;gBADD,WAAW,UAAc,EACjC,SAAS,UAAc,EAC/B,UAAU,SAAM;IAOpB,iBAAiB;IAgBjB,IAAI,UAAU,IAAI,OAAO,CAGxB;IAED,IAAI,QAAQ,IAAI,OAAO,CAGtB;IAED,IAAI,UAAU,CAAC,CAAC,EAAE,OAAO,EASxB;IAED,IAAI,QAAQ,CAAC,CAAC,EAAE,OAAO,EAStB;IAED,OAAO,IAAI,IAAI;IAQf,IAAa,eAAe,IAAI,IAAI,CAKnC;IAED,IAAI,WAAW,IAAI,IAAI,CAGtB;IAED,IAAI,gBAAgB,IAAI,OAAO,CAkB9B;IAED,mBAAmB,CACf,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,GACnB,OAAO,EAAE;IA4CZ,aAAa,IAAI,OAAO,EAAE;IAa1B,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO;IA2B7C,gBAAgB,IAAI,OAAO,EAAE;IAI7B,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO;IAkBnD,kBAAkB;IAWlB,OAAO,CAAC,aAAa,CAAiB;IACtC,IAAI,YAAY,mBA8Ff;IAED,OAAO,CAAC,aAAa,CAAW;IAChC,IAAI,YAAY,aA4Qf;IAGD,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IA+BvE;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;cA8CnC,SAAS,CAAC,IAAI,EAAE,QAAQ;IASlC,SAAS,CAAC,IAAI,EAAE,QAAQ;CASpC"}

View File

@@ -0,0 +1,7 @@
export declare enum WallSnapMode {
None = 0,
Center = 1,
Out = 2,
All = 3
}
//# sourceMappingURL=WallSnapMode.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"WallSnapMode.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/Entity/Wall/WallSnapMode.ts"],"names":[],"mappings":"AACA,oBAAY,YAAY;IAEpB,IAAI,IAAI;IACR,MAAM,IAAI;IACV,GAAG,IAAI;IACP,GAAG,IAAI;CACV"}

View File

@@ -0,0 +1,35 @@
import { Box3, Vector3 } from "three";
import { Contour } from "../../Contour";
import { Arc } from "../../Entity/Arc";
import { Curve } from "../../Entity/Curve";
import { Line } from "../../Entity/Line";
export declare class CurveTrim {
_curve: Line | Arc;
_TrimParams: [number, number][];
_IsErase: boolean;
_Box: Box3;
constructor(_curve: Line | Arc);
TrimBy(contour: Contour, box: Box3): void;
PointInContour(p: Vector3, contour: Contour, contourBox: Box3): boolean;
TrimParam(sparam: number, eparam: number): void;
GetPointAtParam(param: number): Vector3;
get Curves(): Curve[];
}
export declare class CurveTrimLine extends CurveTrim {
private derv;
private _Sp;
private _Fd;
constructor(curve: Line, derv: Vector3, _Sp?: Vector3, _Fd?: Vector3);
GetPointAtParam(param: number): Vector3;
PointInContour(p: Vector3, contour: Contour, contourBox: Box3): boolean;
get Curves(): Line[];
}
export declare class CurveTrimArc extends CurveTrim {
_curve: Arc;
private _IsLeft;
constructor(_curve: Arc, _IsLeft?: boolean);
PointInContour(p: Vector3, contour: Contour, contourBox: Box3): boolean;
get Curves(): Arc[];
}
export declare function CreateCurveTrim(cu: Line | Arc): CurveTrimLine | CurveTrimArc;
//# sourceMappingURL=CurveTrim.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"CurveTrim.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Room/ParseService/CurveTrim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAKtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAKzC,qBAAa,SAAS;IAKC,MAAM,EAAE,IAAI,GAAG,GAAG;IAHrC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAM;IACrC,QAAQ,UAAS;IACV,IAAI,EAAE,IAAI,CAAC;gBACC,MAAM,EAAE,IAAI,GAAG,GAAG;IAKrC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI;IA2ClC,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI;IAK7D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAcxC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKvC,IAAI,MAAM,IAAI,KAAK,EAAE,CAGpB;CACJ;AAED,qBAAa,aAAc,SAAQ,SAAS;IAGpC,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,GAAG;gBAHH,KAAK,EAAE,IAAI,EACX,IAAI,EAAE,OAAO,EACb,GAAG,UAAmB,EACtB,GAAG,UAAwB;IAK9B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKvC,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI;IA2BtE,IAAa,MAAM,IAAI,IAAI,EAAE,CAsB5B;CACJ;AAED,qBAAa,YAAa,SAAQ,SAAS;IAG5B,MAAM,EAAE,GAAG;IAClB,OAAO,CAAC,OAAO;gBADR,MAAM,EAAE,GAAG,EACV,OAAO,UAAQ;IAKlB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI;IAiCtE,IAAa,MAAM,IAAI,GAAG,EAAE,CAsB3B;CACJ;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,IAAI,GAAG,GAAG,gCAI7C"}

View File

@@ -0,0 +1,35 @@
import { Vector3 } from "three";
import { Matrix2 } from "../../../Geometry/Matrix2";
import { Arc } from "../../Entity/Arc";
import { Line } from "../../Entity/Line";
import { RoomWallBase } from "../Entity/Wall/RoomWallBase";
export declare const LEFT_ROTATE_MTX2: Matrix2;
export interface GetCurveParam {
GetParamAtPoint(p: Vector3): number;
GetParamAtPoint2(p: Vector3): [number, boolean];
GetPointAtParam(param: number): Vector3;
}
export declare function CreateGetCurveParam(curve: Line | Arc | RoomWallBase): GetLineParam | GetArcParam;
export declare class GetLineParam {
Direction: Vector3;
Length: number;
LeftDir: Vector3;
private _StartPoint;
constructor(line: Line);
private _RightDir;
get RightDir(): Vector3;
private _NegDirection;
get NegDirection(): Vector3;
GetParamAtPoint(p: Vector3): number;
GetParamAtPoint2(p: Vector3): [number, boolean];
GetPointAtParam(param: number): Vector3;
OffsetPoint(p: Vector3, dis: number): Vector3;
}
export declare class GetArcParam implements GetCurveParam {
private _Arc;
constructor(_Arc: Arc);
GetParamAtPoint2(p: Vector3): [number, boolean];
GetPointAtParam(param: number): Vector3;
GetParamAtPoint(p: Vector3): number;
}
//# sourceMappingURL=GetCurveParam.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"GetCurveParam.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Room/ParseService/GetCurveParam.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D,eAAO,MAAM,gBAAgB,SAAiC,CAAC;AAI/D,MAAM,WAAW,aAAa;IAQ1B,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACpC,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAE3C;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,IAAI,GAAG,GAAG,GAAG,YAAY,8BAInE;AAED,qBAAa,YAAY;IAErB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IAEjB,OAAO,CAAC,WAAW,CAAU;gBACjB,IAAI,EAAE,IAAI;IAYtB,OAAO,CAAC,SAAS,CAAU;IAC3B,IAAI,QAAQ,YAKX;IAED,OAAO,CAAC,aAAa,CAAU;IAC/B,IAAI,YAAY,YAIf;IAED,eAAe,CAAC,CAAC,EAAE,OAAO;IAQ1B,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAO/C,eAAe,CAAC,KAAK,EAAE,MAAM;IAK7B,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM;CAItC;AAED,qBAAa,WAAY,YAAW,aAAa;IAEjC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,GAAG;IAK7B,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAM/C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKvC,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;CAItC"}

View File

@@ -0,0 +1,52 @@
import { Vector3 } from "three";
import { RoomHolePolyline } from "../../Entity/Wall/Hole/RoomHolePolyline";
/**
* 用于解析和修改2点洞位置的类
*/
export declare class RoomIHoleParseAndModify {
hole: RoomHolePolyline;
private _LeftDist;
private _RightDist;
private _TopDist;
private _BottomDist;
private _GetParam;
private _Wall;
private _Length;
private _WallLength;
private _RangeStart;
private _RangeLength;
private _IsReverse;
constructor(hole: RoomHolePolyline);
get LeftDist(): number;
get RightDist(): number;
get TopDist(): number;
get BottomDist(): number;
set LeftDist(value: number);
set RightDist(value: number);
set BottomDist(value: number);
set TopDist(value: number);
set Length(newLength: number);
set Height(newHeight: number);
get MaxLeftDist(): number;
}
export declare class RoomLHoleParseAndModify {
hole: RoomHolePolyline;
private _LeftDist;
private _RightDist;
private _TopDist;
private _BottomDist;
private _Wall;
MaxLeftDist: number;
MaxRightDist: number;
leftDir: Vector3;
rightDir: Vector3;
constructor(hole: RoomHolePolyline);
get LeftDist(): number;
set LeftDist(value: number);
get RightDist(): number;
set RightDist(value: number);
set BottomDist(value: number);
set TopDist(value: number);
set Height(newHeight: number);
}
//# sourceMappingURL=RoomIHoleParseAndModify.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomIHoleParseAndModify.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/ParseService/Hole/RoomIHoleParseAndModify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAM3E;;GAEG;AACH,qBAAa,uBAAuB;IAab,IAAI,EAAE,gBAAgB;IAXzC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAU;gBACT,IAAI,EAAE,gBAAgB;IAuCzC,IAAI,QAAQ,IAKQ,MAAM,CALe;IACzC,IAAI,SAAS,IAqCQ,MAAM,CArCgB;IAC3C,IAAI,OAAO,IA6EQ,MAAM,CA7Ec;IACvC,IAAI,UAAU,IAqEQ,MAAM,CArEiB;IAE7C,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EA+BzB;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAgC1B;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAK3B;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAKxB;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,EA+B3B;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,EAY3B;IAED,IAAI,WAAW,WAGd;CAIJ;AAED,qBAAa,uBAAuB;IAcb,IAAI,EAAE,gBAAgB;IAZzC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,KAAK,CAAe;IAE5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IAErB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;gBACC,IAAI,EAAE,gBAAgB;IAoCzC,IAAI,QAAQ,IACQ,MAAM,CADe;IACzC,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAMzB;IAED,IAAI,SAAS,IACQ,MAAM,CADgB;IAC3C,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAM1B;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAK3B;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAKxB;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,EAY3B;CACJ"}

View File

@@ -0,0 +1,22 @@
import Flatbush from 'flatbush';
import { Vector3 } from 'three';
import { RoomWallBase } from "../../Entity/Wall/RoomWallBase";
import { GetCurveParam } from "../GetCurveParam";
export declare class RoomWallPlaceIHoleHelper {
_Walls: RoomWallBase[];
protected _ParamGets: GetCurveParam[];
protected _ParamRanges: ([number, number][])[];
protected _Fb: Flatbush;
constructor(_Walls: RoomWallBase[]);
FindBestPlace(p: Vector3): {
wall: RoomWallBase;
range: [number, number];
cpParam: number;
getParam: GetCurveParam;
};
private GenFb;
ParseWallCanPlaceHoleRange(): void;
}
export declare function FindBestRange(param: number, ranges: [number, number][]): [number, number];
export declare function ParseWallRange(wall: RoomWallBase, getParam?: import("../GetCurveParam").GetLineParam | import("../GetCurveParam").GetArcParam): [number, number][];
//# sourceMappingURL=RoomWallPlaceIHoleHelper.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomWallPlaceIHoleHelper.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/ParseService/Hole/RoomWallPlaceIHoleHelper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAW,OAAO,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAuB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtE,qBAAa,wBAAwB;IAMd,MAAM,EAAE,YAAY,EAAE;IAJzC,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,CAAM;IAC3C,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAM;IACpD,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC;gBAEL,MAAM,EAAE,YAAY,EAAE;IAMzC,aAAa,CAAC,CAAC,EAAE,OAAO;;;;;;IAwCxB,OAAO,CAAC,KAAK;IAab,0BAA0B;CAS7B;AAID,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA4BzF;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,mFAA4B,sBAyBtF"}

View File

@@ -0,0 +1,12 @@
import Flatbush from 'flatbush';
import { Vector3 } from 'three';
import { Vertice } from "../../../../Geometry/CurveMap";
export declare class RoomWallPlaceLHoleHelper {
_stands: Vertice[];
_fb: Flatbush;
_standGroupIndexMap: Map<Vertice, number>;
constructor();
FindBestPlace(p: Vector3): Vertice;
Init(): void;
}
//# sourceMappingURL=RoomWallPlaceLHoleHelper.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomWallPlaceLHoleHelper.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/ParseService/Hole/RoomWallPlaceLHoleHelper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAGxD,qBAAa,wBAAwB;IAEjC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,GAAG,EAAE,QAAQ,CAAC;IACd,mBAAmB,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;;IAM1C,aAAa,CAAC,CAAC,EAAE,OAAO;IAsBxB,IAAI;CA2BP"}

View File

@@ -0,0 +1,15 @@
import Flatbush from "flatbush";
import { Vector3 } from "three";
import { Route } from "../../../../Geometry/CurveMap";
import { Curve } from "../../../Entity/Curve";
export declare class RoomWallPlaceUHoleHelper {
constructor();
_CurveIndexMap: Map<Curve, number>;
_CurveSet: Set<Curve>;
_Routes: Route[];
_fb: Flatbush;
Init(): void;
FindPlace(p: Vector3): Route;
GetWall(r: Route): import("../../Entity/Wall/RoomWallBase").RoomWallBase;
}
//# sourceMappingURL=RoomWallPlaceUHoleHelper.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomWallPlaceUHoleHelper.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/ParseService/Hole/RoomWallPlaceUHoleHelper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG9C,qBAAa,wBAAwB;;IAOjC,cAAc,qBAA4B;IAC1C,SAAS,aAAoB;IAC7B,OAAO,EAAE,KAAK,EAAE,CAAM;IACtB,GAAG,EAAE,QAAQ,CAAC;IAEd,IAAI;IA8CJ,SAAS,CAAC,CAAC,EAAE,OAAO;IAqBpB,OAAO,CAAC,CAAC,EAAE,KAAK;CAMnB"}

View File

@@ -0,0 +1,12 @@
import { RoomHolePolyline } from "../../Entity/Wall/Hole/RoomHolePolyline";
import { RoomWallBase } from "../../Entity/Wall/RoomWallBase";
/**
* [弃用]我们已经保持了墙和洞的关联关系
* 分析墙和洞的关联关系
* 这个算法依赖于RoomWallParse的缓存结果,所以需要RoomWallParse计算过并且缓存才有用
*/
export declare class RoomWallRelevancyHoleParse {
constructor();
Parse(holes: RoomHolePolyline[], walls: RoomWallBase[]): void;
}
//# sourceMappingURL=RoomWallRelevancyHoleParse.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomWallRelevancyHoleParse.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/ParseService/Hole/RoomWallRelevancyHoleParse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAM9D;;;;GAIG;AACH,qBAAa,0BAA0B;;IAInC,KAAK,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;CAiHzD"}

View File

@@ -0,0 +1,6 @@
import { Vector3 } from "three";
import { Point } from "../../../Nest/Common/Point";
import { Path } from "../../../Nest/Core/Path";
export declare const TEXT_BOX: Path;
export declare function ParseRegionTextPos(contour: Point[], holes: (Point[])[]): Vector3;
//# sourceMappingURL=ParseRegionTextPos.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"ParseRegionTextPos.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Room/ParseService/ParseRegionTextPos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAInD,OAAO,EAAE,IAAI,EAAiC,MAAM,yBAAyB,CAAC;AAM9E,eAAO,MAAM,QAAQ,MAAiC,CAAC;AAGvD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,WAuGtE"}

View File

@@ -0,0 +1,11 @@
declare type Range = [number, number];
export declare function InsertRangeIndex(ranges: Range[], sparam: number): number;
export declare function InsertSortedIndex<T, E>(array: T[], element: E, comparefunc: (a: E, b: T) => number): number;
/**
* 插入范围,并且合并范围
*/
export declare function InsertRangeAndUnion(ranges: Range[], sparam: number, eparam: number, insertIndex?: number): Range[];
export declare function RangeUnion(ranges: Range[]): Range[];
export declare function Intersection(range1: Range, range2: Range): Range | undefined;
export {};
//# sourceMappingURL=RangeUtils.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RangeUtils.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Room/ParseService/RangeUtils.ts"],"names":[],"mappings":"AAEA,aAAK,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAK9B,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,UAG/D;AAGD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,UAelG;AAGD;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,KAAK,EAAE,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,WAAW,SAAmC,WA8DjD;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,WAiBzC;AAGD,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAM5E"}

View File

@@ -0,0 +1,12 @@
import Flatbush from 'flatbush';
import { Vector3 } from 'three';
import { Polyline } from '../../Entity/Polyline';
import { RoomRegion } from "../Entity/Region/RoomRegion";
export declare class RegionReplacement {
private oldRegions;
fb: Flatbush;
contours: [Polyline, Polyline[]][];
constructor(oldRegions: RoomRegion[]);
GetReplaceOldReg(p: Vector3): RoomRegion;
}
//# sourceMappingURL=RegionReplacement.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RegionReplacement.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Room/ParseService/RegionReplacement.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD,qBAAa,iBAAiB;IAId,OAAO,CAAC,UAAU;IAF9B,EAAE,EAAE,QAAQ,CAAC;IACb,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAM;gBACpB,UAAU,EAAE,UAAU,EAAE;IAiB5C,gBAAgB,CAAC,CAAC,EAAE,OAAO;CAc9B"}

View File

@@ -0,0 +1,11 @@
import { ApplicationService } from "../../../ApplicationServices/Application";
/**
* 墙体分析服务
* 1.墙体删除重复
* 2.墙体更新显示(TODO:增量)
*/
export declare class RoomParseReactor {
private app;
constructor(app: ApplicationService);
}
//# sourceMappingURL=RoomParseReactor.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomParseReactor.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Room/ParseService/RoomParseReactor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAmD9E;;;;GAIG;AACH,qBAAa,gBAAgB;IAEb,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,kBAAkB;CA+D9C"}

View File

@@ -0,0 +1,22 @@
import Flatbush from 'flatbush';
import { Box3 } from "three";
import { Jig } from "../../../Editor/Jig";
import { Contour } from "../../Contour";
import { Curve } from "../../Entity/Curve";
import { RoomWallBase } from "../Entity/Wall/RoomWallBase";
/**
* 户型分析服务:
* 1.自动延伸墙
* 2.合理的构建墙
* 3.自动分析地板
*/
export declare class RoomParseService {
jig: Jig;
constructor();
Do(walls: RoomWallBase[]): void;
fb: Flatbush;
boxs: Box3[];
GenFB(trimContours: Contour[]): void;
TrimDraw(cu: Curve, trimContours: Contour[]): void;
}
//# sourceMappingURL=RoomParseService.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomParseService.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Room/ParseService/RoomParseService.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,IAAI,EAAW,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAM1C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAO3D;;;;;GAKG;AACH,qBAAa,gBAAgB;IAEzB,GAAG,MAAW;;IAMd,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE;IA0YxB,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE;IAiB7B,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE;CAqB9C"}

View File

@@ -0,0 +1,12 @@
import { Database } from "../../Database";
import { RoomWallBase } from "../Entity/Wall/RoomWallBase";
export declare class RoomParse {
private _ExtendsWalls;
private _UpdateDb;
private _IsCacheWallNodePoints;
walls: RoomWallBase[];
constructor(_ExtendsWalls: boolean, _UpdateDb: Database, _IsCacheWallNodePoints: boolean);
Parse(): this;
}
export declare function GetAllWalls(): RoomWallBase[];
//# sourceMappingURL=RoomParseUtil.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomParseUtil.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Room/ParseService/RoomParseUtil.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D,qBAAa,SAAS;IAGN,OAAO,CAAC,aAAa;IAAW,OAAO,CAAC,SAAS;IAAY,OAAO,CAAC,sBAAsB;IADvG,KAAK,EAAE,YAAY,EAAE,CAAC;gBACF,aAAa,EAAE,OAAO,EAAU,SAAS,EAAE,QAAQ,EAAU,sBAAsB,EAAE,OAAO;IAKhH,KAAK;CAKR;AAGD,wBAAgB,WAAW,mBAS1B"}

View File

@@ -0,0 +1,20 @@
import { Database } from "../../Database";
import { RoomRegion } from "../Entity/Region/RoomRegion";
import { RoomWallBase } from "../Entity/Wall/RoomWallBase";
import { RegionReplacement } from "./RegionReplacement";
/**
* 区域分析(房间+外墙+全屋顶)
*/
export declare class RoomRegionParse {
private _UpdateDb;
rr: RegionReplacement;
reped: Set<RoomRegion>;
oldregs: RoomRegion[];
/**
* @param _UpdateDb 当提供db时,我们更新了区域的信息
*/
constructor(_UpdateDb: Database);
Do(walls: RoomWallBase[]): void;
End(): void;
}
//# sourceMappingURL=RoomRegionParse.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomRegionParse.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Room/ParseService/RoomRegionParse.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM1C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAuB,YAAY,EAAgB,MAAM,6BAA6B,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAcxD;;GAEG;AACH,qBAAa,eAAe;IASZ,OAAO,CAAC,SAAS;IAP7B,EAAE,EAAE,iBAAiB,CAAC;IACtB,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;IAEtB;;OAEG;gBACiB,SAAS,EAAE,QAAQ;IAUvC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE;IA8KxB,GAAG;CAaN"}

View File

@@ -0,0 +1,16 @@
import { Curve } from "../../Entity/Curve";
/**
* 1.自动合理的延伸墙体,以便保证吸附失败的时候自动吸附(当被MOVE时,我们希望修复吸附失败的问题!)
* 可延伸的距离等于墙体的厚度
*
* 2.在交点处把墙体打断,以便我们分析区域
*/
export declare class RoomWallExtendAndBreak {
_Curve2SplitCurveMap: Map<Curve, Curve[]>;
_SplitCurve2OrgCurveMap: Map<Curve, Curve>;
ExtendCurves: Set<Curve>;
AloneCurves: Curve[];
OrgCurveMapGroup: (Curve[])[];
constructor(curves: Curve[]);
}
//# sourceMappingURL=RoomWallExtendAndBreak.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomWallExtendAndBreak.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Room/ParseService/RoomWallExtendAndBreak.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C;;;;;GAKG;AACH,qBAAa,sBAAsB;IAI/B,oBAAoB,sBAA6B;IAEjD,uBAAuB,oBAA2B;IAElD,YAAY,aAAoB;IAChC,WAAW,EAAE,KAAK,EAAE,CAAM;IAE1B,gBAAgB,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAM;gBAEvB,MAAM,EAAE,KAAK,EAAE;CAqI9B"}

View File

@@ -0,0 +1,49 @@
import Flatbush from 'flatbush';
import { Box3, Vector3 } from "three";
import { CurveMap } from "../../../Geometry/CurveMap";
import { Contour } from "../../Contour";
import { Database } from '../../Database';
import { Curve } from "../../Entity/Curve";
import { RoomWallBase } from "../Entity/Wall/RoomWallBase";
import { RoomWallExtendAndBreak } from "./RoomWallExtendAndBreak";
/**
* 户型分析服务:
* 1.自动延伸墙
* 2.合理的构建墙
* 3.自动分析地板
*
* 墙体被分裂后合并(join line)
*
* TODO:
* 删除重复的墙(例如 2个rec wall)
* 增量更新 diff walls(始作俑者 1) -> dep walls(需要更新 2) ->dep's dep walls(需要被依赖 3) +[可能被影响到的wall 2(比如被切割的墙) (依赖墙 3)]
* ->1.用盒子搜索范围依赖(盒子1级依赖)
* ->2.用盒子扩大搜索范围依赖(盒子2级依赖)
* ->正确的分析1级依赖 2级依赖 (或者不要分析? 直接用盒子来?)
* ->分析
* ->更新1级 2级 的墙
*/
export declare class RoomWallParse {
private _ExtendsWalls;
private _UpdateDb;
private _IsCacheWallNodePoints;
static _CacheWallNodePoints: Vector3[];
static _CacheWallMaps: [RoomWallExtendAndBreak, CurveMap][];
static _CacheCurveWallMaps: Map<Curve, RoomWallBase>;
/**
* @param [_ExtendsWalls=true] 更新墙体,在开图时不更新图纸
* @param [_UpdateDb] 更新的图纸(新绘制Region)
* @param [_IsCacheWallNodePoints] 需要把节点缓存下来?
*/
constructor(_ExtendsWalls: boolean, _UpdateDb: Database, _IsCacheWallNodePoints: boolean);
/**
* @param walls 需要解析的墙体列表
* @param changeWalls 更新的墙体列表(如果提供 增量模式)
*/
Parse(walls: RoomWallBase[], changeWalls?: RoomWallBase[]): void;
private PraseWallsFromSameFloor;
fb: Flatbush;
boxs: Box3[];
GenFB(trimContours: Contour[]): void;
}
//# sourceMappingURL=RoomWallParse.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomWallParse.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Room/ParseService/RoomWallParse.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAW,MAAM,4BAA4B,CAAC;AAK/D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAI3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAOlE;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,aAAa;IAYV,OAAO,CAAC,aAAa;IAAW,OAAO,CAAC,SAAS;IAAY,OAAO,CAAC,sBAAsB;IATvG,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAM;IAC5C,MAAM,CAAC,cAAc,EAAE,CAAC,sBAAsB,EAAE,QAAQ,CAAC,EAAE,CAAM;IACjE,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAa;IAEjE;;;;OAIG;gBACiB,aAAa,EAAE,OAAO,EAAU,SAAS,EAAE,QAAQ,EAAU,sBAAsB,EAAE,OAAO;IAKhH;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,WAAW,GAAE,YAAY,EAAc;IAwCpE,OAAO,CAAC,uBAAuB;IAopB/B,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE;CAiBhC"}

View File

@@ -0,0 +1,14 @@
import { RoomWallBase } from "../Entity/Wall/RoomWallBase";
/**
* 删除重复的墙体
*/
export declare class RoomWallRemoveDuplicate {
SplitWalls: RoomWallBase[];
/**
* @param diffWalls 可能已经在图纸内部 也可能是新画的
* @param [walls=GetAllWalls()] 都在图纸内
*/
constructor(diffWalls: RoomWallBase[], walls?: RoomWallBase[]);
private GenFlatbush;
}
//# sourceMappingURL=RoomWallRemoveDuplicate.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RoomWallRemoveDuplicate.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Room/ParseService/RoomWallRemoveDuplicate.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAQ3D;;GAEG;AACH,qBAAa,uBAAuB;IAEhC,UAAU,EAAE,YAAY,EAAE,CAAM;IAEhC;;;OAGG;gBACS,SAAS,EAAE,YAAY,EAAE,EAAE,KAAK,GAAE,YAAY,EAAkB;IA2H5E,OAAO,CAAC,WAAW;CAYtB"}

View File

@@ -0,0 +1,3 @@
import { Jig } from "../../../Editor/Jig";
export declare const jig: Jig;
//# sourceMappingURL=jig.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"jig.d.ts","sourceRoot":"","sources":["../../../../../src/DatabaseServices/Room/ParseService/jig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE1C,eAAO,MAAM,GAAG,KAAY,CAAC"}

View File

@@ -0,0 +1,7 @@
declare type Range = [number, number];
export declare function insertRangeIndex(ranges: Range[], sparam: number): number;
export declare function insertSortedIndex<T, E>(array: T[], element: E, comparefunc: (a: E, b: T) => number): number;
export declare function insertRangeAndUnion(ranges: Range[], sparam: number, eparam: number, insertIndex?: number): Range[];
export declare function RangeUnion(ranges: Range[]): Range[];
export {};
//# sourceMappingURL=RangeUtils.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RangeUtils.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/Room/RangeUtils.ts"],"names":[],"mappings":"AAEA,aAAK,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAI9B,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,UAG/D;AAGD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,UAelG;AAED,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,KAAK,EAAE,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,WAAW,SAAmC,WA8DjD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,WAiBzC"}