This commit is contained in:
ChenX
2024-03-26 11:10:20 +08:00
parent 070821c353
commit 66f35d6c12
2436 changed files with 31792 additions and 3945 deletions

View File

@@ -0,0 +1,72 @@
import { BufferGeometry, Intersection, Material, Object3D, Vector3 } from "three";
import { LineGeometry } from "three/examples/jsm/lines/LineGeometry";
import { SweepGeometry } from "../../../../Geometry/SweepGeometry";
import { RenderType } from "../../../../GraphicsSystem/RenderType";
import { CADFiler } from "../../../CADFiler";
import { Curve } from "../../../Entity/Curve";
import { Polyline } from "../../../Entity/Polyline";
import { ObjectId } from "../../../ObjectId";
import { PhysicalMaterialRecord } from "../../../PhysicalMaterialRecord";
import { TemplateRecord } from "../../../Template/TemplateRecord";
import { RoomFlatBase } from "../Flat/RoomFlatBase";
import { RoomBase } from "../RoomBase";
export declare enum BulkheadCeiling_ContourType {
Hole = 0,
Land = 1,
Sweep = 2
}
export interface BulkheadCeiling_ContourData {
ContourType: BulkheadCeiling_ContourType;
Path: Curve;
SweepShapeTempalteId: ObjectId<TemplateRecord>;
Materials: ObjectId<PhysicalMaterialRecord>[];
Contour: Polyline;
ContourId: number;
ShapeMaterialSlotData: number[];
OverWriteMaterial?: Map<number, ObjectId<PhysicalMaterialRecord>>;
}
/**
* 吊顶(灯带)
*/
export declare class BulkheadCeiling extends RoomBase {
constructor();
private _ContourData;
private _GemoIdMap;
get ContourData(): BulkheadCeiling_ContourData[];
set ContourData(value: BulkheadCeiling_ContourData[]);
private _Height;
get Height(): number;
set Height(value: number);
RelativeRoomFlatTop: ObjectId<RoomFlatBase>;
get MeshMaterial(): Material;
private _EdgeGeometrys;
get EdgeGeometrys(): BufferGeometry[];
private _LineGeometry;
get LineGeometry(): LineGeometry[];
private _FaceGeometry;
get FaceGeometry(): BufferGeometry;
private _MeshGeometry;
get MeshGeometry(): SweepGeometry[];
get MeshGeometry2(): BufferGeometry;
get Materials2(): Material[];
GetLineGeometry(pts: number[]): void;
InitDrawObject(renderType?: RenderType): Object3D;
/**
* 重载:更新绘制的实体
* @param {RenderType} renderType
* @param {Object3D} obj
*/
UpdateDrawObject(renderType: RenderType, obj: Object3D): Object3D;
SetMaterial(mtl: ObjectId<PhysicalMaterialRecord>, intersection: Intersection): void;
GetMaterials(index: number): Material[];
UpdateDrawObjectMaterial(renderType: RenderType, obj: Object3D, material?: Material): void;
UpdateDrawGeometry(): void;
ClearDraw(): this;
GetGripPoints(): Array<Vector3>;
GetStretchPoints(): Vector3[];
MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
MoveGripPoints(indexList: number[], moveVec: Vector3): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=BulkheadCeiling.d.ts.map

View File

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

View File

@@ -0,0 +1,12 @@
import { CADFiler } from "../../../CADFiler";
import { ISerialize } from "../../../ISerialize";
/**
* 吊顶轮廓拓展数据(材质槽信息) (保存到服务端)
*/
export declare class BulkheadCeilingShapeTemplateExtendData implements ISerialize {
Color_MaterialId: Map<number, number>;
constructor();
ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=BulkheadCeilingShapeExtendData.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"BulkheadCeilingShapeExtendData.d.ts","sourceRoot":"","sources":["../../../../../../src/DatabaseServices/Room/Entity/Ceiling/BulkheadCeilingShapeExtendData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;GAEG;AACH,qBAAa,sCAAuC,YAAW,UAAU;IAGrE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;;IAIlD,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAa9B,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;CAUlC"}

View File

@@ -0,0 +1,69 @@
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;
ClearDraw(): this;
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":"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"}

View File

@@ -0,0 +1,12 @@
import { MeshStandardMaterial } from "three";
import { CADFiler } from "../../../CADFiler";
import { RoomFlatBase } from "./RoomFlatBase";
/**
* 地板
*/
export declare class RoomFlatFloor extends RoomFlatBase {
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
protected get MeshMaterial(): import("three").MeshBasicMaterial | MeshStandardMaterial;
}
//# 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":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,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;IAMjC,SAAS,KAAK,YAAY,6DAKzB;CACJ"}

View File

@@ -0,0 +1,12 @@
import { Geometry, MeshStandardMaterial } from "three";
import { RoomFlatBase } from "./RoomFlatBase";
/**
* 天花板
*/
export declare class RoomFlatTop extends RoomFlatBase {
protected get MeshGeometry(): Geometry;
protected get CaseShadow(): boolean;
protected get ReceiveShadow(): boolean;
protected get MeshMaterial(): import("three").MeshBasicMaterial | MeshStandardMaterial;
}
//# 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,EAAE,oBAAoB,EAAuB,MAAM,OAAO,CAAC;AAMnF,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;IAED,SAAS,KAAK,YAAY,6DAKzB;CACJ"}

View File

@@ -0,0 +1,42 @@
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 const ROOM_REGION_CURVES_KEY = "__ROOM_REGION_CURVES_KEY__";
/**
* 户型区域:厨房,客厅,主卧,卫生间
* 绑定了天花板和地板对象
*/
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,EAAwB,QAAQ,EAAW,OAAO,EAAE,MAAM,OAAO,CAAC;AAKzE,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,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AAEnE;;;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;IAOvE;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IA6BtD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAalC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAU3B"}

View File

@@ -0,0 +1,9 @@
import { Entity } from "../../Entity/Entity";
/**
* 户型元件的基类
* 墙 平面(地板 天花)
*/
export declare abstract class RoomBase extends Entity {
get IsVisible(): boolean;
}
//# 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":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C;;;GAGG;AACH,8BACsB,QAAS,SAAQ,MAAM;IAEzC,IAAa,SAAS,YAGrB;CACJ"}

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,77 @@
import { Geometry, Material, Matrix3, Mesh, Object3D, Vector3 } from "three";
import { Line2 } from "three/examples/jsm/lines/Line2";
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 { ObjectId } from "../../../../ObjectId";
import { PhysicalMaterialRecord } from "../../../../PhysicalMaterialRecord";
import { RoomWallBase } from "../RoomWallBase";
import { RoomHoleBase } from "./RoomHoleBase";
/**
* 折线洞 例如 转角窗 或者U型窗
*/
export declare class RoomHolePolyline extends RoomHoleBase {
private _Points;
private _FakerWalls;
private _WpDists;
private _WpLeftWall;
private _WpRightWall;
get FakerWalls(): RoomWallBase[];
set FakerWalls(_FakerWalls: RoomWallBase[]);
set WpDist(wpdists: number[]);
get WpDist(): number[];
get WpLeftWall(): boolean;
get WpRightWall(): boolean;
set WpLeftWall(v: boolean);
set WpRightWall(v: boolean);
UpdateWpDraw(): void;
/**
* 根据外飘参数得到区域
*
* @param wpdists 外飘距离
* @cts 窗台石距离
*/
GetWpRegion(wpdists: number[], cts?: number, ctszytc?: number): Polyline;
get BoundingBoxInOCS(): Box3Ext;
get PointsCount(): number;
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;
get FakerPoints(): Vector3[];
UpdatePoints(checkChange?: boolean): void;
LidCurves: Curve[];
Regions: Polyline[];
UpdateDrawGeometry(): void;
ClearDraw(): this;
private _EdgeGeometry;
get EdgeGeometry(): Geometry;
private _MeshGeometry;
get MeshGeometry(): Geometry;
set Material(materialId: ObjectId);
get Material(): ObjectId;
private _OverWriteMaterial;
SetMaterialAtSlot(mtl: ObjectId<PhysicalMaterialRecord>, slotIndex: number): void;
protected get MeshMaterial(): Material[];
get MaterialsIds(): number[];
GetPrintObject3D(): (Line2 | Mesh<Geometry, import("three").ShaderMaterial>)[];
InitDrawObject(renderType?: RenderType): Object3D;
/**
* 重载:更新绘制的实体
* @param {RenderType} renderType
* @param {Object3D} obj
*/
UpdateDrawObject(renderType: RenderType, obj: Object3D): Object3D;
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":"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"}

View File

@@ -0,0 +1,26 @@
import React from "react";
import { DrawHoleType, IHoleType } from "../../../../../../Add-on/Room/DrawHole";
import { ModalState } from "../../../../../../UI/Components/Modal/ModalInterface";
import { Location } from "../../../../../../UI/Components/ToolBar/ModifyModel/RoomBaseParams";
import { DoorWindowPanelStore } from "./WindowPanelStore";
export declare const TEMPLATE_SELECT_ID = "template-select";
export declare enum Visibility {
Visible = "visible",
Hidden = "hidden"
}
export declare class DrawDoorWindowPanel extends React.Component<{
store: DoorWindowPanelStore;
drawHoleType: DrawHoleType;
holeIType: IHoleType;
}> {
_CameraStateContainer: HTMLElement;
_StartLocation: import("mobx").IObservableValue<Location>;
_Event: Function;
constructor(props: any);
componentDidMount(): void;
componentWillUnmount(): void;
_StartSelectTemplate(style: Visibility): void;
_Return(status: ModalState): void;
render(): JSX.Element;
}
//# sourceMappingURL=DrawWindowPanel.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"DrawWindowPanel.d.ts","sourceRoot":"","sources":["../../../../../../../../src/DatabaseServices/Room/Entity/Wall/Hole/Window/DrawWindowPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAGjF,OAAO,EAAE,UAAU,EAAE,MAAM,sDAAsD,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,oEAAoE,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAyB,MAAM,oBAAoB,CAAC;AAKjF,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AAEpD,oBAAY,UAAU;IAElB,OAAO,YAAY;IACnB,MAAM,WAAW;CACpB;AAED,qBACa,mBAAoB,SAAQ,KAAK,CAAC,SAAS,CAAC;IAAE,KAAK,EAAE,oBAAoB,CAAC;IAAC,YAAY,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC;CAAE,CAAC;IAExI,qBAAqB,EAAE,WAAW,CAAC;IACnC,cAAc,4CAAmC;IACjD,MAAM,EAAE,QAAQ,CAAC;gBAEL,KAAK,KAAA;IA4BjB,iBAAiB;IAsBjB,oBAAoB;IASpB,oBAAoB,CAAC,KAAK,EAAE,UAAU;IAKtC,OAAO,CAAC,MAAM,EAAE,UAAU;IAM1B,MAAM;CAmOT"}

View File

@@ -0,0 +1,40 @@
import { IConfigOption } from "../../../../../../UI/Components/Board/UserConfigComponent";
import { IConfigStore } from "../../../../../../UI/Store/BoardStore";
import { ISelectTempInfo } from "../../../../../../UI/Store/DoorInterface";
import { WindowPanelConfigOption as DoorWindowPanelConfigOption } from "../../../../../../UI/Store/OptionInterface/IOptionInterface";
import { TemplateWindowRecord } from "../../../../../Template/ProgramTempate/TemplateWindowRecord";
export declare enum DoorWindowParamsNames {
Length = "Length",
Height = "Height",
Thick = "Thick",
WindowOffGround = "WindowOffGround",
IsBayWindow = "IsBayWindow",
BayLeftIsWall = "BayLeftIsWall",
BayRightIsWall = "BayRightIsWall",
BayDist = "BayDist",
BayLeftDist = "BayLeftDist",
BayMiddleDist = "BayMiddleDist",
BayRightDist = "BayRightDist",
HasWindowStone = "HasWindowStone",
StoneThick = "StoneThick",
StoneBulge = "StoneBulge",
StoneLeftRightBulge = "StoneLeftRightBulge"
}
export declare class DoorWindowPanelStore implements IConfigStore {
configName: string;
m_Option: DoorWindowPanelConfigOption;
configsNames: string[];
selectTemplateInfo: ISelectTempInfo;
currentDoorWindowsInfo: ISelectTempInfo;
currentLeftBayWindowsInfo: ISelectTempInfo;
currentRightBayWindowsInfo: ISelectTempInfo;
SaveConfig(): IConfigOption<import("../../../../../../UI/Store/OptionInterface/IOptionInterface").AnyObject>;
InitOption(): void;
InitCurrentWindowOption(windowTemp: TemplateWindowRecord): void;
UpdateOption(cof: IConfigOption<DoorWindowPanelConfigOption>): void;
private static _SingleInstance;
static GetSingleInstance(): DoorWindowPanelStore;
}
export declare const doorPanelStore: DoorWindowPanelStore;
export declare const windowPanelStore: DoorWindowPanelStore;
//# sourceMappingURL=WindowPanelStore.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"WindowPanelStore.d.ts","sourceRoot":"","sources":["../../../../../../../../src/DatabaseServices/Room/Entity/Wall/Hole/Window/WindowPanelStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,uBAAuB,IAAI,2BAA2B,EAAE,MAAM,6DAA6D,CAAC;AACrI,OAAO,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAC;AAEnG,oBAAY,qBAAqB;IAE7B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,mBAAmB,wBAAwB;CAC9C;AAED,qBAAa,oBAAqB,YAAW,YAAY;IAEzC,UAAU,SAAQ;IAClB,QAAQ,EAAE,2BAA2B,CAAuC;IAC5E,YAAY,EAAE,MAAM,EAAE,CAAM;IAC5B,kBAAkB,EAAE,eAAe,CAA4C;IAC/E,sBAAsB,EAAE,eAAe,CAAC;IACxC,yBAAyB,EAAE,eAAe,CAAC;IAC3C,0BAA0B,EAAE,eAAe,CAAC;IAExD,UAAU;IAOV,UAAU;IASV,uBAAuB,CAAC,UAAU,EAAE,oBAAoB;IAOxD,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,2BAA2B,CAAC;IAK5D,OAAO,CAAC,MAAM,CAAC,eAAe,CAAuB;IACrD,MAAM,CAAC,iBAAiB,IAAI,oBAAoB;CAMnD;AACD,eAAO,MAAM,cAAc,sBAA6B,CAAC;AACzD,eAAO,MAAM,gBAAgB,sBAA6B,CAAC"}

View File

@@ -0,0 +1,18 @@
import { NumericInput } from "@blueprintjs/core";
import React from "react";
import { DoorWindowPanelStore } from "./WindowPanelStore";
interface SizeComponentProps {
store: DoorWindowPanelStore;
title: string;
sizeKey: string;
sliderMin: number;
sliderMax: number;
}
export declare class WindowParamsComponent extends React.Component<SizeComponentProps> {
_Value: number;
_IsPopoverOpen: boolean;
_SizeRef: React.RefObject<NumericInput>;
render(): JSX.Element;
}
export {};
//# sourceMappingURL=WindowParamsComponent.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"WindowParamsComponent.d.ts","sourceRoot":"","sources":["../../../../../../../../src/DatabaseServices/Room/Entity/Wall/Hole/Window/WindowParamsComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAA6B,MAAM,mBAAmB,CAAC;AAGpF,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,UAAU,kBAAkB;IAExB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB;AACD,qBACa,qBAAsB,SAAQ,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;IAE9D,MAAM,EAAE,MAAM,CAA2D;IACzE,cAAc,EAAE,OAAO,CAAS;IAC5C,QAAQ,gCAAmC;IAE3C,MAAM;CA6ET"}

View File

@@ -0,0 +1,32 @@
import { IObservableValue } from "mobx";
import React from "react";
import { TemplateRoomDoorRecord } from "../../../../../Template/ProgramTempate/TemplateRoomDoorRecord";
import { TemplateWindowRecord } from "../../../../../Template/ProgramTempate/TemplateWindowRecord";
import { DoorWindowPanelStore } from "./WindowPanelStore";
interface WindowTempInfoProps {
store: DoorWindowPanelStore;
doorWindowTemp?: TemplateWindowRecord | TemplateRoomDoorRecord;
logo?: string;
startLocation?: IObservableValue<string>;
location?: string;
showSizeInfo?: boolean;
interactive?: boolean;
selectDiv?: HTMLElement;
}
export declare class WindowTempInfo extends React.Component<WindowTempInfoProps> {
_Logo: string;
render(): JSX.Element;
private startSelectTemplate;
/**
* @private
* @return {*} {number[]} 单个object所处下标
* @memberof WindowTempInfo
*/
private getWindowLocation;
}
export declare class DrawWindowTempInfo extends React.Component<WindowTempInfoProps> {
render(): JSX.Element;
private startSelectTemplate;
}
export {};
//# sourceMappingURL=WindowTempInfo.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"WindowTempInfo.d.ts","sourceRoot":"","sources":["../../../../../../../../src/DatabaseServices/Room/Entity/Wall/Hole/Window/WindowTempInfo.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAc,MAAM,MAAM,CAAC;AAEpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,+DAA+D,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAC;AAKnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,UAAU,mBAAmB;IAEzB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,cAAc,CAAC,EAAE,oBAAoB,GAAG,sBAAsB,CAAC;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,qBACa,cAAe,SAAQ,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC;IAExD,KAAK,EAAE,MAAM,CAAmB;IAE5C,MAAM;IAyBN,OAAO,CAAC,mBAAmB,CAoCzB;IAGF;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CA4C5B;AAED,qBACa,kBAAmB,SAAQ,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC;IAExE,MAAM;IA4BN,OAAO,CAAC,mBAAmB,CAKzB;CACL"}

View File

@@ -0,0 +1,23 @@
import { IObservableValue } from "mobx";
import React from "react";
import { IDrawerDoorTempInfo } from "../../../../../../UI/Store/DoorInterface";
import { ITemplateParam } from "../../../../../../UI/Store/RightPanelStore/ITemplateParam";
import { DoorWindowPanelStore } from "./WindowPanelStore";
export interface IWindowTempSelectProps {
selectDiv?: HTMLElement;
store: DoorWindowPanelStore;
location?: IObservableValue<string>;
resourceClass: string;
}
export declare class WindowTempSelect extends React.Component<IWindowTempSelectProps, {}> {
_CurrentProps: ITemplateParam[];
_CurrentInfo: IDrawerDoorTempInfo;
_Container: HTMLElement;
_FilterNameMap: Map<string, string>;
constructor(props: any);
componentDidMount(): void;
render(): JSX.Element;
private handleClose;
private applySelectTemp;
}
//# sourceMappingURL=WindowTempSelect.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"WindowTempSelect.d.ts","sourceRoot":"","sources":["../../../../../../../../src/DatabaseServices/Room/Entity/Wall/Hole/Window/WindowTempSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAsB,MAAM,MAAM,CAAC;AAE5D,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,2DAA2D,CAAC;AAG3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,WAAW,sBAAsB;IAEnC,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,QAAQ,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,qBACa,gBAAiB,SAAQ,KAAK,CAAC,SAAS,CAAC,sBAAsB,EAAE,EAAE,CAAC;IACjE,aAAa,EAAE,cAAc,EAAE,CAAM;IACrC,YAAY,EAAE,mBAAmB,CAAwB;IACrE,UAAU,EAAE,WAAW,CAAC;IACxB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;gBACpC,KAAK,KAAA;IAiBjB,iBAAiB;IA4BV,MAAM;IA2Db,OAAO,CAAC,WAAW,CAcjB;IAEF,OAAO,CAAC,eAAe;CAiE1B"}

View File

@@ -0,0 +1,47 @@
import { BufferGeometry, Geometry, Matrix3, Mesh, Object3D, Vector3 } from "three";
import { Line2 } from "three/examples/jsm/lines/Line2";
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, _Height?: 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;
ClearDraw(): this;
private _EdgeGeometry;
private _MeshGeometry;
get EdgeGeometry(): BufferGeometry;
get MeshGeometry(): Geometry;
GetPrintObject3D(): (Line2 | Mesh<Geometry, import("three").ShaderMaterial>)[];
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;
}
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,EAAmF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAsC,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/M,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAKvD,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,EAAyC,YAAY,EAA6B,MAAM,gBAAgB,CAAC;AAGhH,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,EAChB,OAAO,SAAO;IAalB,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;IAiCZ,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;IAUlB,SAAS,IAAI,IAAI;IAMjB,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,aAAa,CAAW;IAChC,IAAI,YAAY,mBA0If;IACD,IAAI,YAAY,aAwbf;IAED,gBAAgB;IAYhB,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IAoCvE;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;cAyEnC,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,55 @@
import { MeshStandardMaterial, 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 const CURVE_DIR_TYPE_KEY = "__CURVE_DIR_TYPE_KEY__";
export declare const CURVE_WALL_TYPE_KEY = "__CURVE_WALL_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;
protected get MeshMaterial(): import("three").MeshBasicMaterial | MeshStandardMaterial;
CopyFrom(obj: CADObject): void;
protected _ReadFile(file: CADFiler): void;
WriteFile(file: CADFiler): void;
}
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,EAAQ,oBAAoB,EAAE,QAAQ,EAAiB,MAAM,OAAO,CAAC;AAI5E,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;AAE7C,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;AAC7D,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAE7D,oBAAY,YAAY;IAEpB,MAAM,IAAI,CAAC,IAAI;IACf,MAAM,IAAI,CAAC,IAAI;IACf,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;IAwB9D,SAAS,KAAK,YAAY,6DAKzB;IAKQ,QAAQ,CAAC,GAAG,EAAE,SAAS;IAkBhC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ;IAwBlC,SAAS,CAAC,IAAI,EAAE,QAAQ;CAa3B;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,44 @@
import { Box3, BufferGeometry, Geometry, Matrix3, Mesh, Object3D, Vector3 } from "three";
import { Line2 } from "three/examples/jsm/lines/Line2";
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, _Height?: 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;
GetPrintObject3D(): (Line2 | Mesh<Geometry, import("three").ShaderMaterial>)[];
InitDrawObject(renderType?: RenderType): Object3D;
/**
* 重载:更新绘制的实体
* @param {RenderType} renderType
* @param {Object3D} obj
*/
UpdateDrawObject(renderType: RenderType, obj: Object3D): void;
ClearDraw(): this;
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,EAAmF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAsC,OAAO,EAAE,MAAM,OAAO,CAAC;AACrN,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAMvD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAInD,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAuB,YAAY,EAA6B,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,EAChB,OAAO,SAAO;IAQlB,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;IA8CZ,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,aAkSf;IAED,gBAAgB;IAYhB,cAAc,CAAC,UAAU,GAAE,UAAiC,GAAG,QAAQ;IAmCvE;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ;IA+DtD,SAAS;cAaU,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, saveSyntropy?: boolean): void;
PointInContour(p: Vector3, contour: Contour, contourBox: Box3, saveSyntropy?: boolean): 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, saveSyntropy?: boolean): 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, saveSyntropy?: boolean): 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,EAAE,YAAY,UAAQ;IA2CxD,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,UAAQ;IAKnF,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,UAAyB;IAK/B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKvC,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,UAAQ;IA8B5F,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,EAAE,YAAY,UAAQ;IAiC5F,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,64 @@
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;
get Length(): 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;
get MaxRightDist(): number;
get MaxTopDist(): number;
get MaxBottomDist(): number;
get MaxLengthDist(): number;
get MaxHightDist(): number;
}
export declare class RoomLHoleParseAndModify {
hole: RoomHolePolyline;
private _LeftDist;
private _RightDist;
private _TopDist;
private _BottomDist;
private _Wall;
MaxLeftDist: number;
MaxRightDist: number;
MinLeftDist: number;
MinRightDist: number;
r1IsReverse: boolean;
r2IsReverse: boolean;
constructor(hole: RoomHolePolyline);
get LeftDist(): number;
set LeftDist(value: number);
get RightDist(): number;
set RightDist(value: number);
get BottomDist(): number;
set BottomDist(value: number);
get TopDist(): number;
set TopDist(value: number);
set Height(newHeight: number);
get MaxTopDist(): number;
get MaxBottomDist(): number;
get MaxHightDist(): 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":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAO3E;;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;IAwCzC,IAAI,QAAQ,IAMQ,MAAM,CANe;IACzC,IAAI,SAAS,IAwCQ,MAAM,CAxCgB;IAC3C,IAAI,OAAO,IAoFQ,MAAM,CApFc;IACvC,IAAI,UAAU,IA0EQ,MAAM,CA1EiB;IAC7C,IAAI,MAAM,IA2FY,MAAM,CA3FS;IAErC,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAiCzB;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAkC1B;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAO3B;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAOxB;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,EAgC3B;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,EAa3B;IAED,IAAI,WAAW,WAGd;IACD,IAAI,YAAY,WAGf;IACD,IAAI,UAAU,WAGb;IACD,IAAI,aAAa,WAGhB;IAED,IAAI,aAAa,WAGhB;IACD,IAAI,YAAY,WAGf;CACJ;AAED,qBAAa,uBAAuB;IAeb,IAAI,EAAE,gBAAgB;IAbzC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAe;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IAErB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;gBAEF,IAAI,EAAE,gBAAgB;IAuEzC,IAAI,QAAQ,IACQ,MAAM,CADe;IACzC,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAgBzB;IAED,IAAI,SAAS,IACQ,MAAM,CADgB;IAC3C,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAgB1B;IAED,IAAI,UAAU,IACQ,MAAM,CADiB;IAC7C,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAM3B;IAED,IAAI,OAAO,IACQ,MAAM,CADc;IACvC,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAMxB;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,EAY3B;IAED,IAAI,UAAU,WAGb;IAED,IAAI,aAAa,WAGhB;IAED,IAAI,YAAY,WAGf;CACJ"}

View File

@@ -0,0 +1,28 @@
import Flatbush from 'flatbush';
import { Vector3 } from 'three';
import { RoomWallBase, WallFaceType } from "../../Entity/Wall/RoomWallBase";
import { GetCurveParam } from "../GetCurveParam";
type Range = [number, number];
export interface WallRange extends Range {
left: WallFaceType;
right: WallFaceType;
}
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: WallRange;
cpParam: number;
getParam: GetCurveParam;
};
private GenFb;
ParseWallCanPlaceHoleRange(): void;
}
export declare function FindBestRange(param: number, ranges: [number, number][], fuzz?: number): [number, number];
export declare function ParseWallRange(wall: RoomWallBase, getParam?: import("../GetCurveParam").GetLineParam | import("../GetCurveParam").GetArcParam): WallRange[];
export {};
//# 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,EAAuB,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,EAAuB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtE,KAAK,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9B,MAAM,WAAW,SAAU,SAAQ,KAAK;IAEpC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;CACvB;AAED,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,EAAE,IAAI,SAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA4BtG;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,mFAA4B,eAuCtF"}

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,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 @@
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,KAAK,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,UAiBlG;AAED;;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;AAwD9E;;;;GAIG;AACH,qBAAa,gBAAgB;IAEb,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,kBAAkB;CA+D9C"}

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(noFilterArcWall?: boolean): 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;AAE1C,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,CAAC,eAAe,UAAO,kBAUjD"}

View File

@@ -0,0 +1,26 @@
import { Database } from "../../Database";
import { Polyline } from "../../Entity/Polyline";
import { RoomRegion } from "../Entity/Region/RoomRegion";
import { RoomWallBase } from "../Entity/Wall/RoomWallBase";
import { RegionReplacement } from "./RegionReplacement";
export declare enum WallCurveDirType {
left = 0,
right = 1,
lid = 2
}
/**
* 区域分析(房间+外墙+全屋顶)
*/
export declare class RoomRegionParse {
private _UpdateDb;
rr: RegionReplacement;
reped: Set<RoomRegion>;
oldregs: RoomRegion[];
/**
* @param _UpdateDb 当提供db时,我们更新了区域的信息
*/
constructor(_UpdateDb: Database);
Do(walls: RoomWallBase[]): Polyline[];
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;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAIjD,OAAO,EAA0B,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAgE,YAAY,EAAgB,MAAM,6BAA6B,CAAC;AAEvI,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAcxD,oBAAY,gBAAgB;IAExB,IAAI,IAAI;IACR,KAAK,IAAI;IACT,GAAG,IAAI;CACV;AAGD;;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;IAkOxB,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,51 @@
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 { Polyline } from "../../Entity/Polyline";
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>;
static _CacheRoofs: Polyline[];
/**
* @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;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAI3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAOlE;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,aAAa;IAaV,OAAO,CAAC,aAAa;IAAW,OAAO,CAAC,SAAS;IAAY,OAAO,CAAC,sBAAsB;IAVvG,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;IACjE,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAM;IAEpC;;;;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;IAuDpE,OAAO,CAAC,uBAAuB;IAqpB/B,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE;CAoBhC"}

View File

@@ -0,0 +1,15 @@
import { RoomWallBase } from "../Entity/Wall/RoomWallBase";
/**
* 删除重复的墙体
*/
export declare class RoomWallRemoveDuplicate {
SplitWalls: RoomWallBase[];
/**
* @param diffWalls 可能已经在图纸内部 也可能是新画的
* @param [walls=GetAllWalls()] 都在图纸内
*/
constructor(diffWalls: RoomWallBase[], walls: RoomWallBase[]);
private Do;
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;AAO3D;;GAEG;AACH,qBAAa,uBAAuB;IAEhC,UAAU,EAAE,YAAY,EAAE,CAAM;IAEhC;;;OAGG;gBACS,SAAS,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;IAgC5D,OAAO,CAAC,EAAE;IA0HV,OAAO,CAAC,WAAW;CAYtB"}