rm-build-dxf 0.1.186
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/package.json +50 -0
- package/src/App.vue.d.ts +2 -0
- package/src/DomEventRegister.js +1 -0
- package/src/api/getSocket.d.ts +1 -0
- package/src/api/index.d.ts +27 -0
- package/src/api/type.d.ts +46 -0
- package/src/build.js +1 -0
- package/src/components/DragContainer.vue.d.ts +48 -0
- package/src/components/NumberEditor.vue.d.ts +33 -0
- package/src/constants.d.ts +11 -0
- package/src/demo.d.ts +1 -0
- package/src/dxf-system/DxfSystem.d.ts +26 -0
- package/src/dxf-system/build.d.ts +94 -0
- package/src/dxf-system/components/CorrectionDxf.d.ts +44 -0
- package/src/dxf-system/components/Dxf.d.ts +96 -0
- package/src/dxf-system/components/ThreeVJia.d.ts +33 -0
- package/src/dxf-system/components/Variable.d.ts +41 -0
- package/src/dxf-system/index.d.ts +2 -0
- package/src/dxf-system/plugins/editor/Command/ClippingLine.d.ts +30 -0
- package/src/dxf-system/plugins/editor/Command/Command.d.ts +346 -0
- package/src/dxf-system/plugins/editor/Command/DefaultCommand.d.ts +56 -0
- package/src/dxf-system/plugins/editor/Command/DeleteSelectLine.d.ts +25 -0
- package/src/dxf-system/plugins/editor/Command/DrawBalconyRailing.d.ts +12 -0
- package/src/dxf-system/plugins/editor/Command/DrawBeam.d.ts +12 -0
- package/src/dxf-system/plugins/editor/Command/DrawDoorLine.d.ts +9 -0
- package/src/dxf-system/plugins/editor/Command/DrawHole.d.ts +67 -0
- package/src/dxf-system/plugins/editor/Command/DrawLine.d.ts +41 -0
- package/src/dxf-system/plugins/editor/Command/DrawPillar.d.ts +12 -0
- package/src/dxf-system/plugins/editor/Command/DrawWindow.d.ts +12 -0
- package/src/dxf-system/plugins/editor/Command/ManualDistance.d.ts +23 -0
- package/src/dxf-system/plugins/editor/Command/MergeLine.d.ts +33 -0
- package/src/dxf-system/plugins/editor/Command/PointDrag/index.d.ts +38 -0
- package/src/dxf-system/plugins/editor/Command/PointDrag/modifyDoor.d.ts +40 -0
- package/src/dxf-system/plugins/editor/Command/PointDrag/modifyLine.d.ts +34 -0
- package/src/dxf-system/plugins/editor/Command/PointDrag/modifyWindow.d.ts +25 -0
- package/src/dxf-system/plugins/editor/Command/PropertiesPanel.d.ts +33 -0
- package/src/dxf-system/plugins/editor/Command/RayDistance.d.ts +23 -0
- package/src/dxf-system/plugins/editor/Command/SelectAll.d.ts +30 -0
- package/src/dxf-system/plugins/editor/Command/TwoLineConnectionLine.d.ts +33 -0
- package/src/dxf-system/plugins/editor/Command/TwoPointConnection.d.ts +33 -0
- package/src/dxf-system/plugins/editor/Command/VerticalCorr.d.ts +66 -0
- package/src/dxf-system/plugins/editor/Command/VerticalCorrContinue.d.ts +35 -0
- package/src/dxf-system/plugins/editor/Command/ViewAngle.d.ts +21 -0
- package/src/dxf-system/plugins/editor/Editor.d.ts +56 -0
- package/src/dxf-system/plugins/editor/RenderManager.d.ts +101 -0
- package/src/dxf-system/plugins/editor/index.d.ts +9 -0
- package/src/dxf-system/plugins/editor/pages/EditorTool/EditorTool.vue.d.ts +7 -0
- package/src/dxf-system/plugins/editor/pages/EditorTool/EditorToolContent.vue.d.ts +7 -0
- package/src/dxf-system/plugins/editor/pages/PropertiesPanel.vue.d.ts +18 -0
- package/src/dxf-system/plugins/editor/pages/components/Button.vue.d.ts +17 -0
- package/src/dxf-system/plugins/editor/pages/components/Input.vue.d.ts +13 -0
- package/src/dxf-system/plugins/editor/pages/components/ToolToggle.vue.d.ts +20 -0
- package/src/dxf-system/plugins/editor/type.d.ts +11 -0
- package/src/dxf-system/plugins/editor/us-service/DragControlPoint.d.ts +48 -0
- package/src/dxf-system/plugins/editor/us-service/LineSelector.d.ts +44 -0
- package/src/dxf-system/plugins/editor/us-service/PointerFollowMove.d.ts +86 -0
- package/src/dxf-system/plugins/editor/us-service/SnapController.d.ts +32 -0
- package/src/dxf-system/plugins/editor/utils/Wall2D.d.ts +10 -0
- package/src/dxf-system/plugins/model3d/components/DxfLineModel.d.ts +14 -0
- package/src/dxf-system/plugins/model3d/components/WhiteModel.d.ts +61 -0
- package/src/dxf-system/plugins/model3d/components/index.d.ts +2 -0
- package/src/dxf-system/plugins/model3d/index.d.ts +11 -0
- package/src/dxf-system/plugins/renderer/components/DomContainer.d.ts +13 -0
- package/src/dxf-system/plugins/renderer/components/DomEventRegister.d.ts +116 -0
- package/src/dxf-system/plugins/renderer/components/EventInput.d.ts +74 -0
- package/src/dxf-system/plugins/renderer/components/ModelDataRender.d.ts +13 -0
- package/src/dxf-system/plugins/renderer/components/Renderer.d.ts +100 -0
- package/src/dxf-system/plugins/renderer/components/index.d.ts +5 -0
- package/src/dxf-system/plugins/renderer/index.d.ts +13 -0
- package/src/dxf-system/type.d.ts +218 -0
- package/src/dxf-system/utils/BayWindowHelper.d.ts +58 -0
- package/src/dxf-system/utils/BoundExt.d.ts +51 -0
- package/src/dxf-system/utils/DoorFind.d.ts +44 -0
- package/src/dxf-system/utils/DoubleWallFinder.d.ts +24 -0
- package/src/dxf-system/utils/HeightQuery.d.ts +12 -0
- package/src/dxf-system/utils/LineGroupType.d.ts +125 -0
- package/src/dxf-system/utils/LoadModel.d.ts +7 -0
- package/src/dxf-system/utils/RunJianPipeline.d.ts +92 -0
- package/src/dxf-system/utils/SceneAutoGenerat.d.ts +42 -0
- package/src/dxf-system/utils/ThreeVJiaPipeline.d.ts +154 -0
- package/src/dxf-system/utils/WallGroupManager.d.ts +27 -0
- package/src/dxf-system/utils/WallHole.d.ts +134 -0
- package/src/dxf-system/utils/WallHoleDrawData.d.ts +31 -0
- package/src/dxf-system/utils/ZHouseMockData.d.ts +127 -0
- package/src/dxf-system/utils/cad/DxfDataPlugin.d.ts +20 -0
- package/src/dxf-system/utils/cad/DxfDrawPlugin.d.ts +13 -0
- package/src/dxf-system/utils/cad/draw-data.d.ts +43 -0
- package/src/dxf-system/utils/cad/draw-dxf-image.d.ts +2 -0
- package/src/dxf-system/utils/cad/draw-dxf-string.d.ts +3 -0
- package/src/dxf-system/utils/cad/index.d.ts +143 -0
- package/src/dxf-system/utils/clipping-double-wall.d.ts +7 -0
- package/src/dxf-system/utils/draw-helper.d.ts +6 -0
- package/src/dxf-system/utils/find-discrete.d.ts +26 -0
- package/src/dxf-system/utils/find-rooms.d.ts +16 -0
- package/src/dxf-system/utils/get-win-draw-data.d.ts +18 -0
- package/src/dxf-system/utils/index.d.ts +8 -0
- package/src/dxf-system/utils/line-pipeline/builtin/axis-align-corr.d.ts +16 -0
- package/src/dxf-system/utils/line-pipeline/builtin/beam-support-line.d.ts +3 -0
- package/src/dxf-system/utils/line-pipeline/builtin/bound-ext.d.ts +8 -0
- package/src/dxf-system/utils/line-pipeline/builtin/build-group/bay-window.d.ts +7 -0
- package/src/dxf-system/utils/line-pipeline/builtin/build-group/double-wall.d.ts +6 -0
- package/src/dxf-system/utils/line-pipeline/builtin/build-group/index.d.ts +7 -0
- package/src/dxf-system/utils/line-pipeline/builtin/door-space-handle.d.ts +5 -0
- package/src/dxf-system/utils/line-pipeline/builtin/door-to-hole.d.ts +9 -0
- package/src/dxf-system/utils/line-pipeline/builtin/double-wall-alignment.d.ts +7 -0
- package/src/dxf-system/utils/line-pipeline/builtin/index.d.ts +39 -0
- package/src/dxf-system/utils/line-pipeline/builtin/init.d.ts +8 -0
- package/src/dxf-system/utils/line-pipeline/builtin/remove-room-sundries.d.ts +3 -0
- package/src/dxf-system/utils/line-pipeline/builtin/remove-short-double-wall.d.ts +6 -0
- package/src/dxf-system/utils/line-pipeline/builtin/wall-height-handle.d.ts +8 -0
- package/src/dxf-system/utils/line-pipeline/index.d.ts +22 -0
- package/src/dxf-system/utils/remove-dangline.d.ts +7 -0
- package/src/dxf-system/utils/tools.d.ts +91 -0
- package/src/index.css +1 -0
- package/src/index.js +1 -0
- package/src/index2.js +1 -0
- package/src/index3.js +1 -0
- package/src/main.d.ts +0 -0
- package/src/pages/CubeView.vue.d.ts +4 -0
- package/src/pages/DxfPreview.vue.d.ts +9 -0
- package/src/pages/Editor.vue.d.ts +8 -0
- package/src/pages/ExportGLB.vue.d.ts +2 -0
- package/src/pages/ImagePreview.vue.d.ts +9 -0
- package/src/pages/ModelView.vue.d.ts +11 -0
- package/src/pages/Setting.vue.d.ts +6 -0
- package/src/pages/Todo.vue.d.ts +2 -0
- package/src/pages/WallView.vue.d.ts +9 -0
- package/src/pages/WindowManager.vue.d.ts +2 -0
- package/src/pages/buildJson.vue.d.ts +4 -0
- package/src/pages/modelCarrier/index.vue.d.ts +4 -0
- package/src/router/index.d.ts +2 -0
- package/src/utils/EventDispatcher.d.ts +18 -0
- package/src/utils/algorithms/AlignToParallelSegments.d.ts +25 -0
- package/src/utils/algorithms/AxisAlignCorr.d.ts +38 -0
- package/src/utils/algorithms/Box2.d.ts +96 -0
- package/src/utils/algorithms/CheckPointCloudContinuity.d.ts +63 -0
- package/src/utils/algorithms/ConstraintSystem.d.ts +17 -0
- package/src/utils/algorithms/ConvexHullGraham.d.ts +16 -0
- package/src/utils/algorithms/Debouncing.d.ts +10 -0
- package/src/utils/algorithms/LineIndexGenerator.d.ts +12 -0
- package/src/utils/algorithms/LineQueryer.d.ts +42 -0
- package/src/utils/algorithms/LineSegment.d.ts +258 -0
- package/src/utils/algorithms/LineSegmentSpatialHash.d.ts +86 -0
- package/src/utils/algorithms/LineSegmentUtils.d.ts +185 -0
- package/src/utils/algorithms/Map.d.ts +38 -0
- package/src/utils/algorithms/MaxiCircles.d.ts +15 -0
- package/src/utils/algorithms/MiniCircles.d.ts +57 -0
- package/src/utils/algorithms/OBB.d.ts +30 -0
- package/src/utils/algorithms/PCSparseOctree.d.ts +56 -0
- package/src/utils/algorithms/Pipeline.d.ts +20 -0
- package/src/utils/algorithms/Point.d.ts +271 -0
- package/src/utils/algorithms/PointSpatialHash.d.ts +149 -0
- package/src/utils/algorithms/PointUtils.d.ts +47 -0
- package/src/utils/algorithms/Polygon.d.ts +164 -0
- package/src/utils/algorithms/PolygonUtils.d.ts +9 -0
- package/src/utils/algorithms/Quadtree.d.ts +89 -0
- package/src/utils/algorithms/Rectangle.d.ts +62 -0
- package/src/utils/algorithms/UndirectedGraph.d.ts +124 -0
- package/src/utils/algorithms/UnionFindSet.d.ts +12 -0
- package/src/utils/algorithms/ccw.d.ts +2 -0
- package/src/utils/algorithms/lazy.d.ts +14 -0
- package/src/utils/algorithms/precision.d.ts +3 -0
- package/src/utils/algorithms/stepElimination.d.ts +6 -0
- package/src/utils/algorithms/uuid.d.ts +1 -0
- package/src/utils/command/CommandFlow.d.ts +45 -0
- package/src/utils/command/CommandSystem.d.ts +96 -0
- package/src/utils/command/index.d.ts +2 -0
- package/src/utils/decorators/measure-time.d.ts +5 -0
- package/src/utils/ecs/Component.d.ts +18 -0
- package/src/utils/ecs/Container.d.ts +47 -0
- package/src/utils/ecs/index.d.ts +4 -0
- package/src/utils/geometry-manager/GeometryManager.d.ts +2 -0
- package/src/utils/index.d.ts +25 -0
- package/src/utils/modelScenario/bayWindow.d.ts +35 -0
- package/src/utils/modelScenario/scenario.d.ts +92 -0
- package/src/utils/three-object-3d/ExtrudeMesh.d.ts +11 -0
- package/src/utils/three-object-3d/LineAlignmentGuide.d.ts +20 -0
- package/src/utils/three-object-3d/Lines.d.ts +25 -0
- package/src/utils/three-object-3d/Lines2.d.ts +22 -0
- package/src/utils/three-object-3d/Shape2D.d.ts +61 -0
- package/src/utils/tools/GCHandle.d.ts +12 -0
- package/src/utils/tools/Gltf.d.ts +7 -0
- package/src/utils/tools/SnapLine.d.ts +19 -0
- package/src/utils/tools/StorageHelper.d.ts +8 -0
- package/src/utils/tools/clone-user-data.d.ts +7 -0
- package/src/utils/tools/create-html.d.ts +9 -0
- package/src/utils/tools/create-promise.d.ts +5 -0
- package/src/utils/tools/createVueApp.d.ts +1 -0
- package/src/utils/tools/download.d.ts +1 -0
- package/src/utils/tools/get-json.d.ts +5 -0
- package/src/utils/tools/include.d.ts +1 -0
- package/src/utils/tools/is-mobile.d.ts +2 -0
- package/src/utils/tools/repetitive-task.d.ts +1 -0
- package/src/utils/tools/selectLocal-file.d.ts +7 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DxfSystem } from '../../DxfSystem';
|
|
2
|
+
import * as components from "./components";
|
|
3
|
+
import * as THREE from "three";
|
|
4
|
+
type Option = {
|
|
5
|
+
modelData?: boolean;
|
|
6
|
+
orbitControls?: boolean;
|
|
7
|
+
camera?: THREE.Camera;
|
|
8
|
+
};
|
|
9
|
+
declare function RendererPlugin_(dxfSystem: DxfSystem, option?: Option): void;
|
|
10
|
+
declare const RenderPlugin: typeof RendererPlugin_ & {
|
|
11
|
+
create(option?: Option): (dxfSystem: DxfSystem) => void;
|
|
12
|
+
};
|
|
13
|
+
export { components, RenderPlugin };
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { Quadtree, QuadtreeNode } from '../utils/algorithms/Quadtree';
|
|
2
|
+
import { Point } from '../utils/algorithms/Point';
|
|
3
|
+
import { LineSegment } from '../utils/algorithms/LineSegment';
|
|
4
|
+
import { Polygon } from '../utils/algorithms/Polygon';
|
|
5
|
+
export type Unit = "Unitless" | "Inches" | "Feet" | "Miles" | "Millimeters" | "Centimeters" | "Meters" | "Kilometers" | "Microinches" | "Mils" | "Yards" | "Angstroms" | "Nanometers" | "Microns" | "Decimeters" | "Decameters" | "Hectometers" | "Gigameters" | "Astronomical units" | "Light years" | "Parsecs";
|
|
6
|
+
export interface GroupItem {
|
|
7
|
+
id: string;
|
|
8
|
+
type?: string;
|
|
9
|
+
}
|
|
10
|
+
export type HoleStorageType = 'drawWindow' | 'passageEntrance';
|
|
11
|
+
export type HoleType = "door" | "window" | "beam" | "passageEntrance";
|
|
12
|
+
export interface HoleData {
|
|
13
|
+
p: {
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
z: number;
|
|
17
|
+
};
|
|
18
|
+
width: number;
|
|
19
|
+
full: boolean;
|
|
20
|
+
rooftopPz?: number;
|
|
21
|
+
uuid?: string;
|
|
22
|
+
height?: number;
|
|
23
|
+
groundClearance?: number;
|
|
24
|
+
type?: HoleType;
|
|
25
|
+
id?: number;
|
|
26
|
+
nearId?: number;
|
|
27
|
+
doorId?: number;
|
|
28
|
+
nearDoorId?: number;
|
|
29
|
+
pair?: string | number;
|
|
30
|
+
}
|
|
31
|
+
export type EntityType = "beams" | "door" | "pillar";
|
|
32
|
+
export type Shape = "line" | "arc" | "polygon";
|
|
33
|
+
export type WallLineGlobalOption = {
|
|
34
|
+
uuid?: string;
|
|
35
|
+
groupId?: string;
|
|
36
|
+
groupType?: string;
|
|
37
|
+
groups?: GroupItem[];
|
|
38
|
+
rooftopPz?: number;
|
|
39
|
+
height?: number;
|
|
40
|
+
wallWidth?: number;
|
|
41
|
+
sillHeight?: number;
|
|
42
|
+
length?: number;
|
|
43
|
+
type?: EntityType;
|
|
44
|
+
shape?: Shape;
|
|
45
|
+
/** 是不是窗户线 */
|
|
46
|
+
isWindow?: boolean;
|
|
47
|
+
/** 是不是飘窗虚线 */
|
|
48
|
+
isBayWindow?: boolean;
|
|
49
|
+
/** 是不是飘窗墙壁 */
|
|
50
|
+
isWindowWall?: boolean;
|
|
51
|
+
isBayWindowWin?: boolean;
|
|
52
|
+
/** 是不是阳台护栏 */
|
|
53
|
+
isBalconyRailing?: boolean;
|
|
54
|
+
/** 是不是门线 */
|
|
55
|
+
isDoor?: boolean;
|
|
56
|
+
doorAutomaticFind?: boolean;
|
|
57
|
+
doorDirectConnection?: boolean;
|
|
58
|
+
expansionWidth?: number;
|
|
59
|
+
expansionDirction?: {
|
|
60
|
+
x: number;
|
|
61
|
+
y: number;
|
|
62
|
+
};
|
|
63
|
+
isPassageEntrance?: boolean;
|
|
64
|
+
topClearance?: number;
|
|
65
|
+
isVerticalReferenceLine?: boolean;
|
|
66
|
+
insetionArr?: {
|
|
67
|
+
index: number;
|
|
68
|
+
p: {
|
|
69
|
+
x: number;
|
|
70
|
+
y: number;
|
|
71
|
+
z?: number;
|
|
72
|
+
};
|
|
73
|
+
}[];
|
|
74
|
+
outSize?: {
|
|
75
|
+
direction: {
|
|
76
|
+
x: number;
|
|
77
|
+
y: number;
|
|
78
|
+
z: number;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
drawWindow?: HoleData[];
|
|
82
|
+
drawDoorData?: {
|
|
83
|
+
start: {
|
|
84
|
+
x: number;
|
|
85
|
+
y: number;
|
|
86
|
+
z?: number;
|
|
87
|
+
};
|
|
88
|
+
n: {
|
|
89
|
+
x: number;
|
|
90
|
+
y: number;
|
|
91
|
+
z?: number;
|
|
92
|
+
};
|
|
93
|
+
height: number;
|
|
94
|
+
groundClearance: number;
|
|
95
|
+
sillHeight?: number;
|
|
96
|
+
};
|
|
97
|
+
passageEntrance?: HoleData[];
|
|
98
|
+
pair?: string | number;
|
|
99
|
+
};
|
|
100
|
+
export type LineUserData = {
|
|
101
|
+
quadtreeNode?: QuadtreeNode;
|
|
102
|
+
} & WallLineGlobalOption;
|
|
103
|
+
export type OriginalDataItem = {
|
|
104
|
+
start: {
|
|
105
|
+
x: number;
|
|
106
|
+
y: number;
|
|
107
|
+
z?: number;
|
|
108
|
+
};
|
|
109
|
+
end: {
|
|
110
|
+
x: number;
|
|
111
|
+
y: number;
|
|
112
|
+
z?: number;
|
|
113
|
+
};
|
|
114
|
+
} & WallLineGlobalOption;
|
|
115
|
+
/**
|
|
116
|
+
* [开始点, 结束点, 相交点, 是否是门, 索引]
|
|
117
|
+
*/
|
|
118
|
+
export type DataItem = [Point, Point, number[], boolean, number];
|
|
119
|
+
export type FittingMethodType = "average" | "max";
|
|
120
|
+
export type SetDataOption = {
|
|
121
|
+
/**
|
|
122
|
+
* 主轴阈值,默认 0.3 groupMethod是precision时生效
|
|
123
|
+
*/
|
|
124
|
+
principalAxisThreshold?: number;
|
|
125
|
+
/**
|
|
126
|
+
* 交叉轴阈值,默认 0.06
|
|
127
|
+
*/
|
|
128
|
+
crossAxistThreshold?: number;
|
|
129
|
+
/**
|
|
130
|
+
* 吸附阈值,默认 0.2
|
|
131
|
+
*/
|
|
132
|
+
snapThreshold?: number;
|
|
133
|
+
/**
|
|
134
|
+
* 拟合方式, 默认 max
|
|
135
|
+
* @description average 以分组线段平均数作为拟合位置
|
|
136
|
+
* @description max 以分组线段中最长线段作为拟合位置
|
|
137
|
+
*/
|
|
138
|
+
fittingMethod?: FittingMethodType;
|
|
139
|
+
/**
|
|
140
|
+
* 分组方式, 默认 default
|
|
141
|
+
* @description cross 以交叉轴辅助分组
|
|
142
|
+
* @description principalAndCross 以主轴和交叉轴辅助分组
|
|
143
|
+
* @description originalInterPoint 通过原始交点计算分组,把原来平行的放到分组里
|
|
144
|
+
*/
|
|
145
|
+
groupMethod?: "cross" | "principalAndCross" | "originalInterPoint";
|
|
146
|
+
/**
|
|
147
|
+
* 吸附方式, 默认 adsorption
|
|
148
|
+
*/
|
|
149
|
+
adsorptionMethod?: "originalInterPoint" | "adsorption";
|
|
150
|
+
wallGroup?: boolean;
|
|
151
|
+
trajectory?: Record<string, any>;
|
|
152
|
+
onBoundExt?: (lines: LineSegment[], trajectory: any) => void;
|
|
153
|
+
publicInfo?: IPublicInfoFile;
|
|
154
|
+
originalZ?: number;
|
|
155
|
+
minWidth?: number;
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
*
|
|
159
|
+
*/
|
|
160
|
+
export interface PointGroup {
|
|
161
|
+
points: Point[];
|
|
162
|
+
indices: number[];
|
|
163
|
+
}
|
|
164
|
+
export type Contour = {
|
|
165
|
+
contour: [number, number][];
|
|
166
|
+
polygon?: Polygon;
|
|
167
|
+
averagePz: number;
|
|
168
|
+
};
|
|
169
|
+
export type CootTopContourInfo = {
|
|
170
|
+
contours: Contour[];
|
|
171
|
+
maxContourIndex: number;
|
|
172
|
+
quadtree?: Quadtree;
|
|
173
|
+
};
|
|
174
|
+
export type ItemInfo = {
|
|
175
|
+
category: string;
|
|
176
|
+
box: {
|
|
177
|
+
min: {
|
|
178
|
+
x: number;
|
|
179
|
+
y: number;
|
|
180
|
+
z: number;
|
|
181
|
+
};
|
|
182
|
+
max: {
|
|
183
|
+
x: number;
|
|
184
|
+
y: number;
|
|
185
|
+
z: number;
|
|
186
|
+
};
|
|
187
|
+
};
|
|
188
|
+
contour: {
|
|
189
|
+
x: number;
|
|
190
|
+
y: number;
|
|
191
|
+
z: number;
|
|
192
|
+
}[];
|
|
193
|
+
quadContour?: {
|
|
194
|
+
x: number;
|
|
195
|
+
y: number;
|
|
196
|
+
z: number;
|
|
197
|
+
}[];
|
|
198
|
+
direction: {
|
|
199
|
+
x: number;
|
|
200
|
+
y: number;
|
|
201
|
+
z: number;
|
|
202
|
+
};
|
|
203
|
+
obj_id: string;
|
|
204
|
+
position: {
|
|
205
|
+
x: number;
|
|
206
|
+
y: number;
|
|
207
|
+
z: number;
|
|
208
|
+
};
|
|
209
|
+
size: {
|
|
210
|
+
x: number;
|
|
211
|
+
y: number;
|
|
212
|
+
z: number;
|
|
213
|
+
};
|
|
214
|
+
};
|
|
215
|
+
export interface IPublicInfoFile {
|
|
216
|
+
itemInfo: ItemInfo[];
|
|
217
|
+
rootTopContourInfo?: CootTopContourInfo;
|
|
218
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { LineSegment } from '../../utils/algorithms/LineSegment';
|
|
2
|
+
import { LineUserData } from '../type';
|
|
3
|
+
import { Point } from '../../utils/algorithms/Point';
|
|
4
|
+
import * as THREE from "three";
|
|
5
|
+
export interface IDrawBayWindowData {
|
|
6
|
+
height1: number;
|
|
7
|
+
height2: number;
|
|
8
|
+
height3: number;
|
|
9
|
+
depth: number;
|
|
10
|
+
windowWidth: number;
|
|
11
|
+
windowHeight: number;
|
|
12
|
+
bayWindowLine: LineSegment;
|
|
13
|
+
windowLine: LineSegment;
|
|
14
|
+
deptLine: LineSegment;
|
|
15
|
+
direction: Point;
|
|
16
|
+
}
|
|
17
|
+
export interface IDrawBayWindowData2 {
|
|
18
|
+
height1: number;
|
|
19
|
+
height2: number;
|
|
20
|
+
height3: number;
|
|
21
|
+
windowWidth: number;
|
|
22
|
+
windowHeight: number;
|
|
23
|
+
direction: Point;
|
|
24
|
+
}
|
|
25
|
+
export declare class BayWindowHelper {
|
|
26
|
+
/** 计算飘窗信息
|
|
27
|
+
* @param lines
|
|
28
|
+
*/
|
|
29
|
+
static computedInfo(lines: LineSegment<LineUserData>[]): {
|
|
30
|
+
side: "LEFT" | "RIGHT";
|
|
31
|
+
depth: number;
|
|
32
|
+
dottedLine: LineSegment<LineUserData>;
|
|
33
|
+
windowLine: LineSegment<LineUserData> | undefined;
|
|
34
|
+
} | undefined;
|
|
35
|
+
/** 获取绘制数据
|
|
36
|
+
* @param lines
|
|
37
|
+
* @returns
|
|
38
|
+
*/
|
|
39
|
+
static getDrawData(lines: LineSegment<LineUserData>[]): IDrawBayWindowData | null;
|
|
40
|
+
/** 获取绘制数据
|
|
41
|
+
* @param lines
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
static getDrawData2(lines: LineSegment<LineUserData>[]): IDrawBayWindowData2 | null;
|
|
45
|
+
/** 获取所有绘制数据
|
|
46
|
+
* @param lineSegments
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
static getDrawDataAll(lineSegments: LineSegment[]): {
|
|
50
|
+
group: LineSegment<Record<string, any>>[];
|
|
51
|
+
drawData: IDrawBayWindowData;
|
|
52
|
+
}[];
|
|
53
|
+
/** 绘制数据转模型
|
|
54
|
+
* @param drawData
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
57
|
+
static drawDataToModel(drawData: IDrawBayWindowData): THREE.Group<THREE.Object3DEventMap>;
|
|
58
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { LineSegment } from '../../utils/algorithms/LineSegment';
|
|
2
|
+
import { Point } from '../../utils/algorithms/Point';
|
|
3
|
+
import { LineUserData, OriginalDataItem } from '../type';
|
|
4
|
+
interface IByTraj {
|
|
5
|
+
lines: LineSegment[];
|
|
6
|
+
trajectory: any;
|
|
7
|
+
wallWidth: number;
|
|
8
|
+
updateDoubleWallGroup?: boolean;
|
|
9
|
+
findCallBack?: (lines: LineSegment[], trajectory: Point[]) => void;
|
|
10
|
+
}
|
|
11
|
+
interface IByTrajAnOriginData {
|
|
12
|
+
data: OriginalDataItem[];
|
|
13
|
+
trajectory: any;
|
|
14
|
+
wallWidth: number;
|
|
15
|
+
updateDoubleWallGroup?: boolean;
|
|
16
|
+
findCallBack?: (lines: LineSegment[], trajectory: Point[]) => void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 外墙外扩
|
|
20
|
+
*/
|
|
21
|
+
export declare class BoundExt {
|
|
22
|
+
/** 通过轨迹点查找外墙
|
|
23
|
+
* @param lines
|
|
24
|
+
* @param trajectoryPoints
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
27
|
+
static findExtWallByTraj(lines: LineSegment<LineUserData & {
|
|
28
|
+
expandDirect?: 'left' | 'right' | 'on';
|
|
29
|
+
}>[], trajectoryPoints: Point[], minWidth?: number): LineSegment<{
|
|
30
|
+
quadtreeNode?: import('../../utils').QuadtreeNode;
|
|
31
|
+
} & import('../type').WallLineGlobalOption & {
|
|
32
|
+
expandDirect?: "left" | "right" | "on";
|
|
33
|
+
}>[];
|
|
34
|
+
/** 通过轨迹点外扩边线
|
|
35
|
+
* @param lines
|
|
36
|
+
* @param trajectoryPoints
|
|
37
|
+
*/
|
|
38
|
+
static boundExtbyTrajAndOriginalData(opt: IByTrajAnOriginData): OriginalDataItem[];
|
|
39
|
+
/** 通过轨迹点外扩边线
|
|
40
|
+
* @param lines
|
|
41
|
+
* @param trajectory
|
|
42
|
+
* @param wallWidth
|
|
43
|
+
* @param findCallBack
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
static boundExtbyTraj(opt: IByTraj): {
|
|
47
|
+
lines: LineSegment<Record<string, any>>[];
|
|
48
|
+
toOriginalData(originalZAverage: number): OriginalDataItem[];
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { LineSegment } from '../../utils/algorithms/LineSegment';
|
|
2
|
+
import { LineUserData } from '../type';
|
|
3
|
+
import { PointSpatialHash } from '../../utils/algorithms/PointSpatialHash';
|
|
4
|
+
import { Quadtree } from '../../utils/algorithms/Quadtree';
|
|
5
|
+
import { Point } from '../../utils/algorithms/Point';
|
|
6
|
+
interface IDockInfo {
|
|
7
|
+
dockLine: LineSegment<LineUserData>;
|
|
8
|
+
dockPoint: Point<Record<string, any>>;
|
|
9
|
+
point: Point<Record<string, any>>;
|
|
10
|
+
pointType: string;
|
|
11
|
+
}
|
|
12
|
+
export declare class DoorFind {
|
|
13
|
+
lines: LineSegment[];
|
|
14
|
+
grid: PointSpatialHash<LineSegment<LineUserData>>;
|
|
15
|
+
quadtree: Quadtree<{
|
|
16
|
+
index: number;
|
|
17
|
+
}>;
|
|
18
|
+
constructor(lines: LineSegment<LineUserData>[]);
|
|
19
|
+
/**
|
|
20
|
+
* 查找兄弟门(双开门)
|
|
21
|
+
*/
|
|
22
|
+
findBrotherDoor(lines: LineSegment<LineUserData>[]): LineSegment<LineUserData>[];
|
|
23
|
+
/** 处理封闭门
|
|
24
|
+
* @param line
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
27
|
+
private findCloseDoors;
|
|
28
|
+
/** 处理开门
|
|
29
|
+
* @param line
|
|
30
|
+
* @returns
|
|
31
|
+
*/
|
|
32
|
+
findOpenDoors(line: LineSegment<LineUserData>): void;
|
|
33
|
+
/**
|
|
34
|
+
* 对门的两侧进行吸附
|
|
35
|
+
* @param dock
|
|
36
|
+
* @param line
|
|
37
|
+
* @param maxAngle 找到的门线与原来的之间最大夹角
|
|
38
|
+
* @returns
|
|
39
|
+
*/
|
|
40
|
+
adsorpt(dock: IDockInfo, line: LineSegment, maxAngle?: number): Point<Record<string, any>> | null;
|
|
41
|
+
extendLink(dock: IDockInfo, line: LineSegment): Point<Record<string, any>> | null;
|
|
42
|
+
getLines(): LineSegment<Record<string, any>>[];
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { LineSegment } from '../../utils/algorithms/LineSegment';
|
|
2
|
+
import { LineUserData } from '../type';
|
|
3
|
+
export declare class DoubleWallFinder {
|
|
4
|
+
/**
|
|
5
|
+
* @param lines
|
|
6
|
+
* @param parallelAxis
|
|
7
|
+
* @param verticalAxis
|
|
8
|
+
* @param esp
|
|
9
|
+
* @param gap
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
private static group;
|
|
13
|
+
/** 查找
|
|
14
|
+
* @param lines
|
|
15
|
+
* @param obstacle
|
|
16
|
+
* @param esp
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
static find(lines: LineSegment<LineUserData>[], obstacle?: LineSegment[], esp?: number): LineSegment<LineUserData>[];
|
|
20
|
+
/**
|
|
21
|
+
* 创建分组
|
|
22
|
+
*/
|
|
23
|
+
static buildGroup(lineSegments: LineSegment<LineUserData>[]): (LineSegment<Record<string, any>> | LineSegment<LineUserData>)[];
|
|
24
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { LineSegment } from '../../utils/algorithms/LineSegment';
|
|
2
|
+
import { CootTopContourInfo } from '../type';
|
|
3
|
+
/**
|
|
4
|
+
* 墙高查询
|
|
5
|
+
*/
|
|
6
|
+
export declare class HeightQuery {
|
|
7
|
+
static query(line: LineSegment, rootTopContourInfo: CootTopContourInfo): number;
|
|
8
|
+
static whichContourContainsPoint(points: [number, number][], rootTopContourInfo: CootTopContourInfo): {
|
|
9
|
+
i: number;
|
|
10
|
+
averagePz: number;
|
|
11
|
+
}[];
|
|
12
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { LineSegment } from '../../utils/algorithms/LineSegment';
|
|
2
|
+
import { LineUserData } from '../type';
|
|
3
|
+
/**
|
|
4
|
+
* 线段分组管理
|
|
5
|
+
*/
|
|
6
|
+
export declare class LineGroupType {
|
|
7
|
+
/**
|
|
8
|
+
* 获取线段的所有分组信息
|
|
9
|
+
* @param line
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
static get(line: LineSegment<LineUserData>): {
|
|
13
|
+
id: string;
|
|
14
|
+
type?: string;
|
|
15
|
+
}[];
|
|
16
|
+
/**
|
|
17
|
+
* 为线段添加新的分组
|
|
18
|
+
* @param line
|
|
19
|
+
* @param id
|
|
20
|
+
* @param type
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
static set(line: LineSegment<LineUserData>, id: string, type: string, repeat?: boolean): void;
|
|
24
|
+
/** 通过类型获取id
|
|
25
|
+
* @param line
|
|
26
|
+
* @param type
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
static getIdByType(line: LineSegment<LineUserData>, type: string): string | undefined;
|
|
30
|
+
/** 通过类型获取所有id
|
|
31
|
+
* @param line
|
|
32
|
+
* @param type
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
static getIdsByType(line: LineSegment<LineUserData>, type: string): string[];
|
|
36
|
+
/** 通过类型获取所有组
|
|
37
|
+
* @param lines
|
|
38
|
+
* @param type
|
|
39
|
+
*/
|
|
40
|
+
static getGroupsByType(lines: LineSegment[], type: string, remainingLines?: LineSegment[]): LineSegment<Record<string, any>>[][] & {
|
|
41
|
+
remainingLines: LineSegment<Record<string, any>>[];
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* 替换线段中的分组信息
|
|
45
|
+
* @param line
|
|
46
|
+
* @param id
|
|
47
|
+
* @param type
|
|
48
|
+
* @returns
|
|
49
|
+
*/
|
|
50
|
+
static replace(line: LineSegment<LineUserData>, id: string, type: string): boolean;
|
|
51
|
+
/** 有组
|
|
52
|
+
* @param line
|
|
53
|
+
*/
|
|
54
|
+
static hasGroup(line: LineSegment<LineUserData>): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* 检查线段是否包含指定的分组ID
|
|
57
|
+
* @param line
|
|
58
|
+
* @param id
|
|
59
|
+
* @returns
|
|
60
|
+
*/
|
|
61
|
+
static hasId(line: LineSegment<LineUserData>, id: string): boolean | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* 检查线段是否包含指定的分组类型
|
|
64
|
+
* @param line
|
|
65
|
+
* @param type
|
|
66
|
+
* @returns
|
|
67
|
+
*/
|
|
68
|
+
static hasType(line: LineSegment<LineUserData>, type: string): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* 检查线段是否包含所有指定的分组类型
|
|
71
|
+
* @param line
|
|
72
|
+
* @param types
|
|
73
|
+
* @returns
|
|
74
|
+
*/
|
|
75
|
+
static hasTypes(line: LineSegment<LineUserData>, types: string[]): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* 检查线段是否包含所有指定的分组类型
|
|
78
|
+
* @param lines
|
|
79
|
+
* @param type
|
|
80
|
+
* @returns
|
|
81
|
+
*/
|
|
82
|
+
static everyType(lines: LineSegment<LineUserData>[], type: string): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* 获取所有线段的交集类型(所有线段都包含的类型)
|
|
85
|
+
* @param lines
|
|
86
|
+
* @returns
|
|
87
|
+
*/
|
|
88
|
+
static getIntersectionTypes(lines: LineSegment<LineUserData>[]): string[];
|
|
89
|
+
/**
|
|
90
|
+
* 获取所有线段的并集类型
|
|
91
|
+
* @param lines
|
|
92
|
+
* @returns
|
|
93
|
+
*/
|
|
94
|
+
static getUnionTypes(lines: LineSegment<LineUserData>[]): string[];
|
|
95
|
+
/** 是否为一组
|
|
96
|
+
* @param lines
|
|
97
|
+
*/
|
|
98
|
+
static isGroup(lines: LineSegment<LineUserData>[]): boolean;
|
|
99
|
+
/**
|
|
100
|
+
*
|
|
101
|
+
* @param line
|
|
102
|
+
* @param id
|
|
103
|
+
* @returns
|
|
104
|
+
*/
|
|
105
|
+
static remove(line: LineSegment<LineUserData>, id: string): boolean;
|
|
106
|
+
/**
|
|
107
|
+
* 通过类型移除
|
|
108
|
+
* @param line
|
|
109
|
+
* @param id
|
|
110
|
+
* @returns
|
|
111
|
+
*/
|
|
112
|
+
static removeByType(line: LineSegment<LineUserData>, type: string): boolean;
|
|
113
|
+
/**
|
|
114
|
+
* 通过类型移除
|
|
115
|
+
* @param line
|
|
116
|
+
* @param id
|
|
117
|
+
* @returns
|
|
118
|
+
*/
|
|
119
|
+
static removeByTypes(line: LineSegment<LineUserData>, types: string[]): void;
|
|
120
|
+
/**
|
|
121
|
+
* 清空线段的所有分组信息
|
|
122
|
+
* @param line
|
|
123
|
+
*/
|
|
124
|
+
static clear(line: LineSegment<LineUserData>): void;
|
|
125
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Group } from 'three';
|
|
2
|
+
export declare class LoadModel {
|
|
3
|
+
private static _cache;
|
|
4
|
+
private static _nameMap;
|
|
5
|
+
static addNameMap(mapName: string, name: string): void;
|
|
6
|
+
static loadGlb(name: string): Promise<Group<import('three').Object3DEventMap> | null> | undefined;
|
|
7
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { LineSegment } from '../../utils/algorithms/LineSegment';
|
|
2
|
+
import { LineUserData } from '../type';
|
|
3
|
+
import { WallGroupManager } from './WallGroupManager';
|
|
4
|
+
import { Pipeline, HandlerContext } from '../../utils/algorithms/Pipeline';
|
|
5
|
+
type Component = {
|
|
6
|
+
index: number;
|
|
7
|
+
id: number;
|
|
8
|
+
name: "梁" | "柱" | "板" | "墙";
|
|
9
|
+
floor: number;
|
|
10
|
+
length: number;
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
z: number;
|
|
16
|
+
};
|
|
17
|
+
export type RunJianObject = {
|
|
18
|
+
version: string;
|
|
19
|
+
title: string;
|
|
20
|
+
floor: number;
|
|
21
|
+
components: Component[];
|
|
22
|
+
};
|
|
23
|
+
type DataOption = {
|
|
24
|
+
lines: LineSegment[];
|
|
25
|
+
json: RunJianObject;
|
|
26
|
+
};
|
|
27
|
+
interface ICache {
|
|
28
|
+
wallLines: LineSegment[];
|
|
29
|
+
}
|
|
30
|
+
export declare class RunJianPipeline extends Pipeline<DataOption, ICache> {
|
|
31
|
+
manager: WallGroupManager;
|
|
32
|
+
index: number;
|
|
33
|
+
z: number;
|
|
34
|
+
floor: number;
|
|
35
|
+
lines: LineSegment[];
|
|
36
|
+
constructor(lines: LineSegment[], z: number, floor: number);
|
|
37
|
+
/** 双线墙处理
|
|
38
|
+
* 孔洞提取
|
|
39
|
+
* 会拆分成有宽度的单线墙壁
|
|
40
|
+
* @param param0
|
|
41
|
+
* @returns
|
|
42
|
+
*/
|
|
43
|
+
doubleWallHandle({ data: { lines }, cache }: HandlerContext<DataOption, ICache>): void;
|
|
44
|
+
/** 柱子处理
|
|
45
|
+
* @param param0
|
|
46
|
+
* @returns
|
|
47
|
+
*/
|
|
48
|
+
pillarHandle({ data: { lines, json } }: HandlerContext<DataOption>): void;
|
|
49
|
+
/**
|
|
50
|
+
* 单线墙处理 - 孔洞提取
|
|
51
|
+
* @param param0
|
|
52
|
+
*/
|
|
53
|
+
wallHandle({ data: { lines }, cache }: HandlerContext<DataOption, ICache>): void;
|
|
54
|
+
/**
|
|
55
|
+
* 门线处理
|
|
56
|
+
* @param param0
|
|
57
|
+
*/
|
|
58
|
+
doorHandle({ data: { lines }, cache }: HandlerContext<DataOption, ICache>): void;
|
|
59
|
+
/** 飘窗处理
|
|
60
|
+
* @param data
|
|
61
|
+
* @returns
|
|
62
|
+
*/
|
|
63
|
+
bayWindowHandle({ data: { lines }, cache }: HandlerContext<DataOption, ICache>): void;
|
|
64
|
+
/** 阳台护栏
|
|
65
|
+
* @param param0
|
|
66
|
+
* @returns
|
|
67
|
+
*/
|
|
68
|
+
balconyRailing({ data: { lines }, cache }: HandlerContext<DataOption, ICache>): void;
|
|
69
|
+
/** 墙壁孔洞处理
|
|
70
|
+
* @param param0
|
|
71
|
+
* @returns
|
|
72
|
+
*/
|
|
73
|
+
wallHoleHandle({ data: { lines, json } }: HandlerContext<DataOption, ICache>): void;
|
|
74
|
+
/** 转换
|
|
75
|
+
* @returns
|
|
76
|
+
*/
|
|
77
|
+
transform(): RunJianObject;
|
|
78
|
+
/**
|
|
79
|
+
* 转为 润建 结构
|
|
80
|
+
* @param lineSegments
|
|
81
|
+
* @param angle 弧度
|
|
82
|
+
* @param updateGroup
|
|
83
|
+
* @returns
|
|
84
|
+
*/
|
|
85
|
+
static toJson(lineSegments: LineSegment<LineUserData>[], opt?: {
|
|
86
|
+
z?: number;
|
|
87
|
+
angle?: number;
|
|
88
|
+
floor: number;
|
|
89
|
+
updateGroup?: boolean;
|
|
90
|
+
}): RunJianObject;
|
|
91
|
+
}
|
|
92
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Group } from 'three';
|
|
2
|
+
import { LineSegment } from '../../utils/algorithms/LineSegment';
|
|
3
|
+
import { LineUserData } from '../type';
|
|
4
|
+
import * as THREE from "three";
|
|
5
|
+
export declare class SceneAutoGenerat {
|
|
6
|
+
lines: LineSegment[];
|
|
7
|
+
itemList: any[];
|
|
8
|
+
z: number;
|
|
9
|
+
scene: Group<THREE.Object3DEventMap>;
|
|
10
|
+
trajectory?: any;
|
|
11
|
+
angle: number;
|
|
12
|
+
constructor(lines: LineSegment[], itemList: any[], z: number, trajectory?: any);
|
|
13
|
+
init(): Promise<void>;
|
|
14
|
+
private createGeometryByLines;
|
|
15
|
+
getDoorAll(lines: LineSegment<LineUserData>[]): LineSegment<LineUserData>[];
|
|
16
|
+
buildPlane(lines: LineSegment<LineUserData>[]): void;
|
|
17
|
+
wallGroup: Group | null;
|
|
18
|
+
/** 构建墙壁
|
|
19
|
+
*/
|
|
20
|
+
buildWall(): Promise<void>;
|
|
21
|
+
/** 获取模型
|
|
22
|
+
* @param item
|
|
23
|
+
* @param walls
|
|
24
|
+
*/
|
|
25
|
+
getModel(item: any): Promise<void>;
|
|
26
|
+
/** 构建物品模型
|
|
27
|
+
*/
|
|
28
|
+
buildItem(): Promise<void>;
|
|
29
|
+
static itemParse(item: any): {
|
|
30
|
+
geometry: THREE.ExtrudeGeometry;
|
|
31
|
+
box: THREE.LineSegments<THREE.EdgesGeometry<THREE.ExtrudeGeometry>, THREE.LineBasicMaterial, THREE.Object3DEventMap>;
|
|
32
|
+
center: THREE.Vector3;
|
|
33
|
+
category: any;
|
|
34
|
+
angle: number;
|
|
35
|
+
info: {
|
|
36
|
+
center: THREE.Vector3;
|
|
37
|
+
start: THREE.Vector3;
|
|
38
|
+
end: THREE.Vector3;
|
|
39
|
+
length: number;
|
|
40
|
+
}[];
|
|
41
|
+
} | null;
|
|
42
|
+
}
|