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.
Files changed (195) hide show
  1. package/README.md +6 -0
  2. package/package.json +50 -0
  3. package/src/App.vue.d.ts +2 -0
  4. package/src/DomEventRegister.js +1 -0
  5. package/src/api/getSocket.d.ts +1 -0
  6. package/src/api/index.d.ts +27 -0
  7. package/src/api/type.d.ts +46 -0
  8. package/src/build.js +1 -0
  9. package/src/components/DragContainer.vue.d.ts +48 -0
  10. package/src/components/NumberEditor.vue.d.ts +33 -0
  11. package/src/constants.d.ts +11 -0
  12. package/src/demo.d.ts +1 -0
  13. package/src/dxf-system/DxfSystem.d.ts +26 -0
  14. package/src/dxf-system/build.d.ts +94 -0
  15. package/src/dxf-system/components/CorrectionDxf.d.ts +44 -0
  16. package/src/dxf-system/components/Dxf.d.ts +96 -0
  17. package/src/dxf-system/components/ThreeVJia.d.ts +33 -0
  18. package/src/dxf-system/components/Variable.d.ts +41 -0
  19. package/src/dxf-system/index.d.ts +2 -0
  20. package/src/dxf-system/plugins/editor/Command/ClippingLine.d.ts +30 -0
  21. package/src/dxf-system/plugins/editor/Command/Command.d.ts +346 -0
  22. package/src/dxf-system/plugins/editor/Command/DefaultCommand.d.ts +56 -0
  23. package/src/dxf-system/plugins/editor/Command/DeleteSelectLine.d.ts +25 -0
  24. package/src/dxf-system/plugins/editor/Command/DrawBalconyRailing.d.ts +12 -0
  25. package/src/dxf-system/plugins/editor/Command/DrawBeam.d.ts +12 -0
  26. package/src/dxf-system/plugins/editor/Command/DrawDoorLine.d.ts +9 -0
  27. package/src/dxf-system/plugins/editor/Command/DrawHole.d.ts +67 -0
  28. package/src/dxf-system/plugins/editor/Command/DrawLine.d.ts +41 -0
  29. package/src/dxf-system/plugins/editor/Command/DrawPillar.d.ts +12 -0
  30. package/src/dxf-system/plugins/editor/Command/DrawWindow.d.ts +12 -0
  31. package/src/dxf-system/plugins/editor/Command/ManualDistance.d.ts +23 -0
  32. package/src/dxf-system/plugins/editor/Command/MergeLine.d.ts +33 -0
  33. package/src/dxf-system/plugins/editor/Command/PointDrag/index.d.ts +38 -0
  34. package/src/dxf-system/plugins/editor/Command/PointDrag/modifyDoor.d.ts +40 -0
  35. package/src/dxf-system/plugins/editor/Command/PointDrag/modifyLine.d.ts +34 -0
  36. package/src/dxf-system/plugins/editor/Command/PointDrag/modifyWindow.d.ts +25 -0
  37. package/src/dxf-system/plugins/editor/Command/PropertiesPanel.d.ts +33 -0
  38. package/src/dxf-system/plugins/editor/Command/RayDistance.d.ts +23 -0
  39. package/src/dxf-system/plugins/editor/Command/SelectAll.d.ts +30 -0
  40. package/src/dxf-system/plugins/editor/Command/TwoLineConnectionLine.d.ts +33 -0
  41. package/src/dxf-system/plugins/editor/Command/TwoPointConnection.d.ts +33 -0
  42. package/src/dxf-system/plugins/editor/Command/VerticalCorr.d.ts +66 -0
  43. package/src/dxf-system/plugins/editor/Command/VerticalCorrContinue.d.ts +35 -0
  44. package/src/dxf-system/plugins/editor/Command/ViewAngle.d.ts +21 -0
  45. package/src/dxf-system/plugins/editor/Editor.d.ts +56 -0
  46. package/src/dxf-system/plugins/editor/RenderManager.d.ts +101 -0
  47. package/src/dxf-system/plugins/editor/index.d.ts +9 -0
  48. package/src/dxf-system/plugins/editor/pages/EditorTool/EditorTool.vue.d.ts +7 -0
  49. package/src/dxf-system/plugins/editor/pages/EditorTool/EditorToolContent.vue.d.ts +7 -0
  50. package/src/dxf-system/plugins/editor/pages/PropertiesPanel.vue.d.ts +18 -0
  51. package/src/dxf-system/plugins/editor/pages/components/Button.vue.d.ts +17 -0
  52. package/src/dxf-system/plugins/editor/pages/components/Input.vue.d.ts +13 -0
  53. package/src/dxf-system/plugins/editor/pages/components/ToolToggle.vue.d.ts +20 -0
  54. package/src/dxf-system/plugins/editor/type.d.ts +11 -0
  55. package/src/dxf-system/plugins/editor/us-service/DragControlPoint.d.ts +48 -0
  56. package/src/dxf-system/plugins/editor/us-service/LineSelector.d.ts +44 -0
  57. package/src/dxf-system/plugins/editor/us-service/PointerFollowMove.d.ts +86 -0
  58. package/src/dxf-system/plugins/editor/us-service/SnapController.d.ts +32 -0
  59. package/src/dxf-system/plugins/editor/utils/Wall2D.d.ts +10 -0
  60. package/src/dxf-system/plugins/model3d/components/DxfLineModel.d.ts +14 -0
  61. package/src/dxf-system/plugins/model3d/components/WhiteModel.d.ts +61 -0
  62. package/src/dxf-system/plugins/model3d/components/index.d.ts +2 -0
  63. package/src/dxf-system/plugins/model3d/index.d.ts +11 -0
  64. package/src/dxf-system/plugins/renderer/components/DomContainer.d.ts +13 -0
  65. package/src/dxf-system/plugins/renderer/components/DomEventRegister.d.ts +116 -0
  66. package/src/dxf-system/plugins/renderer/components/EventInput.d.ts +74 -0
  67. package/src/dxf-system/plugins/renderer/components/ModelDataRender.d.ts +13 -0
  68. package/src/dxf-system/plugins/renderer/components/Renderer.d.ts +100 -0
  69. package/src/dxf-system/plugins/renderer/components/index.d.ts +5 -0
  70. package/src/dxf-system/plugins/renderer/index.d.ts +13 -0
  71. package/src/dxf-system/type.d.ts +218 -0
  72. package/src/dxf-system/utils/BayWindowHelper.d.ts +58 -0
  73. package/src/dxf-system/utils/BoundExt.d.ts +51 -0
  74. package/src/dxf-system/utils/DoorFind.d.ts +44 -0
  75. package/src/dxf-system/utils/DoubleWallFinder.d.ts +24 -0
  76. package/src/dxf-system/utils/HeightQuery.d.ts +12 -0
  77. package/src/dxf-system/utils/LineGroupType.d.ts +125 -0
  78. package/src/dxf-system/utils/LoadModel.d.ts +7 -0
  79. package/src/dxf-system/utils/RunJianPipeline.d.ts +92 -0
  80. package/src/dxf-system/utils/SceneAutoGenerat.d.ts +42 -0
  81. package/src/dxf-system/utils/ThreeVJiaPipeline.d.ts +154 -0
  82. package/src/dxf-system/utils/WallGroupManager.d.ts +27 -0
  83. package/src/dxf-system/utils/WallHole.d.ts +134 -0
  84. package/src/dxf-system/utils/WallHoleDrawData.d.ts +31 -0
  85. package/src/dxf-system/utils/ZHouseMockData.d.ts +127 -0
  86. package/src/dxf-system/utils/cad/DxfDataPlugin.d.ts +20 -0
  87. package/src/dxf-system/utils/cad/DxfDrawPlugin.d.ts +13 -0
  88. package/src/dxf-system/utils/cad/draw-data.d.ts +43 -0
  89. package/src/dxf-system/utils/cad/draw-dxf-image.d.ts +2 -0
  90. package/src/dxf-system/utils/cad/draw-dxf-string.d.ts +3 -0
  91. package/src/dxf-system/utils/cad/index.d.ts +143 -0
  92. package/src/dxf-system/utils/clipping-double-wall.d.ts +7 -0
  93. package/src/dxf-system/utils/draw-helper.d.ts +6 -0
  94. package/src/dxf-system/utils/find-discrete.d.ts +26 -0
  95. package/src/dxf-system/utils/find-rooms.d.ts +16 -0
  96. package/src/dxf-system/utils/get-win-draw-data.d.ts +18 -0
  97. package/src/dxf-system/utils/index.d.ts +8 -0
  98. package/src/dxf-system/utils/line-pipeline/builtin/axis-align-corr.d.ts +16 -0
  99. package/src/dxf-system/utils/line-pipeline/builtin/beam-support-line.d.ts +3 -0
  100. package/src/dxf-system/utils/line-pipeline/builtin/bound-ext.d.ts +8 -0
  101. package/src/dxf-system/utils/line-pipeline/builtin/build-group/bay-window.d.ts +7 -0
  102. package/src/dxf-system/utils/line-pipeline/builtin/build-group/double-wall.d.ts +6 -0
  103. package/src/dxf-system/utils/line-pipeline/builtin/build-group/index.d.ts +7 -0
  104. package/src/dxf-system/utils/line-pipeline/builtin/door-space-handle.d.ts +5 -0
  105. package/src/dxf-system/utils/line-pipeline/builtin/door-to-hole.d.ts +9 -0
  106. package/src/dxf-system/utils/line-pipeline/builtin/double-wall-alignment.d.ts +7 -0
  107. package/src/dxf-system/utils/line-pipeline/builtin/index.d.ts +39 -0
  108. package/src/dxf-system/utils/line-pipeline/builtin/init.d.ts +8 -0
  109. package/src/dxf-system/utils/line-pipeline/builtin/remove-room-sundries.d.ts +3 -0
  110. package/src/dxf-system/utils/line-pipeline/builtin/remove-short-double-wall.d.ts +6 -0
  111. package/src/dxf-system/utils/line-pipeline/builtin/wall-height-handle.d.ts +8 -0
  112. package/src/dxf-system/utils/line-pipeline/index.d.ts +22 -0
  113. package/src/dxf-system/utils/remove-dangline.d.ts +7 -0
  114. package/src/dxf-system/utils/tools.d.ts +91 -0
  115. package/src/index.css +1 -0
  116. package/src/index.js +1 -0
  117. package/src/index2.js +1 -0
  118. package/src/index3.js +1 -0
  119. package/src/main.d.ts +0 -0
  120. package/src/pages/CubeView.vue.d.ts +4 -0
  121. package/src/pages/DxfPreview.vue.d.ts +9 -0
  122. package/src/pages/Editor.vue.d.ts +8 -0
  123. package/src/pages/ExportGLB.vue.d.ts +2 -0
  124. package/src/pages/ImagePreview.vue.d.ts +9 -0
  125. package/src/pages/ModelView.vue.d.ts +11 -0
  126. package/src/pages/Setting.vue.d.ts +6 -0
  127. package/src/pages/Todo.vue.d.ts +2 -0
  128. package/src/pages/WallView.vue.d.ts +9 -0
  129. package/src/pages/WindowManager.vue.d.ts +2 -0
  130. package/src/pages/buildJson.vue.d.ts +4 -0
  131. package/src/pages/modelCarrier/index.vue.d.ts +4 -0
  132. package/src/router/index.d.ts +2 -0
  133. package/src/utils/EventDispatcher.d.ts +18 -0
  134. package/src/utils/algorithms/AlignToParallelSegments.d.ts +25 -0
  135. package/src/utils/algorithms/AxisAlignCorr.d.ts +38 -0
  136. package/src/utils/algorithms/Box2.d.ts +96 -0
  137. package/src/utils/algorithms/CheckPointCloudContinuity.d.ts +63 -0
  138. package/src/utils/algorithms/ConstraintSystem.d.ts +17 -0
  139. package/src/utils/algorithms/ConvexHullGraham.d.ts +16 -0
  140. package/src/utils/algorithms/Debouncing.d.ts +10 -0
  141. package/src/utils/algorithms/LineIndexGenerator.d.ts +12 -0
  142. package/src/utils/algorithms/LineQueryer.d.ts +42 -0
  143. package/src/utils/algorithms/LineSegment.d.ts +258 -0
  144. package/src/utils/algorithms/LineSegmentSpatialHash.d.ts +86 -0
  145. package/src/utils/algorithms/LineSegmentUtils.d.ts +185 -0
  146. package/src/utils/algorithms/Map.d.ts +38 -0
  147. package/src/utils/algorithms/MaxiCircles.d.ts +15 -0
  148. package/src/utils/algorithms/MiniCircles.d.ts +57 -0
  149. package/src/utils/algorithms/OBB.d.ts +30 -0
  150. package/src/utils/algorithms/PCSparseOctree.d.ts +56 -0
  151. package/src/utils/algorithms/Pipeline.d.ts +20 -0
  152. package/src/utils/algorithms/Point.d.ts +271 -0
  153. package/src/utils/algorithms/PointSpatialHash.d.ts +149 -0
  154. package/src/utils/algorithms/PointUtils.d.ts +47 -0
  155. package/src/utils/algorithms/Polygon.d.ts +164 -0
  156. package/src/utils/algorithms/PolygonUtils.d.ts +9 -0
  157. package/src/utils/algorithms/Quadtree.d.ts +89 -0
  158. package/src/utils/algorithms/Rectangle.d.ts +62 -0
  159. package/src/utils/algorithms/UndirectedGraph.d.ts +124 -0
  160. package/src/utils/algorithms/UnionFindSet.d.ts +12 -0
  161. package/src/utils/algorithms/ccw.d.ts +2 -0
  162. package/src/utils/algorithms/lazy.d.ts +14 -0
  163. package/src/utils/algorithms/precision.d.ts +3 -0
  164. package/src/utils/algorithms/stepElimination.d.ts +6 -0
  165. package/src/utils/algorithms/uuid.d.ts +1 -0
  166. package/src/utils/command/CommandFlow.d.ts +45 -0
  167. package/src/utils/command/CommandSystem.d.ts +96 -0
  168. package/src/utils/command/index.d.ts +2 -0
  169. package/src/utils/decorators/measure-time.d.ts +5 -0
  170. package/src/utils/ecs/Component.d.ts +18 -0
  171. package/src/utils/ecs/Container.d.ts +47 -0
  172. package/src/utils/ecs/index.d.ts +4 -0
  173. package/src/utils/geometry-manager/GeometryManager.d.ts +2 -0
  174. package/src/utils/index.d.ts +25 -0
  175. package/src/utils/modelScenario/bayWindow.d.ts +35 -0
  176. package/src/utils/modelScenario/scenario.d.ts +92 -0
  177. package/src/utils/three-object-3d/ExtrudeMesh.d.ts +11 -0
  178. package/src/utils/three-object-3d/LineAlignmentGuide.d.ts +20 -0
  179. package/src/utils/three-object-3d/Lines.d.ts +25 -0
  180. package/src/utils/three-object-3d/Lines2.d.ts +22 -0
  181. package/src/utils/three-object-3d/Shape2D.d.ts +61 -0
  182. package/src/utils/tools/GCHandle.d.ts +12 -0
  183. package/src/utils/tools/Gltf.d.ts +7 -0
  184. package/src/utils/tools/SnapLine.d.ts +19 -0
  185. package/src/utils/tools/StorageHelper.d.ts +8 -0
  186. package/src/utils/tools/clone-user-data.d.ts +7 -0
  187. package/src/utils/tools/create-html.d.ts +9 -0
  188. package/src/utils/tools/create-promise.d.ts +5 -0
  189. package/src/utils/tools/createVueApp.d.ts +1 -0
  190. package/src/utils/tools/download.d.ts +1 -0
  191. package/src/utils/tools/get-json.d.ts +5 -0
  192. package/src/utils/tools/include.d.ts +1 -0
  193. package/src/utils/tools/is-mobile.d.ts +2 -0
  194. package/src/utils/tools/repetitive-task.d.ts +1 -0
  195. package/src/utils/tools/selectLocal-file.d.ts +7 -0
@@ -0,0 +1,346 @@
1
+ import { Component } from '../../../../utils/ecs';
2
+ import { Editor } from '../Editor';
3
+ import { EventInput, Renderer } from '../../renderer/components';
4
+ import { CommandFlow, CommandManager } from '../../../../utils/command';
5
+ import { AdsorptionResult, RenderManager } from '../RenderManager';
6
+ import { DefaultCommand } from './DefaultCommand';
7
+ import { LineSegment } from '../../../../utils/algorithms/LineSegment';
8
+ import { Point } from '../../../../utils/algorithms/Point';
9
+ import { Properties } from 'csstype';
10
+ import * as THREE from "three";
11
+ export declare class Command<TEventMap extends {} = {}> extends Component<TEventMap & {}> {
12
+ static interruptKeys: string[];
13
+ static confirmKeys: string[];
14
+ static shortcutKeys: string[];
15
+ private _renderer?;
16
+ get renderer(): Renderer;
17
+ private _domElement?;
18
+ get domElement(): HTMLDivElement;
19
+ private _editor?;
20
+ get editor(): Editor;
21
+ private _eventInput?;
22
+ get eventInput(): EventInput;
23
+ private _renderManager?;
24
+ get renderManager(): RenderManager;
25
+ private _commandManager?;
26
+ get commandManager(): CommandManager;
27
+ private _default?;
28
+ get default(): DefaultCommand;
29
+ get commandName(): string;
30
+ get interruptKeys(): string[];
31
+ get shortcutKeys(): string[];
32
+ get confirmKeys(): string[];
33
+ container: THREE.Group<THREE.Object3DEventMap>;
34
+ commandFlow?: CommandFlow;
35
+ constructor();
36
+ /** 快捷创建命令流
37
+ * @param opt
38
+ * @returns
39
+ */
40
+ initCommandFlow(opt?: {
41
+ shortcutKeys?: string[];
42
+ commandName?: string;
43
+ loop?: boolean;
44
+ writeOperationRecord?: boolean;
45
+ getStartData?: () => any;
46
+ }): CommandFlow;
47
+ /** 执行完成
48
+ */
49
+ protected onCompleted(_: any): void;
50
+ /** 回滚操作
51
+ * @param data
52
+ */
53
+ protected onRollback(data: any): any;
54
+ /** 撤回回滚
55
+ * @param lines
56
+ * @returns
57
+ */
58
+ protected onRevokeRollback(data: any): any;
59
+ /** 命令中断
60
+ * @param data
61
+ * @returns
62
+ */
63
+ protected onInterrupt(): void;
64
+ /**
65
+ * 取消命令
66
+ */
67
+ cancel(): void;
68
+ /**
69
+ * 创建中断处理命令节点
70
+ * @returns
71
+ */
72
+ createInterruptHanlder(): (next: any, data: any) => void;
73
+ get createInterrupt(): () => (next: any, data: any) => void;
74
+ /**
75
+ * 创建鼠标图标变化
76
+ * @param cursor
77
+ * @returns
78
+ */
79
+ createCursor(cursor: string): (next: any, data: any) => void;
80
+ /**
81
+ * 创建清理
82
+ * @returns
83
+ */
84
+ createFinally(keys?: string[]): () => void;
85
+ /**
86
+ * @param text
87
+ * @param color
88
+ * @param style
89
+ * @returns
90
+ */
91
+ formatText(text: string, color?: string, style?: string): string;
92
+ /** 设置鼠标样式
93
+ * @param cursor
94
+ */
95
+ setCursor(cursor: "circle" | "crosshair" | "auto" | "default" | "pointer" | "move" | "grab" | "grabbing" | "no-drop" | (string & {})): void;
96
+ COMMAND_END_NAME: string;
97
+ /** 添加命令结束处理函数
98
+ * @param cancels
99
+ */
100
+ addCommandEndHandle(...cancels: (() => void)[]): {
101
+ add: (cancel: () => void) => {
102
+ add: /*elided*/ any;
103
+ };
104
+ };
105
+ /** 按键模拟
106
+ * @param keys
107
+ */
108
+ buttonSimulation(keys: string[]): void;
109
+ private baseNormalLine;
110
+ /** 点的线段方向约束
111
+ * @description 点只能在线段方向和法线方向的轴上
112
+ * @param point
113
+ * @param startPoint
114
+ * @param baseLine
115
+ * @param baseNormalLine
116
+ * @returns
117
+ */
118
+ pointLineConstraint(point: Point, baseLine: LineSegment, normalStartPoint?: Point | null, baseNormalLine?: LineSegment): Point<Record<string, any>>;
119
+ /**
120
+ * 创建点跟随鼠标移动
121
+ * @param callBack
122
+ * @returns
123
+ */
124
+ createPointFollowMove(callBack: (point: Point, isAdsorb: boolean, line?: LineSegment, mode?: string) => void, opt?: {
125
+ targetLines?: LineSegment[];
126
+ }): {
127
+ destroy(): void;
128
+ setBaseLine(line: LineSegment | null, point: Point | null): void;
129
+ };
130
+ /** 创建顶点选择器
131
+ * @returns
132
+ */
133
+ createPointSelector(opt?: {
134
+ onMove?: (point: THREE.Vector3 | null) => void;
135
+ targetLines?: LineSegment[];
136
+ eventRecordNames?: string[];
137
+ }): {
138
+ readonly ended: boolean;
139
+ end: () => void;
140
+ next: (mode_: "all" | "line" | "point" | "empty" | "line_point" | "line_empty" | "point_empty" | "null") => Promise<{
141
+ point: Point;
142
+ line?: LineSegment;
143
+ } | null>;
144
+ setBaseLine(line: LineSegment<Record<string, any>> | null, point: Point | null): void;
145
+ points(mode_: "all" | "line" | "point" | "empty" | "line_point" | "line_empty" | "point_empty" | "null"): {
146
+ next(): Promise<{
147
+ value: {
148
+ point: Point;
149
+ line?: LineSegment;
150
+ };
151
+ done: boolean;
152
+ } | {
153
+ value: null;
154
+ done: boolean;
155
+ }>;
156
+ [Symbol.asyncIterator](): /*elided*/ any;
157
+ };
158
+ awaitEach(callBack: (result: {
159
+ point: Point<Record<string, any>>;
160
+ line?: LineSegment;
161
+ } | null) => void, mode_?: "all" | "line" | "point" | "empty" | "line_point" | "line_empty" | "point_empty" | "null"): Promise<{
162
+ readonly ended: boolean;
163
+ end: () => void;
164
+ next: (mode_: "all" | "line" | "point" | "empty" | "line_point" | "line_empty" | "point_empty" | "null") => Promise<{
165
+ point: Point;
166
+ line?: LineSegment;
167
+ } | null>;
168
+ setBaseLine(line: LineSegment<Record<string, any>> | null, point: Point | null): void;
169
+ points(mode_: "all" | "line" | "point" | "empty" | "line_point" | "line_empty" | "point_empty" | "null"): {
170
+ next(): Promise<{
171
+ value: {
172
+ point: Point;
173
+ line?: LineSegment;
174
+ };
175
+ done: boolean;
176
+ } | {
177
+ value: null;
178
+ done: boolean;
179
+ }>;
180
+ [Symbol.asyncIterator](): /*elided*/ any;
181
+ };
182
+ awaitEach(callBack: (result: {
183
+ point: Point<Record<string, any>>;
184
+ line?: LineSegment;
185
+ } | null) => void, mode_?: "all" | "line" | "point" | "empty" | "line_point" | "line_empty" | "point_empty" | "null"): Promise</*elided*/ any>;
186
+ }>;
187
+ };
188
+ /**
189
+ * 创建拖拽点
190
+ */
191
+ createDragPoint(point: Point, opt?: {
192
+ onChange?: (p: Point, opt: AdsorptionResult) => void;
193
+ onStart?: (p: Point) => void;
194
+ onEnd?: (p: Point) => void;
195
+ onEnter?: () => void;
196
+ onLeave?: () => void;
197
+ onClick?: () => void;
198
+ onDblClick?: () => void;
199
+ onLongTouch?: () => void;
200
+ auxiliaryLine?: boolean;
201
+ style?: Properties;
202
+ size?: number;
203
+ }): {
204
+ dragPointMesh: import('three/examples/jsm/renderers/CSS2DRenderer.js').CSS2DObject;
205
+ destroy: () => void;
206
+ setPoint(point: THREE.Vector3 | Point): void;
207
+ };
208
+ /**
209
+ * 创建点击点
210
+ */
211
+ createClickPoint(point: Point, onClick: () => void): () => void;
212
+ /**
213
+ * 等待一组按键按下, 具体按键来源,请查看 EventInput 和 DomEventRegister
214
+ * @param keys
215
+ * @param options
216
+ * @returns
217
+ */
218
+ awaitOnlyKeys(keys: string[], options?: {
219
+ condition?: () => boolean;
220
+ once?: boolean;
221
+ eventRecordNames?: string[];
222
+ }): Promise<boolean> & {
223
+ cancel: () => void;
224
+ [Symbol.asyncIterator](): {
225
+ next(): Promise<{
226
+ value: true;
227
+ done: boolean;
228
+ } | {
229
+ value: undefined;
230
+ done: boolean;
231
+ }>;
232
+ };
233
+ awaitEach(callBack: () => void): Promise</*elided*/ any>;
234
+ };
235
+ /** 快捷创建vue app
236
+ * @param com
237
+ * @param props
238
+ * @returns
239
+ */
240
+ createVueApp(com: any, props?: any, parent?: HTMLElement): () => void;
241
+ /** 打开修改宽度页面
242
+ * @param content
243
+ * @param defaultWidth
244
+ * @returns
245
+ */
246
+ openWidthEditor(opt?: {
247
+ defaultWidth?: number;
248
+ maxWidth?: number;
249
+ minWidth?: number;
250
+ title?: string;
251
+ showMin?: boolean;
252
+ showMax?: boolean;
253
+ showCancel?: boolean;
254
+ eventRecordNames?: string[];
255
+ }): Promise<any> & {
256
+ promise: Promise<any>;
257
+ close: () => void;
258
+ readonly ended: boolean;
259
+ };
260
+ /** 打开修改线段上点的位置
261
+ * @param drawLine
262
+ * @param defaultWidth
263
+ * @returns
264
+ */
265
+ openLinePointEditor(point: Point, line: LineSegment): Promise<any> & {
266
+ promise: Promise<any>;
267
+ close: () => void;
268
+ readonly ended: boolean;
269
+ };
270
+ /** 创建按钮
271
+ * @param opt
272
+ * @returns
273
+ */
274
+ createButton(opt?: {
275
+ text?: string;
276
+ visible?: boolean;
277
+ style?: Properties;
278
+ position?: Point | THREE.Vector3;
279
+ onClick?: () => void;
280
+ parent?: THREE.Object3D;
281
+ freedom?: boolean;
282
+ eventRecordNames?: string[];
283
+ }): import('three/examples/jsm/renderers/CSS2DRenderer.js').CSS2DObject & {
284
+ domElement: HTMLElement;
285
+ setText(text: string): void;
286
+ setPosition(position: Point | THREE.Vector3): void;
287
+ setPositionByTwoPointCenter(point1: Point | THREE.Vector3, point2: Point | THREE.Vector3): void;
288
+ };
289
+ /** 创建编辑按钮
290
+ * @param opt
291
+ */
292
+ createEditButton(opt?: {
293
+ text?: string;
294
+ visible?: boolean;
295
+ style?: Properties;
296
+ position?: Point | THREE.Vector3;
297
+ parent?: THREE.Object3D;
298
+ freedom?: boolean;
299
+ onClick?: () => void;
300
+ }): import('three/examples/jsm/renderers/CSS2DRenderer.js').CSS2DObject & {
301
+ domElement: HTMLElement;
302
+ setText(text: string): void;
303
+ setPosition(position: Point | THREE.Vector3): void;
304
+ setPositionByTwoPointCenter(point1: Point | THREE.Vector3, point2: Point | THREE.Vector3): void;
305
+ } & {
306
+ setText(text?: string): void;
307
+ };
308
+ /** 创建关闭按钮
309
+ * @param opt
310
+ */
311
+ createCloseButton(opt?: {
312
+ text?: string;
313
+ visible?: boolean;
314
+ style?: Properties;
315
+ position?: Point | THREE.Vector3;
316
+ parent?: THREE.Object3D;
317
+ freedom?: boolean;
318
+ onClick?: () => void;
319
+ }): import('three/examples/jsm/renderers/CSS2DRenderer.js').CSS2DObject & {
320
+ domElement: HTMLElement;
321
+ setText(text: string): void;
322
+ setPosition(position: Point | THREE.Vector3): void;
323
+ setPositionByTwoPointCenter(point1: Point | THREE.Vector3, point2: Point | THREE.Vector3): void;
324
+ } & {
325
+ setText(text?: string): void;
326
+ };
327
+ /** 创建确认按钮
328
+ * @param opt
329
+ */
330
+ createConfirmButton(opt?: {
331
+ text?: string;
332
+ visible?: boolean;
333
+ style?: Properties;
334
+ position?: Point | THREE.Vector3;
335
+ parent?: THREE.Object3D;
336
+ freedom?: boolean;
337
+ onClick?: () => void;
338
+ }): import('three/examples/jsm/renderers/CSS2DRenderer.js').CSS2DObject & {
339
+ domElement: HTMLElement;
340
+ setText(text: string): void;
341
+ setPosition(position: Point | THREE.Vector3): void;
342
+ setPositionByTwoPointCenter(point1: Point | THREE.Vector3, point2: Point | THREE.Vector3): void;
343
+ } & {
344
+ setText(text?: string): void;
345
+ };
346
+ }
@@ -0,0 +1,56 @@
1
+ import { LineSegment } from '../../../../utils/algorithms/LineSegment';
2
+ import { Command } from './Command';
3
+ import { LineUserData } from '../../../type';
4
+ import * as THREE from "three";
5
+ export declare class DefaultCommand extends Command<{
6
+ selectLineChange: {};
7
+ selectWinLineChange: {};
8
+ selectHoleLineChange: {};
9
+ }> {
10
+ static name: string;
11
+ container: THREE.Group<THREE.Object3DEventMap>;
12
+ onAddFromParent(): void;
13
+ selectLines: LineSegment<LineUserData>[];
14
+ selectLineObject3D: THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>;
15
+ selectHoleLine: null | LineSegment;
16
+ /** 设置选择的孔洞线
17
+ * @param line
18
+ * @param index
19
+ */
20
+ setSelectHoleLine(line: LineSegment): void;
21
+ /** 添加选择的线段
22
+ * @param lineSegment
23
+ */
24
+ addSelectLine(...lineSegments: LineSegment[]): void;
25
+ /** 移除选择的线段
26
+ * @param lineSegment
27
+ */
28
+ removeSelectLine(lineSegment: LineSegment): void;
29
+ /** 移除所有选中线段
30
+ */
31
+ removeSelectLineAll(): void;
32
+ /** 获取选择的数据
33
+ * @returns
34
+ */
35
+ getSelectData(): LineSegment<Record<string, any>>[] | LineSegment<LineUserData>[];
36
+ private _timer;
37
+ private material1;
38
+ private material2;
39
+ /** 更新选择的线段
40
+ */
41
+ updateSelectLinesGeometry(): void;
42
+ /** 显示选择框
43
+ */
44
+ showSelectBox(): void;
45
+ /** 开始执行
46
+ * @param next
47
+ */
48
+ start(): void;
49
+ /** 开始执行
50
+ */
51
+ startMobile(): Promise<void>;
52
+ /**
53
+ * 清理
54
+ */
55
+ finally(): void;
56
+ }
@@ -0,0 +1,25 @@
1
+ import { Command } from './Command';
2
+ import { ComponentContainer } from '../../../../utils/ecs';
3
+ import { LineSegment } from '../../../../utils/algorithms/LineSegment';
4
+ /**
5
+ * 删除选择的线段
6
+ */
7
+ export declare class DeleteSelectLine extends Command<{}> {
8
+ static name: string;
9
+ static shortcutKeys: string[];
10
+ static commandName: string;
11
+ onAddFromParent(parent: ComponentContainer): void;
12
+ /**
13
+ *
14
+ */
15
+ private start;
16
+ /** 回滚操作
17
+ * @param data
18
+ */
19
+ onRollback(lines: LineSegment[]): LineSegment<Record<string, any>>[];
20
+ /** 撤回回滚
21
+ * @param data
22
+ * @returns
23
+ */
24
+ onRevokeRollback(lines: LineSegment[]): LineSegment<Record<string, any>>[];
25
+ }
@@ -0,0 +1,12 @@
1
+ import { Point } from '../../../../utils/algorithms/Point';
2
+ import { DrawLine } from './DrawLine.tsx';
3
+ export declare class DrawBalconyRailing extends DrawLine {
4
+ static name: string;
5
+ static withdrawalKeys: string[];
6
+ static shortcutKeys: string[];
7
+ static commandName: string;
8
+ /** 结束, 汇总结果
9
+ * @param points
10
+ */
11
+ protected end(next: any, points: Point[]): void;
12
+ }
@@ -0,0 +1,12 @@
1
+ import { DrawLine } from './DrawLine';
2
+ import { Point } from '../../../../utils/algorithms/Point';
3
+ export declare class DrawBeam extends DrawLine {
4
+ static name: string;
5
+ static withdrawalKeys: string[];
6
+ static shortcutKeys: string[];
7
+ static commandName: string;
8
+ /** 结束, 汇总结果
9
+ * @param points
10
+ */
11
+ protected end(next: any, points: Point[]): void;
12
+ }
@@ -0,0 +1,9 @@
1
+ import { HoleType } from '../../../type';
2
+ import { DrawHole, DrawHoleData } from './DrawHole';
3
+ export declare class DrawDoorLine extends DrawHole {
4
+ static name: string;
5
+ static shortcutKeys: string[];
6
+ static commandName: string;
7
+ holeType: HoleType;
8
+ end(next: any, data: DrawHoleData): void;
9
+ }
@@ -0,0 +1,67 @@
1
+ import { Command } from './Command';
2
+ import { LineSegment } from '../../../../utils/algorithms/LineSegment';
3
+ import { ComponentContainer } from '../../../../utils/ecs';
4
+ import { HoleData, HoleStorageType, HoleType, LineUserData } from '../../../type';
5
+ import { Point } from '../../../../utils';
6
+ import { LineType } from '../us-service/PointerFollowMove.ts';
7
+ import * as THREE from "three";
8
+ export interface DrawHoleData {
9
+ line: LineSegment<LineUserData>;
10
+ holeData: HoleData;
11
+ }
12
+ /**
13
+ * 孔洞绘制类
14
+ */
15
+ export declare class DrawHole extends Command<{
16
+ pointerMove: {
17
+ point: THREE.Vector3;
18
+ line?: LineSegment | null;
19
+ hole?: LineSegment | null;
20
+ };
21
+ }> {
22
+ static name: string;
23
+ container: THREE.Group<THREE.Object3DEventMap>;
24
+ static shortcutKeys: string[];
25
+ static commandName: string;
26
+ defaultWidth: number;
27
+ defaultHeight: number;
28
+ defaultGroundClearance: number;
29
+ holeType?: HoleType;
30
+ holeKey: HoleStorageType;
31
+ lineSelectorType: LineType;
32
+ showEditWidth: boolean;
33
+ showEditHeight: boolean;
34
+ showEditGroundClearance: boolean;
35
+ onAddFromParent(parent: ComponentContainer): void;
36
+ editWidth(): Promise<void>;
37
+ editHeight(): Promise<void>;
38
+ editGroundClearance(): Promise<void>;
39
+ /**
40
+ * 移动端需要选择一个点, 用来创建拖拽点
41
+ */
42
+ selectFirstPoint(next: any): Promise<void>;
43
+ private updateState;
44
+ private registerSizeModifier;
45
+ /** 选择开始点
46
+ * @param next
47
+ */
48
+ selectLine(next: any, point?: Point): Promise<void>;
49
+ /** 结束处理
50
+ * @param next
51
+ * @param data
52
+ */
53
+ end(next: any, data: DrawHoleData): void;
54
+ /** 执行完成
55
+ * @param data 默认结构为Data
56
+ */
57
+ onCompleted(data: any): void;
58
+ /** 回滚操作
59
+ * @param data 默认结构为Data
60
+ */
61
+ protected onRollback(data: any): any;
62
+ /** 撤回回滚
63
+ * @param data 默认结构为Data
64
+ * @returns
65
+ */
66
+ protected onRevokeRollback(data: any): any;
67
+ }
@@ -0,0 +1,41 @@
1
+ import { Point } from '../../../../utils/algorithms/Point';
2
+ import { LineSegment } from '../../../../utils/algorithms/LineSegment';
3
+ import { Command } from './Command';
4
+ import { ComponentContainer } from '../../../../utils/ecs';
5
+ import * as THREE from "three";
6
+ export declare class DrawLine extends Command<{
7
+ pointerMove: {
8
+ point: THREE.Vector3;
9
+ };
10
+ appendLine: {
11
+ points: THREE.Vector3[];
12
+ };
13
+ }> {
14
+ static name: string;
15
+ container: THREE.Group<THREE.Object3DEventMap>;
16
+ static withdrawalKeys: string[];
17
+ static shortcutKeys: string[];
18
+ static commandName: string;
19
+ onAddFromParent(parent: ComponentContainer): void;
20
+ /**
21
+ * 移动端需要选择一个点, 用来创建拖拽点
22
+ */
23
+ selectFirstPoint(next: any): Promise<void>;
24
+ selectPoint(next: any, point?: Point): Promise<void>;
25
+ /** 结束, 汇总结果
26
+ * @param points
27
+ */
28
+ protected end(next: any, points: Point[]): void;
29
+ /** 执行完成
30
+ */
31
+ protected onCompleted(lines: LineSegment[]): void;
32
+ /** 回滚操作
33
+ * @param data
34
+ */
35
+ protected onRollback(lines: LineSegment[]): LineSegment<Record<string, any>>[];
36
+ /** 撤回回滚
37
+ * @param lines
38
+ * @returns
39
+ */
40
+ protected onRevokeRollback(lines: LineSegment[]): LineSegment<Record<string, any>>[];
41
+ }
@@ -0,0 +1,12 @@
1
+ import { DrawLine } from './DrawLine';
2
+ import { Point } from '../../../../utils/algorithms/Point';
3
+ export declare class DrawPillar extends DrawLine {
4
+ static name: string;
5
+ static withdrawalKeys: string[];
6
+ static shortcutKeys: string[];
7
+ static commandName: string;
8
+ /** 结束, 汇总结果
9
+ * @param points
10
+ */
11
+ protected end(next: any, points: Point[]): void;
12
+ }
@@ -0,0 +1,12 @@
1
+ import { HoleStorageType, HoleType } from '../../../type';
2
+ import { DrawHole, DrawHoleData } from './DrawHole';
3
+ import * as THREE from "three";
4
+ export declare class DrawWindow extends DrawHole {
5
+ static name: string;
6
+ container: THREE.Group<THREE.Object3DEventMap>;
7
+ static shortcutKeys: string[];
8
+ static commandName: string;
9
+ holeType: HoleType;
10
+ holeKey: HoleStorageType;
11
+ end(next: any, data: DrawHoleData): void;
12
+ }
@@ -0,0 +1,23 @@
1
+ import { Command } from './Command';
2
+ import { ComponentContainer } from '../../../../utils/ecs';
3
+ import { Point } from '../../../../utils/algorithms/Point';
4
+ import * as THREE from "three";
5
+ /**
6
+ * 生成长度标记辅助虚线
7
+ */
8
+ export declare function buildDashedHelperLine(start: Point, end: Point, offset?: number): Point[];
9
+ export declare class ManualDistance extends Command<{}> {
10
+ static name: string;
11
+ container: THREE.Group<THREE.Object3DEventMap>;
12
+ static shortcutKeys: string[];
13
+ static commandName: string;
14
+ onAddFromParent(parent: ComponentContainer): void;
15
+ /** 选择开始点
16
+ * @param next
17
+ */
18
+ private selectPointStart;
19
+ /** 射线
20
+ * @param points
21
+ */
22
+ private ray;
23
+ }
@@ -0,0 +1,33 @@
1
+ import { Command } from './Command';
2
+ import { ComponentContainer } from '../../../../utils/ecs';
3
+ /**
4
+ * 合并同向线段
5
+ */
6
+ export declare class MergeLine extends Command<{}> {
7
+ static name: string;
8
+ static shortcutKeys: string[];
9
+ static commandName: string;
10
+ onAddFromParent(parent: ComponentContainer): void;
11
+ /**
12
+ * 进入命令约束
13
+ */
14
+ private constraint;
15
+ /** 开始
16
+ * @param next
17
+ * @todo 合并所有
18
+ */
19
+ private mergeLines;
20
+ /** 执行完成
21
+ * @param data
22
+ */
23
+ private completed;
24
+ /** 回滚操作
25
+ * @param data
26
+ */
27
+ private rollback;
28
+ /** 撤回回滚
29
+ * @param lines
30
+ * @returns
31
+ */
32
+ private revokeRollback;
33
+ }