mxdraw 0.0.1

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 (49) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +0 -0
  3. package/dist/lib/MxCore/MxDrawObject/MxDrawObject.js +242 -0
  4. package/dist/lib/MxCore/MxDrawObject/MxDrawObject.js.map +1 -0
  5. package/dist/lib/MxCore/MxFun/MxFun.js +408 -0
  6. package/dist/lib/MxCore/MxFun/MxFun.js.map +1 -0
  7. package/dist/lib/MxCore/MxJigCmdManager/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js +93 -0
  8. package/dist/lib/MxCore/MxJigCmdManager/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js.map +1 -0
  9. package/dist/lib/MxCore/MxJigCmdManager/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.js +139 -0
  10. package/dist/lib/MxCore/MxJigCmdManager/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.js.map +1 -0
  11. package/dist/lib/MxCore/MxJigCmdManager/index.js +8 -0
  12. package/dist/lib/MxCore/MxJigCmdManager/index.js.map +1 -0
  13. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js +205 -0
  14. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js.map +1 -0
  15. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js +91 -0
  16. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js.map +1 -0
  17. package/dist/lib/MxModule.js +31 -0
  18. package/dist/lib/MxModule.js.map +1 -0
  19. package/dist/lib/mxdraw.js +31 -0
  20. package/dist/lib/mxdraw.js.map +1 -0
  21. package/dist/lib/tools/algorithm/math.js +17 -0
  22. package/dist/lib/tools/algorithm/math.js.map +1 -0
  23. package/dist/lib/tools/algorithm/random.js +14 -0
  24. package/dist/lib/tools/algorithm/random.js.map +1 -0
  25. package/dist/lib/tools/dom/create.js +47 -0
  26. package/dist/lib/tools/dom/create.js.map +1 -0
  27. package/dist/lib/tools/formatting/index.js +21 -0
  28. package/dist/lib/tools/formatting/index.js.map +1 -0
  29. package/dist/lib/tools/three/index.js +27 -0
  30. package/dist/lib/tools/three/index.js.map +1 -0
  31. package/dist/mxdraw.es5.js +112943 -0
  32. package/dist/mxdraw.es5.js.map +1 -0
  33. package/dist/mxdraw.umd.js +112951 -0
  34. package/dist/mxdraw.umd.js.map +1 -0
  35. package/dist/types/MxCore/MxDrawObject/MxDrawObject.d.ts +195 -0
  36. package/dist/types/MxCore/MxFun/MxFun.d.ts +328 -0
  37. package/dist/types/MxCore/MxJigCmdManager/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.d.ts +69 -0
  38. package/dist/types/MxCore/MxJigCmdManager/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.d.ts +101 -0
  39. package/dist/types/MxCore/MxJigCmdManager/index.d.ts +3 -0
  40. package/dist/types/MxModule/MxThreeJS/MxThreeJS.d.ts +126 -0
  41. package/dist/types/MxModule/MxThreeJS/MxThreeJS.mixin.d.ts +2 -0
  42. package/dist/types/MxModule.d.ts +13 -0
  43. package/dist/types/mxdraw.d.ts +8 -0
  44. package/dist/types/tools/algorithm/math.d.ts +10 -0
  45. package/dist/types/tools/algorithm/random.d.ts +6 -0
  46. package/dist/types/tools/dom/create.d.ts +22 -0
  47. package/dist/types/tools/formatting/index.d.ts +7 -0
  48. package/dist/types/tools/three/index.d.ts +11 -0
  49. package/package.json +127 -0
@@ -0,0 +1,195 @@
1
+ export default class MxDrawObject implements MxDrawObjectType {
2
+ constructor(Mxdraw: MxDrawObjectType);
3
+ /**
4
+ * 获取Three.js绘图场景
5
+ * @returns THREE.Scene
6
+ */
7
+ getScene(): THREE.Scene;
8
+ /**
9
+ * 获取Three.js相机对象
10
+ * @returns THREE.Camera
11
+ */
12
+ getCamera(): THREE.Camera;
13
+ /**
14
+ * 设置鼠标按下是否旋视区
15
+ * @param isRotate 是否旋视区
16
+ * @returns void
17
+ * @example
18
+ * ```typescript
19
+ * Mx.MxFun.getCurrentDraw().setMouseRightRotate(false)
20
+ * ```
21
+ *
22
+ */
23
+ setMouseRightRotate(isRotate?: boolean): void;
24
+ /**
25
+ * 得到全部显示所有图形所需要的显示的范围 ,Three.js的坐标系。world坐标。
26
+ * @returns {minPt: value,maxPt: value}
27
+ * @example
28
+ * ```typescript
29
+ * Mx.MxFun.getCurrentDraw().getFullDisplayRange()
30
+ * ```
31
+ */
32
+ getFullDisplayRange(): object;
33
+ /**
34
+ * 获取Canvas对象.
35
+ * @returns HTMLCanvasElement
36
+ */
37
+ getCanvas(): HTMLCanvasElement;
38
+ /**
39
+ * 通知Three.js更新显示
40
+ * @returns void
41
+ */
42
+ updateDisplay(): void;
43
+ /**
44
+ * 通知Three.js生成ImgeData显示I数据.
45
+ * @param fn 回调函数或者imageData
46
+ * @param param 函数载荷
47
+ * @returns void
48
+ * @example
49
+ * ```typescript
50
+ * Mx.MxFun.getCurrentDraw().createCanvasImageData((imageData)=> {
51
+ * console.log(imageData)
52
+ * })
53
+ * ```
54
+ */
55
+ createCanvasImageData(fn: (imageData: string) => void, param?: object): void;
56
+ /**
57
+ * 设置视区背景色,
58
+ * @param color 如0xFFFFFF 白色
59
+ * @returns void
60
+ * @example
61
+ * ```typescript
62
+ * Mx.MxFun.getCurrentDraw().setViewColor(0xFFFFFF)
63
+ * ```
64
+ */
65
+ setViewColor(color: number): void;
66
+ /**
67
+ * 设置视区背景色,
68
+ * @param width 宽度
69
+ * @param height 宽度
70
+ * @returns void
71
+ * @example
72
+ * ```typescript
73
+ * Mx.MxFun.getCurrentDraw().setSize(0xFFFFFF)
74
+ * ```
75
+ */
76
+ setSize(width: number, height: number): void;
77
+ /**
78
+ * 获取某屏幕点下的绘制对象,ptMouse是.,
79
+ * @param ptMouse THREE.Vector2 屏幕坐标
80
+ * @returns THREE.Intersection[]
81
+ * @example
82
+ * ```typescript
83
+ * Mx.MxFun.getCurrentDraw().getIntersectObjects(new THREE.Vector2(2, 3))
84
+ * ```
85
+ */
86
+ getIntersectObjects(ptMouse: THREE.Vector2): THREE.Intersection[];
87
+ /**
88
+ * 添加THREE.Object3D对象到当前场景
89
+ * @param obj THREE.Object3D
90
+ * @param isAddToSelect 默认值为true 是否把对象添加选择对象集中,调用 getIntersectObjects可以找到
91
+ * @returns void
92
+ * @example
93
+ * ```typescript
94
+ * Mx.MxFun.getCurrentDraw().addObject(new THREE.Object3D(), false)
95
+ * ```
96
+ */
97
+ addObject(obj: THREE.Object3D, isAddToSelect?: boolean): void;
98
+ /**
99
+ * 删除addObject函数添加的THREE.Object3D对象
100
+ * @param obj THREE.Object3D
101
+ * @param isRemoveSelectObject 默认值为true 删除选择集中的对象
102
+ * @returns void
103
+ * @example
104
+ * ```typescript
105
+ * Mx.MxFun.getCurrentDraw().removeObject(new THREE.Object3D(), false)
106
+ * ```
107
+ */
108
+ removeObject(obj: THREE.Object3D, isRemoveSelectObject?: boolean): void;
109
+ /**
110
+ * 把视区显示范围恢复到初始显示范围.
111
+ * @returns void
112
+ */
113
+ zoomInitialStates(): void;
114
+ /**
115
+ * 缩放当前显示范围,它是相对于当前显示范围进行缩放
116
+ * @param scale scale缩放比例
117
+ * @returns void
118
+ * @example
119
+ * ```typescript
120
+ * Mx.MxFun.getCurrentDraw().zoomScale(0.8)
121
+ * ```
122
+ */
123
+ zoomScale(scale: number): void;
124
+ /**
125
+ * 把当前显示范围移到指定的显示范围
126
+ * @param minPt 坐标1 THREE.Vector3
127
+ * @param maxPt 坐标2 THREE.Vector3
128
+ * @param isWorld 默认为felse DWG图纸坐标,设置为true是THREEJS坐标
129
+ * @returns void
130
+ * @example
131
+ * ```typescript
132
+ * Mx.MxFun.getCurrentDraw().zoomW(new THREE.Vector3(0,10,10), new THREE.Vector3(3,8,20), true)
133
+ * ```
134
+ */
135
+ zoomW(minPt: THREE.Vector3, maxPt: THREE.Vector3, isWorld?: boolean): void;
136
+ /**
137
+ * 把当前显示范围移到指定的位置,dCenX,dCenY是DWG图纸坐标。
138
+ * @param minPt DWG图纸坐标1 THREE.Vector3
139
+ * @param maxPt DWG图纸坐标2 THREE.Vector3
140
+ * @returns void
141
+ * @example
142
+ * ```typescript
143
+ * Mx.MxFun.getCurrentDraw().zoomCenter(new THREE.Vector3(0,10,10), new THREE.Vector3(3,8,20))
144
+ * ```
145
+ */
146
+ zoomCenter(dCenX: number, dCenY: number): void;
147
+ /**
148
+ * 初始化控件默认加载后,显示视区范围,默认使用图纸转换时的显示范围。。
149
+ * @param minPt DWG文档坐标1显示区域的左下角 THREE.Vector3
150
+ * @param maxPt DWG文档坐标2显示区域的右上角 THREE.Vector3
151
+ * @returns void
152
+ * @example
153
+ * ```typescript
154
+ * Mx.MxFun.getCurrentDraw().initZoomW(new THREE.Vector3(0,10,10), new THREE.Vector3(3,8,20))
155
+ *
156
+ * ```
157
+ */
158
+ initZoomW(pt1Doc: THREE.Vector3, pt2Doc: THREE.Vector3): void;
159
+ /**
160
+ * 初始化控件默认加载后,显示视区范围,默认使用图纸转换时的显示范围。。
161
+ * @param minPt DWG文档坐标1显示区域的左下角 THREE.Vector3
162
+ * @param maxPt DWG文档坐标2显示区域的右上角 THREE.Vector3
163
+ * @returns void
164
+ * @example
165
+ * ```typescript
166
+ * Mx.MxFun.getCurrentDraw().addEvent(new THREE.Vector3(0,10,10), new THREE.Vector3(3,8,20))
167
+ *
168
+ * ```
169
+ */
170
+ /**
171
+ * 控件对象的事件监听
172
+ * @param eventNaem 事件名称
173
+ * @param fun 回调函数
174
+ * @returns void
175
+ * @example
176
+ * ```typescript
177
+ * Mx.MxFun.getCurrentDraw().addEvent("addResizeEvent", ()=> {})
178
+ *
179
+ * ```
180
+ */
181
+ addEvent(eventNaem: string, fun: (...parmes: any) => any): void;
182
+ /**
183
+ * INI设置
184
+ * @param options { EnableOsnapFunction: boolean; }
185
+ * @returns void
186
+ * @example
187
+ * ```typescript
188
+ * Mx.MxFun.getCurrentDraw().setIniset(options: { EnableOsnapFunction: true })
189
+ *
190
+ * ```
191
+ */
192
+ setIniset(options: {
193
+ EnableOsnapFunction: boolean;
194
+ }): void;
195
+ }
@@ -0,0 +1,328 @@
1
+ declare class MxFun {
2
+ constructor(mxFun: MxFunType);
3
+ /**
4
+ * 创建图纸展示控件实例
5
+ * @param canvasId 提供一个canvas元素或者唯一的ID或者class类亦或者Jquery选中的元素
6
+ * @paramType string | HTMLCanvasElement | JQuery<HTMLElement>
7
+ * @param drawName 提供要展示的图纸名称
8
+ * @paramType string
9
+ * @param callback 图纸展示控件创建完成后的回调函数 回调参数mxDraw和dom
10
+ * @paramType function
11
+ * @param isNewFile 是否新建文件
12
+ * @paramType boolean
13
+ * @return void
14
+ * @example
15
+ * ``` typescript
16
+ * Mx.MxFun.createMxObject({
17
+ * canvasId: "my-app",
18
+ * drawName: "test2.dwg",
19
+ * callback(mxDraw, { canvas, canvasParent }) {
20
+ * console.log(mxDraw, canvas, canvasParent)
21
+ * },
22
+ * isNewFile: true
23
+ * })
24
+ * ```
25
+ */
26
+ createMxObject({ canvasId, drawName, callback, isNewFile }: {
27
+ canvasId?: string;
28
+ drawName?: string;
29
+ callback?: (mxDraw: MxDrawObjectType, dom: {
30
+ canvas: HTMLCanvasElement;
31
+ canvasParent: CanvasParent;
32
+ }) => void;
33
+ isNewFile?: boolean;
34
+ }): void;
35
+ /**
36
+ * 为程序设置服务器地址
37
+ * @param MXSERVER 服务器地址
38
+ * @return void
39
+ * @example
40
+ * ``` typescript
41
+ * Mx.MxFun.setMxServer("ws://localhost:5090")
42
+ * ```
43
+ */
44
+ setMxServer(MXSERVER?: string): void;
45
+ /**
46
+ * 注册命令
47
+ * @param cmdName 命令名
48
+ * @param fun 命令函数
49
+ * @return void
50
+ * @example
51
+ * ``` typescript
52
+ * Mx.MxFun.addCommand("draw", ()=> {
53
+ * console.log("draw")
54
+ * })
55
+ * ```
56
+ */
57
+ addCommand(cmdName: string, fun: Function): void;
58
+ /**
59
+ * 执行命令
60
+ * @param cmdName 命令名
61
+ * @return boolean 命令执行成功为true
62
+ * @example
63
+ * ``` typescript
64
+ * if(Mx.MxFun.sendStringToExecute("draw")) {
65
+ * console.log("成功执行draw命令")
66
+ * }
67
+ * ```
68
+ */
69
+ sendStringToExecute(cmdName: string): boolean;
70
+ /**
71
+ * 调用后台服务程序中的NodeJS用户定义函数 后台程序使用Mx.MxFun.registFun注册用户定义函数
72
+ * @param funName 函数名
73
+ * @param param 函数参数
74
+ * @param retfun 函数返回值回调
75
+ * @return void
76
+ * @example
77
+ * ``` typescript
78
+ * Mx.MxFun.call("getDrawObject", {
79
+ * drawName: "test.dwg"
80
+ * }, (res)=> {
81
+ * console.log(res)
82
+ * })
83
+ * ```
84
+ */
85
+ call(funName: string, param: any, retfun?: Function): void;
86
+ /**
87
+ * 获取当前绘图控件对象
88
+ * @return MxDrawObjectType 当前绘图控件对象
89
+ * @example
90
+ * ``` typescript
91
+ * const mxDraw = Mx.MxFun.getCurrentDraw()
92
+ * mxDraw.getScene()
93
+ * ```
94
+ */
95
+ getCurrentDraw(): MxDrawObjectType;
96
+ /**
97
+ * 屏幕坐标长度转THREE.JS坐标长度
98
+ * @param len 屏幕坐标长度
99
+ * @return number THREE.JS坐标长度
100
+ * @example
101
+ * ``` typescript
102
+ * const len = Mx.MxFun.screenCoordLong2World(36)
103
+ * console.log(len)
104
+ * ```
105
+ */
106
+ screenCoordLong2World(len: number): number;
107
+ /**
108
+ * THREE.JS坐标长度转屏幕坐标长度
109
+ * @param len THREE.JS坐标长度
110
+ * @return number 屏幕坐标长度
111
+ * @example
112
+ * ``` typescript
113
+ * const len = Mx.MxFun.worldCoordLong2Doc(36)
114
+ * console.log(len)
115
+ * ```
116
+ */
117
+ worldCoordLong2Doc(len: number): number;
118
+ /**
119
+ * 屏幕坐标转THREE.JS坐标.
120
+ * @param x 坐标x
121
+ * @param y 坐标y
122
+ * @param z 坐标z
123
+ * @return THREE.Vector3 THREE.JS坐标
124
+ * @example
125
+ * ``` typescript
126
+ * const vector3 = Mx.MxFun.screenCoord2World(36, 21, 0)
127
+ * console.log(vector3)
128
+ * ```
129
+ */
130
+ screenCoord2World(x: number, y: number, z: number): THREE.Vector3;
131
+ /**
132
+ * THREE.JS坐标转屏幕坐标.
133
+ * @param x 坐标x
134
+ * @param y 坐标y
135
+ * @param z 坐标z
136
+ * @return THREE.Vector3 屏幕坐标
137
+ * @example
138
+ * ``` typescript
139
+ * const vector3 = Mx.MxFun.worldCoord2Screen(36, 21, 0)
140
+ * console.log(vector3)
141
+ * ```
142
+ */
143
+ worldCoord2Screen(x: number, y: number, z: number): THREE.Vector3;
144
+ /**
145
+ * 文档坐标转THREE.JS坐标
146
+ * @param x 坐标x
147
+ * @param y 坐标y
148
+ * @param z 坐标z
149
+ * @return THREE.Vector3 THREE.JS坐标
150
+ * @example
151
+ * ``` typescript
152
+ * const vector3 = Mx.MxFun.docCoord2World(36, 21, 0)
153
+ * console.log(vector3)
154
+ * ```
155
+ */
156
+ docCoord2World(x: number, y: number, z: number): THREE.Vector3;
157
+ /**
158
+ * THREE.JS坐标转文档坐标.
159
+ * @param x 坐标x
160
+ * @param y 坐标y
161
+ * @param z 坐标z
162
+ * @return THREE.Vector3 文档坐标
163
+ * @example
164
+ * ``` typescript
165
+ * const vector3 = Mx.MxFun.worldCoord2Doc(36, 21, 0)
166
+ * console.log(vector3)
167
+ * ```
168
+ */
169
+ worldCoord2Doc(x: number, y: number, z: number): THREE.Vector3;
170
+ /**
171
+ * 屏幕转文档坐标
172
+ * @param x 坐标x
173
+ * @param y 坐标y
174
+ * @param z 坐标z
175
+ * @return THREE.Vector3 文档坐标
176
+ * @example
177
+ * ``` typescript
178
+ * const vector3 = Mx.MxFun.screenCoord2Doc(36, 21, 0)
179
+ * console.log(vector3)
180
+ * ```
181
+ */
182
+ screenCoord2Doc(x: number, y: number, z: number): THREE.Vector3;
183
+ /**
184
+ * 文档转屏幕坐标.
185
+ * @param x 坐标x
186
+ * @param y 坐标y
187
+ * @param z 坐标z
188
+ * @return THREE.Vector3 屏幕坐标
189
+ * @example
190
+ * ``` typescript
191
+ * const vector3 = Mx.MxFun.docCoord2Screen(36, 21, 0)
192
+ * console.log(vector3)
193
+ * ```
194
+ */
195
+ docCoord2Screen(x: number, y: number, z: number): THREE.Vector3;
196
+ /**
197
+ * 更新显示,使用Three.js绘制了对象,调用该函数更新显示。
198
+ * @return void
199
+ * @example
200
+ * ``` typescript
201
+ * Mx.MxFun.updateDisplay()
202
+ * ```
203
+ */
204
+ updateDisplay(): void;
205
+ /**
206
+ * 设置窗口鼠标等事件的回调操作
207
+ * @param fun 参数1 type: 鼠标事件类型 "mouseup"鼠标释放 、"mousedown" 鼠标按下 参数2 event:事件对象 返回值: number 为0,表示事件往下传递,如果非0,表示事件已经被处理,不要往下传递了
208
+ * @return void
209
+ * @example
210
+ * ``` typescript
211
+ * Mx.MxFun.addWindowsEvent((type, event)=> {
212
+ * console.log(event)
213
+ * if(type = "mouseup") {
214
+ * console.log("鼠标释放")
215
+ * }else {
216
+ * console.log("鼠标按下")
217
+ * }
218
+ * // 事件往下传递
219
+ * // return 0
220
+ * // 事件已处理不再传递
221
+ * return -1
222
+ * })
223
+ * ```
224
+ */
225
+ addWindowsEvent(fun: (type: string, event: any) => number): void;
226
+ /**
227
+ * 当前是否有命令在运行
228
+ * @return boolean
229
+ * @example
230
+ * ``` typescript
231
+ * if(Mx.MxFun.isRunningCommand()) {
232
+ * // 当前已有命令在运行
233
+ * }
234
+ * ```
235
+ */
236
+ isRunningCommand(): boolean;
237
+ /**
238
+ * 窗口缩放,把指定的范围内的图形放到视区中
239
+ * @param dLBx 矩形框范围的左下角X坐标
240
+ * @param dLBy 矩形框范围的左下角X坐标
241
+ * @param dRTx 矩形框范围的左下角X坐标
242
+ * @param dRTy 矩形框范围的左下角X坐标
243
+ * @param isWorld 传入的坐标是否是thruee.js坐标,默认传文档坐标
244
+ * @return void
245
+ * @example
246
+ * ``` typescript
247
+ * Mx.MxFun.zoomW(21, 22, 300, 310, false)
248
+ * ```
249
+ */
250
+ zoomW(dLBx: number, dLBy: number, dRTx: number, dRTy: number, isWorld?: boolean): void;
251
+ /**
252
+ * 显示或隐藏图层
253
+ * @param idLayer 图层id,或层名
254
+ * @param isShow 是否显示
255
+ * @param isSketch 暂不使用
256
+ * @return void
257
+ * @example
258
+ * ``` typescript
259
+ * Mx.MxFun.showLayer(366, true, false)
260
+ * Mx.MxFun.showLayer("2363", fasle, false)
261
+ * ```
262
+ */
263
+ showLayer(idLayer: number | string, isShow: boolean, isSketch?: boolean): void;
264
+ /**
265
+ * 输出字符串到命令行.
266
+ * @param sval 输出字符串
267
+ * @param ...val 剩余参数 命令cmd
268
+ * @return void
269
+ * @example
270
+ * ``` typescript
271
+ * Mx.MxFun.acutPrintf("{0}:", "draw")
272
+ * ```
273
+ */
274
+ acutPrintf: ((sval: string, ...val: string[]) => void) | undefined;
275
+ /**
276
+ * 获取当前MxCAD对象,该函数在MxCAD模式下使用
277
+ * @return MxDrawObjectType MxCAD对象
278
+ * @example
279
+ * ``` typescript
280
+ * const mxcad = Mx.MxFun.getCurrentMxCAD()
281
+ * console.log(mxcad)
282
+ * ```
283
+ */
284
+ getCurrentMxCAD(): MxDrawObjectType;
285
+ /**
286
+ * 得到地址栏参数
287
+ * @param name
288
+ * @return string 地址栏参数
289
+ * @example
290
+ * ``` typescript
291
+ * if(Mx.MxFun.getQueryString("mousetest") === "y")
292
+ * ```
293
+ */
294
+ getQueryString(name: string): string;
295
+ /**
296
+ * 设置控件的配制参数. Mx.MxFun.createMxObject的 callback回调函数中调用.
297
+ * @param name
298
+ * @return string 地址栏参数
299
+ * @example
300
+ * ``` typescript
301
+ * Mx.MxFun.createMxObject({
302
+ * callback() {
303
+ * Mx.MxFun.setIniset({
304
+ * EnableIntelliSelect: true
305
+ * })
306
+ * }
307
+ * })
308
+ * ```
309
+ */
310
+ setIniset(iniObj: {
311
+ EnableIntelliSelect: boolean;
312
+ }): void;
313
+ /**
314
+ * 更新图纸图层数据
315
+ * @param dataLayers
316
+ * @return boolean 更新成功或失败
317
+ * @example
318
+ * ``` typescript
319
+ * if(Mx.MxFun.upDisplayForLayerData({
320
+ *
321
+ * })) {
322
+ * console.log("更新成功")
323
+ * }
324
+ * ```
325
+ */
326
+ upDisplayForLayerData(dataLayers: any): boolean;
327
+ }
328
+ export default MxFun;
@@ -0,0 +1,69 @@
1
+ import { Vector3, Object3D } from 'three';
2
+ export default class McEdGetPointWorldDrawObjectClass implements McEdGetPointWorldDrawObject {
3
+ constructor();
4
+ /**
5
+ * 绘制圆
6
+ * @param cen 圆心位置
7
+ * @param dRadius 圆半径
8
+ * @returns void
9
+ * @example
10
+ * ``` typescript
11
+ * new Mx.McEdGetPointWorldDrawObjectClass().drawCircle(new HTREE.Vector3(0,100,5), 6)
12
+ * ```
13
+ *
14
+ */
15
+ drawCircle(cen: Vector3, dRadius: number): void;
16
+ /**
17
+ * 绘制直线
18
+ * @param pt1 开始点
19
+ * @param pt2 结束点
20
+ * @returns void
21
+ * @example
22
+ * ``` typescript
23
+ * new Mx.McEdGetPointWorldDrawObjectClass().drawLine(new HTREE.Vector3(0,100,5), new HTREE.Vector3(0,600,5))
24
+ * ```
25
+ *
26
+ */
27
+ drawLine(pt1: Vector3, pt2: Vector3): void;
28
+ /**
29
+ * 绘制一个Three.js对象.
30
+ * @param ent THREE.Object3D对象
31
+ * @returns void
32
+ * @example
33
+ * ``` typescript
34
+ * new Mx.McEdGetPointWorldDrawObjectClass().drawEntity(new THREE.Object3D()))
35
+ * ```
36
+ *
37
+ */
38
+ drawEntity(ent: Object3D | null): void;
39
+ /**
40
+ * 绘制一个文档对象
41
+ * @param sText 文本
42
+ * @param iSize 大小
43
+ * @param dAngle 角度
44
+ * @param pt 位置
45
+ * @returns void
46
+ * @example
47
+ * ``` typescript
48
+ * new Mx.McEdGetPointWorldDrawObjectClass().drawText("字符串" ,36 ,90 ,new HTREE.Vector3(0,100,5))
49
+ * ```
50
+ *
51
+ */
52
+ drawText(sText: string, iSize: number, dAngle: number, pt: Vector3): void;
53
+ /**
54
+ * 设置动态绘制回调函数。
55
+ * @callback call 回调函数
56
+ * @param currentPoint 回调参数 当前位置
57
+ * @param pWorldDraw 回调参数 文档绘制对象 McEdGetPointWorldDrawObject
58
+ * @returns void
59
+ * @example
60
+ * ``` typescript
61
+ * new Mx.McEdGetPointWorldDrawObjectClass().setDraw((currentPoint, pWorldDraw)=> {
62
+ *
63
+ * })
64
+ * ```
65
+ *
66
+ */
67
+ setDraw(call: (currentPoint: Vector3, pWorldDraw: McEdGetPointWorldDrawObject) => void): void;
68
+ _get(): McEdGetPointWorldDrawObject;
69
+ }
@@ -0,0 +1,101 @@
1
+ import { Vector3, Object3D } from 'three';
2
+ export default class MrxDbgUiPrPointClass implements MrxDbgUiPrPoint {
3
+ constructor();
4
+ /**
5
+ * 返回关键字列表
6
+ * @returns 关键词列表
7
+ */
8
+ keyWords(): string;
9
+ /**
10
+ * 设置关键字列表
11
+ * @param keyWordList 关键词列表
12
+ * @returns void
13
+ */
14
+ setKeyWords(keyWordList: string): void;
15
+ /**
16
+ * 提示字符串
17
+ * @returns 提示消息
18
+ */
19
+ message(): string;
20
+ /**
21
+ * 设置提示字符串
22
+ * @param message 提示消息
23
+ * @returns 提示消息
24
+ */
25
+ setMessage(message: string): void;
26
+ /**
27
+ * 返回用户选择的关键字
28
+ * @returns 选择的关键字
29
+ */
30
+ keyWordPicked(): string;
31
+ /**
32
+ * 测试某一个关键字是否被用户选择
33
+ * @param matchKeyWord 要检测的关键字
34
+ * @returns true为真
35
+ */
36
+ isKeyWordPicked(matchKeyWord: string): boolean;
37
+ /**
38
+ * 设置交互过程的动态绘制调用对象
39
+ * @param pDraw 动态绘制对象 McEdGetPointWorldDrawObject
40
+ * @returns true为真
41
+ */
42
+ setUserDraw(pDraw: McEdGetPointWorldDrawObject): void;
43
+ /**
44
+ * 得以获取的点对象,Three.js坐标
45
+ * @returns 点对象 THREE.Vector3
46
+ */
47
+ value(): Vector3;
48
+ /**
49
+ * 得以获取的点对象,DWG图纸坐标.
50
+ * @returns 点对象 DWG图纸坐标
51
+ */
52
+ valueDocCoord(): Vector3;
53
+ /**
54
+ * 得到动态拖动的基点
55
+ * @returns 基点 THREE.Vector3
56
+ */
57
+ basePt(): Vector3;
58
+ /**
59
+ * 设置动态拖动的基点
60
+ * @param basePt 基点 THREE.Vector3
61
+ * @returns 点对象 DWG图纸坐标
62
+ */
63
+ setBasePt(basePt: Vector3): void;
64
+ /**
65
+ * 设置使用动态拖动的基点
66
+ * @param useIt 是否设置 默认为false
67
+ * @returns void
68
+ */
69
+ setUseBasePt(useIt: boolean): void;
70
+ /**
71
+ * 开始动态拖动
72
+ * @callback retcall
73
+ * @param status 用户交互输入函数返回值
74
+ * kCancel = -2, // 取消
75
+ * kNone = -1, // 空输入,当输入关键字和实体时会返回此值
76
+ * kOk = 0, // 获取用户输入成功
77
+ * kKeyWord = 1, // 用户输入了关键字
78
+ * @returns void
79
+ */
80
+ go(retcall: (status: MrxDbgUiPrBaseReturn) => void): void;
81
+ /**
82
+ * 动态拖动,连续取点,直到ESC退出。
83
+ * @callback retcall
84
+ * @param status 用户交互输入函数返回值
85
+ * @callback exitcall
86
+ * @param status 用户交互输入函数返回值
87
+ * kCancel = -2, // 取消
88
+ * kNone = -1, // 空输入,当输入关键字和实体时会返回此值
89
+ * kOk = 0, // 获取用户输入成功
90
+ * kKeyWord = 1, // 用户输入了关键字
91
+ * @returns void
92
+ */
93
+ goWhile(retcall: (status: MrxDbgUiPrBaseReturn) => any, exitcall?: (status: MrxDbgUiPrBaseReturn) => any): void;
94
+ /**
95
+ * 把动态绘制的对象,保留到图上。
96
+ * @callback callAddEntity
97
+ * @param ent THREE.Object3D
98
+ * @returns 点对象 DWG图纸坐标
99
+ */
100
+ drawReserve(callAddEntity?: (ent: Object3D) => void): void;
101
+ }
@@ -0,0 +1,3 @@
1
+ import McEdGetPointWorldDrawObjectClass from './McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass';
2
+ import MrxDbgUiPrPointClass from './MrxDbgUiPrPointClass/MrxDbgUiPrPointClass';
3
+ export { McEdGetPointWorldDrawObjectClass, MrxDbgUiPrPointClass };