mxdraw 0.0.17 → 0.1.2
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/LICENSE +1 -0
- package/README.md +74 -169
- package/dist/lib/MxModule/McEdGetPointWorldDrawObject/McEdGetPointWorldDrawObjectClass.js +22 -11
- package/dist/lib/MxModule/McEdGetPointWorldDrawObject/index.js +0 -1
- package/dist/lib/MxModule/McGiWorldDraw/McGiWorldDraw.js +2 -0
- package/dist/lib/MxModule/McGiWorldDraw/index.js +2 -0
- package/dist/lib/MxModule/McGiWorldDrawType/McGiWorldDrawType.js +19 -0
- package/dist/lib/MxModule/McGiWorldDrawType/index.js +4 -0
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn.js +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/index.js +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrPoint/MrxDbgUiPrPointClass.js +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrPoint/index.js +0 -1
- package/dist/lib/MxModule/MxDbEntity/MxDbEntity.js +174 -0
- package/dist/lib/MxModule/MxDbEntity/index.js +5 -0
- package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js +401 -27
- package/dist/lib/MxModule/MxDrawObject/index.js +0 -1
- package/dist/lib/MxModule/MxFun/MxFun.js +84 -22
- package/dist/lib/MxModule/MxFun/index.js +0 -1
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js +5 -35
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js +71 -29
- package/dist/lib/MxModule/MxThreeJS/SVGLoader.js +4 -5
- package/dist/lib/MxModule/MxThreeJS/index.js +0 -1
- package/dist/lib/MxModule/MxType/MxType.js +27 -0
- package/dist/lib/MxModule/MxType/index.js +4 -0
- package/dist/lib/MxModule/loadCoreCode/index.js +0 -1
- package/dist/lib/MxModule/loadCoreCode/loadCoreCode.js +48 -41
- package/dist/lib/MxModule/loadCoreCode/mxfun.es5.js +1164 -943
- package/dist/lib/MxModule/store/PubsubClass.js +0 -1
- package/dist/lib/MxModule/store/StoreClass.js +0 -1
- package/dist/lib/MxModule/store/index.js +0 -1
- package/dist/lib/MxModule/store/store.js +0 -1
- package/dist/lib/MxModule/useCanvasResizeListener/index.js +0 -1
- package/dist/lib/MxModule/useCanvasResizeListener/useCanvasResizeListener.js +77 -25
- package/dist/lib/doc.js +5 -2
- package/dist/lib/mxdraw.js +12 -4
- package/dist/lib/tools/algorithm/math.js +0 -1
- package/dist/lib/tools/algorithm/random.js +0 -1
- package/dist/lib/tools/dom/create.js +0 -1
- package/dist/lib/tools/dynamicImport/index.js +142 -0
- package/dist/lib/tools/formatting/index.js +0 -1
- package/dist/lib/tools/proxy/index.js +0 -1
- package/dist/lib/tools/three/index.js +0 -1
- package/dist/lib/types/McEdGetPointWorldDrawObject.js +2 -0
- package/dist/lib/types/MrxDbgUiPrPoint.js +2 -0
- package/dist/lib/types/MxCADObject.js +3 -0
- package/dist/lib/types/MxDrawObject.js +2 -0
- package/dist/lib/types/MxFun.js +2 -0
- package/dist/mxdraw.es5.js +28 -3
- package/dist/mxdraw.es5.js.map +1 -1
- package/dist/mxdraw.umd.js +29 -4
- package/dist/mxdraw.umd.js.map +1 -1
- package/dist/types/MxModule/McEdGetPointWorldDrawObject/McEdGetPointWorldDrawObjectClass.d.ts +12 -2
- package/dist/types/MxModule/McGiWorldDraw/McGiWorldDraw.d.ts +227 -0
- package/dist/types/MxModule/McGiWorldDraw/index.d.ts +2 -0
- package/dist/types/MxModule/McGiWorldDrawType/McGiWorldDrawType.d.ts +16 -0
- package/dist/types/MxModule/McGiWorldDrawType/index.d.ts +2 -0
- package/dist/types/MxModule/MrxDbgUiPrPoint/MrxDbgUiPrPointClass.d.ts +1 -1
- package/dist/types/MxModule/MxDbEntity/MxDbEntity.d.ts +198 -0
- package/dist/types/MxModule/MxDbEntity/index.d.ts +3 -0
- package/dist/types/MxModule/MxDrawObject/MxDrawObject.d.ts +317 -1
- package/dist/types/MxModule/MxFun/MxFun.d.ts +66 -20
- package/dist/types/MxModule/MxThreeJS/MxThreeJS.d.ts +11 -14
- package/dist/types/MxModule/MxType/MxType.d.ts +24 -0
- package/dist/types/MxModule/MxType/index.d.ts +2 -0
- package/dist/types/MxModule/store/store.d.ts +1 -1
- package/dist/types/MxModule/useCanvasResizeListener/useCanvasResizeListener.d.ts +9 -5
- package/dist/types/doc.d.ts +4 -1
- package/dist/types/mxdraw.d.ts +8 -2
- package/dist/types/tools/dynamicImport/index.d.ts +1 -0
- package/dist/types/types/McEdGetPointWorldDrawObject.d.ts +9 -0
- package/dist/types/types/MrxDbgUiPrPoint.d.ts +23 -0
- package/dist/types/types/MxCADObject.d.ts +40 -0
- package/dist/types/types/MxDrawObject.d.ts +57 -0
- package/dist/types/types/MxFun.d.ts +37 -0
- package/package.json +8 -3
- package/dist/lib/MxModule/McEdGetPointWorldDrawObject/McEdGetPointWorldDrawObjectClass.js.map +0 -1
- package/dist/lib/MxModule/McEdGetPointWorldDrawObject/index.js.map +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn.js.map +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/index.js.map +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrPoint/MrxDbgUiPrPointClass.js.map +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrPoint/index.js.map +0 -1
- package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js.map +0 -1
- package/dist/lib/MxModule/MxDrawObject/index.js.map +0 -1
- package/dist/lib/MxModule/MxFun/MxFun.js.map +0 -1
- package/dist/lib/MxModule/MxFun/index.js.map +0 -1
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js.map +0 -1
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js.map +0 -1
- package/dist/lib/MxModule/MxThreeJS/SVGLoader.js.map +0 -1
- package/dist/lib/MxModule/MxThreeJS/index.js.map +0 -1
- package/dist/lib/MxModule/loadCoreCode/index.js.map +0 -1
- package/dist/lib/MxModule/loadCoreCode/loadCoreCode.js.map +0 -1
- package/dist/lib/MxModule/loadCoreCode/mxfun.es5.js.map +0 -1
- package/dist/lib/MxModule/store/PubsubClass.js.map +0 -1
- package/dist/lib/MxModule/store/StoreClass.js.map +0 -1
- package/dist/lib/MxModule/store/index.js.map +0 -1
- package/dist/lib/MxModule/store/store.js.map +0 -1
- package/dist/lib/MxModule/useCanvasResizeListener/index.js.map +0 -1
- package/dist/lib/MxModule/useCanvasResizeListener/useCanvasResizeListener.js.map +0 -1
- package/dist/lib/doc.js.map +0 -1
- package/dist/lib/mxdraw.js.map +0 -1
- package/dist/lib/tools/algorithm/math.js.map +0 -1
- package/dist/lib/tools/algorithm/random.js.map +0 -1
- package/dist/lib/tools/dom/create.js.map +0 -1
- package/dist/lib/tools/formatting/index.js.map +0 -1
- package/dist/lib/tools/proxy/index.js.map +0 -1
- package/dist/lib/tools/three/index.js.map +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** @module MxDrawObject */
|
|
2
|
-
import { MxDrawObjectType } from '
|
|
2
|
+
import { MxDrawObjectType } from '../../types/MxDrawObject';
|
|
3
|
+
import MxDbEntity from '../MxDbEntity';
|
|
3
4
|
/**
|
|
4
5
|
* 引入mxdraw库不会挂载MxDrawObject 只能在以下特定函数中获取
|
|
5
6
|
* @function
|
|
@@ -11,6 +12,7 @@ import { MxDrawObjectType } from '@/types/MxDrawObject';
|
|
|
11
12
|
*
|
|
12
13
|
*/
|
|
13
14
|
export default class MxDrawObject {
|
|
15
|
+
private _mxdrawObj;
|
|
14
16
|
constructor(Mxdraw: MxDrawObjectType);
|
|
15
17
|
/**
|
|
16
18
|
* @instance
|
|
@@ -229,6 +231,8 @@ export default class MxDrawObject {
|
|
|
229
231
|
* Mx.MxFun.getCurrentDraw().addEvent("render", (renderer)=> {})
|
|
230
232
|
* 视区大小被修改事件.,viewsize={viewWidth:viewWidth,viewHeight:viewHeight}
|
|
231
233
|
* Mx.MxFun.getCurrentDraw().addEvent("viewsizechange", (viewsize)=> {})
|
|
234
|
+
* 实体选择状态发生改变的事件.
|
|
235
|
+
* Mx.MxFun.getCurrentDraw().addEvent("MxEntitySelectChange", (aryId:Array<number>)=> {})
|
|
232
236
|
* ```
|
|
233
237
|
*/
|
|
234
238
|
addEvent(eventNaem: string, fun: (...parmes: any) => any): void;
|
|
@@ -245,6 +249,146 @@ export default class MxDrawObject {
|
|
|
245
249
|
setIniset(options: {
|
|
246
250
|
EnableOsnapFunction: boolean;
|
|
247
251
|
}): void;
|
|
252
|
+
/**
|
|
253
|
+
* 屏幕坐标到ThreeJS坐标
|
|
254
|
+
* @returns THREE.Vector3
|
|
255
|
+
* @example
|
|
256
|
+
* ```typescript
|
|
257
|
+
*
|
|
258
|
+
*
|
|
259
|
+
* ```
|
|
260
|
+
*/
|
|
261
|
+
screenCoord2World(x: number, y: number, z?: number): THREE.Vector3;
|
|
262
|
+
/**
|
|
263
|
+
* ThreeJS坐标到屏幕坐标,屏幕坐标的Y轴向下。坐标原点在左上角.
|
|
264
|
+
* @returns THREE.Vector3
|
|
265
|
+
* @example
|
|
266
|
+
* ```typescript
|
|
267
|
+
*
|
|
268
|
+
*
|
|
269
|
+
* ```
|
|
270
|
+
*/
|
|
271
|
+
worldCoord2Screen(x: number, y: number, z: number): THREE.Vector3;
|
|
272
|
+
/**
|
|
273
|
+
* 屏幕坐标到DWG文档坐标
|
|
274
|
+
* @returns THREE.Vector3
|
|
275
|
+
* @example
|
|
276
|
+
* ```typescript
|
|
277
|
+
*
|
|
278
|
+
*
|
|
279
|
+
* ```
|
|
280
|
+
*/
|
|
281
|
+
screenCoord2Doc(x: number, y: number, z: number): THREE.Vector3;
|
|
282
|
+
/**
|
|
283
|
+
* ThreeJS坐标长度到DWG文档坐标长度
|
|
284
|
+
* @returns number
|
|
285
|
+
* @example
|
|
286
|
+
* ```typescript
|
|
287
|
+
*
|
|
288
|
+
*
|
|
289
|
+
* ```
|
|
290
|
+
*/
|
|
291
|
+
worldCoordLong2Doc(l: number): number;
|
|
292
|
+
/**
|
|
293
|
+
* DWG文档坐标长度到ThreeJS坐标长度
|
|
294
|
+
* @returns number
|
|
295
|
+
* @example
|
|
296
|
+
* ```typescript
|
|
297
|
+
*
|
|
298
|
+
*
|
|
299
|
+
* ```
|
|
300
|
+
*/
|
|
301
|
+
docCoordLong2World(l: number): number;
|
|
302
|
+
/**
|
|
303
|
+
* DWG文档坐标到ThreeJS坐标
|
|
304
|
+
* @returns number
|
|
305
|
+
* @example
|
|
306
|
+
* ```typescript
|
|
307
|
+
*
|
|
308
|
+
*
|
|
309
|
+
* ```
|
|
310
|
+
*/
|
|
311
|
+
docCoord2World(x: number, y: number, z: number): THREE.Vector3;
|
|
312
|
+
/**
|
|
313
|
+
* DWG文档坐标到ThreeJS坐标
|
|
314
|
+
* @returns THREE.Vector3
|
|
315
|
+
* @example
|
|
316
|
+
* ```typescript
|
|
317
|
+
*
|
|
318
|
+
*
|
|
319
|
+
* ```
|
|
320
|
+
*/
|
|
321
|
+
docCoord2World2(pt: THREE.Vector3): THREE.Vector3;
|
|
322
|
+
/**
|
|
323
|
+
* ThreeJS坐标到DWG文档坐标
|
|
324
|
+
* @returns number
|
|
325
|
+
* @example
|
|
326
|
+
* ```typescript
|
|
327
|
+
*
|
|
328
|
+
*
|
|
329
|
+
* ```
|
|
330
|
+
*/
|
|
331
|
+
worldCoord2Doc(x: number, y: number, z: number): THREE.Vector3;
|
|
332
|
+
/**
|
|
333
|
+
* ThreeJS坐标到DWG文档坐标
|
|
334
|
+
* @returns THREE.Vector3
|
|
335
|
+
* @example
|
|
336
|
+
* ```typescript
|
|
337
|
+
*
|
|
338
|
+
*
|
|
339
|
+
* ```
|
|
340
|
+
*/
|
|
341
|
+
worldCoord2Doc2(pt: THREE.Vector3): THREE.Vector3;
|
|
342
|
+
/**
|
|
343
|
+
* DWG文档坐标到屏幕坐标
|
|
344
|
+
* @returns number
|
|
345
|
+
* @example
|
|
346
|
+
* ```typescript
|
|
347
|
+
*
|
|
348
|
+
*
|
|
349
|
+
* ```
|
|
350
|
+
*/
|
|
351
|
+
docCoord2Screen(x: number, y: number, z: number): THREE.Vector3;
|
|
352
|
+
/**
|
|
353
|
+
* 屏幕坐标长度到DWG文档坐标长度
|
|
354
|
+
* @returns number
|
|
355
|
+
* @example
|
|
356
|
+
* ```typescript
|
|
357
|
+
*
|
|
358
|
+
*
|
|
359
|
+
* ```
|
|
360
|
+
*/
|
|
361
|
+
screenCoordLong2Doc(l: number): number;
|
|
362
|
+
/**
|
|
363
|
+
* DWG文档坐标长度到屏幕坐标长度
|
|
364
|
+
* @returns number
|
|
365
|
+
* @example
|
|
366
|
+
* ```typescript
|
|
367
|
+
*
|
|
368
|
+
*
|
|
369
|
+
* ```
|
|
370
|
+
*/
|
|
371
|
+
docCoordLong2Screen(l: number): number;
|
|
372
|
+
/**
|
|
373
|
+
* 屏幕坐标长度到ThreeJS坐标长度
|
|
374
|
+
* @returns number
|
|
375
|
+
* @example
|
|
376
|
+
* ```typescript
|
|
377
|
+
*
|
|
378
|
+
*
|
|
379
|
+
* ```
|
|
380
|
+
*/
|
|
381
|
+
screenCoordLong2World(l: number): number;
|
|
382
|
+
/**
|
|
383
|
+
* ThreeJS坐标长度到屏幕坐标长度
|
|
384
|
+
* @returns number
|
|
385
|
+
* @example
|
|
386
|
+
* ```typescript
|
|
387
|
+
*
|
|
388
|
+
*
|
|
389
|
+
* ```
|
|
390
|
+
*/
|
|
391
|
+
worldCoordLong2Screen(l: number): number;
|
|
248
392
|
/**
|
|
249
393
|
* 初始WebGL Renderer的创建参数,该函数在MxFun.createMxObject函数调用时,调用。
|
|
250
394
|
* @param param
|
|
@@ -256,4 +400,176 @@ export default class MxDrawObject {
|
|
|
256
400
|
* ```
|
|
257
401
|
*/
|
|
258
402
|
initRendererParam(param: object): void;
|
|
403
|
+
/**
|
|
404
|
+
* 添加一个自定义实体到图上。
|
|
405
|
+
* @param ent 自定义实体对象
|
|
406
|
+
* @returns number 返回对象的id.
|
|
407
|
+
* @example
|
|
408
|
+
* ```typescript
|
|
409
|
+
*
|
|
410
|
+
*
|
|
411
|
+
* ```
|
|
412
|
+
*/
|
|
413
|
+
addMxEntity(ent: MxDbEntity): number;
|
|
414
|
+
/**
|
|
415
|
+
* 得到图上当前选择的对象.
|
|
416
|
+
* @returns Array<number> 返回对象的id数组.
|
|
417
|
+
* @example
|
|
418
|
+
* ```typescript
|
|
419
|
+
*
|
|
420
|
+
*
|
|
421
|
+
* ```
|
|
422
|
+
*/
|
|
423
|
+
getMxCurrentSelect(): Array<number>;
|
|
424
|
+
/**
|
|
425
|
+
* 把对象添加到当前选择中.
|
|
426
|
+
* @returns void
|
|
427
|
+
* @example
|
|
428
|
+
* ```typescript
|
|
429
|
+
*
|
|
430
|
+
*
|
|
431
|
+
* ```
|
|
432
|
+
*/
|
|
433
|
+
addMxCurrentSelect(id: number): void;
|
|
434
|
+
/**
|
|
435
|
+
* 清除当前所有选择
|
|
436
|
+
* @returns void
|
|
437
|
+
* @example
|
|
438
|
+
* ```typescript
|
|
439
|
+
*
|
|
440
|
+
*
|
|
441
|
+
* ```
|
|
442
|
+
*/
|
|
443
|
+
clearMxCurrentSelect(): boolean;
|
|
444
|
+
/**
|
|
445
|
+
*通过id获取绘制的对象.
|
|
446
|
+
* @param id 返回对象的id
|
|
447
|
+
* @returns MxDbEntity
|
|
448
|
+
* @example
|
|
449
|
+
* ```typescript
|
|
450
|
+
*
|
|
451
|
+
*
|
|
452
|
+
* ```
|
|
453
|
+
*/
|
|
454
|
+
getMxEntity(id: number): MxDbEntity;
|
|
455
|
+
/**
|
|
456
|
+
* 查找某点位置处的用户自绘对象.
|
|
457
|
+
* @param ptMouse 查找的点位 THREE.Vector3
|
|
458
|
+
* @param isWorldCoord 点是否是默认坐标 默认为 true
|
|
459
|
+
* @returns MxDbEntity[] 返回用户自绘对象数组
|
|
460
|
+
* @example
|
|
461
|
+
* ```typescript
|
|
462
|
+
*
|
|
463
|
+
*
|
|
464
|
+
* ```
|
|
465
|
+
*/
|
|
466
|
+
findMxEntityAtPoint(ptMouse: THREE.Vector3, isWorldCoord?: boolean): Array<MxDbEntity>;
|
|
467
|
+
/**
|
|
468
|
+
*得到所有用户自绘对象.
|
|
469
|
+
* @returns MxDbEntity[] 返回用户自绘对象数组
|
|
470
|
+
* @example
|
|
471
|
+
* ```typescript
|
|
472
|
+
*
|
|
473
|
+
*
|
|
474
|
+
* ```
|
|
475
|
+
*/
|
|
476
|
+
getAllMxEntity(): Array<MxDbEntity>;
|
|
477
|
+
/**
|
|
478
|
+
* 设置鼠标中键移动视区。
|
|
479
|
+
* @param isPan 设置是否可以鼠标中键移动视区
|
|
480
|
+
* @returns
|
|
481
|
+
* @example
|
|
482
|
+
* ```typescript
|
|
483
|
+
*
|
|
484
|
+
*
|
|
485
|
+
* ```
|
|
486
|
+
*/
|
|
487
|
+
setMouseMiddlePan(isPan: boolean): void;
|
|
488
|
+
/**
|
|
489
|
+
*重新设置ThreeJS Controls状态.
|
|
490
|
+
* @returns
|
|
491
|
+
* @example
|
|
492
|
+
* ```typescript
|
|
493
|
+
*
|
|
494
|
+
*
|
|
495
|
+
* ```
|
|
496
|
+
*/
|
|
497
|
+
resetThreeJSControls(): void;
|
|
498
|
+
/**
|
|
499
|
+
* 启用或禁用鼠标中键滚动缩放视区
|
|
500
|
+
* @param isEnable 是否启用
|
|
501
|
+
* @returns
|
|
502
|
+
* @example
|
|
503
|
+
* ```typescript
|
|
504
|
+
*
|
|
505
|
+
*
|
|
506
|
+
* ```
|
|
507
|
+
*/
|
|
508
|
+
enableZoom(isEnable: boolean): void;
|
|
509
|
+
/**
|
|
510
|
+
* 启用或禁用鼠标移动视区
|
|
511
|
+
* @param isEnable 是否启用
|
|
512
|
+
* @returns
|
|
513
|
+
* @example
|
|
514
|
+
* ```typescript
|
|
515
|
+
*
|
|
516
|
+
*
|
|
517
|
+
* ```
|
|
518
|
+
*/
|
|
519
|
+
enablePan(isEnable: boolean): void;
|
|
520
|
+
/**
|
|
521
|
+
* 删除MxEntity
|
|
522
|
+
* @param id 实体id.
|
|
523
|
+
* @returns
|
|
524
|
+
* @example
|
|
525
|
+
* ```typescript
|
|
526
|
+
*
|
|
527
|
+
*
|
|
528
|
+
* ```
|
|
529
|
+
*/
|
|
530
|
+
eraseMxEntity(id: number): boolean;
|
|
531
|
+
/**
|
|
532
|
+
* 移除安视图坐标绘制的对象.
|
|
533
|
+
* @param obj 对象.
|
|
534
|
+
* @returns
|
|
535
|
+
* @example
|
|
536
|
+
* ```typescript
|
|
537
|
+
*
|
|
538
|
+
*
|
|
539
|
+
* ```
|
|
540
|
+
*/
|
|
541
|
+
removeViewObject(obj: THREE.Object3D): void;
|
|
542
|
+
/**
|
|
543
|
+
* 保存所有MxEntity的数据到json字符串.
|
|
544
|
+
* @param
|
|
545
|
+
* @returns json字符串
|
|
546
|
+
* @example
|
|
547
|
+
* ```typescript
|
|
548
|
+
*
|
|
549
|
+
*
|
|
550
|
+
* ```
|
|
551
|
+
*/
|
|
552
|
+
saveMxEntityToJson(): string;
|
|
553
|
+
/**
|
|
554
|
+
* 从json字符串恢复MxEntity
|
|
555
|
+
* @param dataString json字符串.
|
|
556
|
+
* @returns
|
|
557
|
+
* @example
|
|
558
|
+
* ```typescript
|
|
559
|
+
*
|
|
560
|
+
*
|
|
561
|
+
* ```
|
|
562
|
+
*/
|
|
563
|
+
loadMxEntityFromJson(dataString: string): boolean;
|
|
564
|
+
/**
|
|
565
|
+
* 删除所有对MxEntity
|
|
566
|
+
* @param
|
|
567
|
+
* @returns
|
|
568
|
+
* @example
|
|
569
|
+
* ```typescript
|
|
570
|
+
*
|
|
571
|
+
*
|
|
572
|
+
* ```
|
|
573
|
+
*/
|
|
574
|
+
eraseAllMxEntity(): void;
|
|
259
575
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { CanvasParent } from '@/types/MxModule';
|
|
2
1
|
import MxDrawObject from '../MxDrawObject';
|
|
2
|
+
import { MeshLambertMaterial } from 'three';
|
|
3
|
+
interface CanvasParent extends HTMLElement {
|
|
4
|
+
tabindex?: number;
|
|
5
|
+
}
|
|
3
6
|
/**
|
|
4
7
|
* MxFun 模块
|
|
5
8
|
* 导出库时已实例化,只需要调用实例方法 例如:
|
|
@@ -13,7 +16,7 @@ export default class MxFun {
|
|
|
13
16
|
* 创建图纸展示控件实例
|
|
14
17
|
* @param canvasId 提供一个canvas元素或者唯一的ID或者class类亦或者Jquery选中的元素
|
|
15
18
|
* @paramType string | HTMLCanvasElement | JQuery<HTMLElement>
|
|
16
|
-
* @param
|
|
19
|
+
* @param cadFile 提供要展示的图纸名称
|
|
17
20
|
* @paramType string
|
|
18
21
|
* @param callback 图纸展示控件创建完成后的回调函数 回调参数mxDraw和dom
|
|
19
22
|
* @paramType function
|
|
@@ -24,7 +27,7 @@ export default class MxFun {
|
|
|
24
27
|
* ``` typescript
|
|
25
28
|
* Mx.MxFun.createMxObject({
|
|
26
29
|
* canvasId: "my-app",
|
|
27
|
-
*
|
|
30
|
+
* cadFile: "test2.dwg",
|
|
28
31
|
* callback(mxDraw, { canvas, canvasParent }) {
|
|
29
32
|
* console.log(mxDraw, canvas, canvasParent)
|
|
30
33
|
* },
|
|
@@ -32,9 +35,9 @@ export default class MxFun {
|
|
|
32
35
|
* })
|
|
33
36
|
* ```
|
|
34
37
|
*/
|
|
35
|
-
createMxObject({ canvasId,
|
|
38
|
+
createMxObject({ canvasId, cadFile, callback, isNewFile }: {
|
|
36
39
|
canvasId?: string;
|
|
37
|
-
|
|
40
|
+
cadFile?: string;
|
|
38
41
|
callback?: (mxDraw: MxDrawObject, dom: {
|
|
39
42
|
canvas: HTMLCanvasElement;
|
|
40
43
|
canvasParent: CanvasParent;
|
|
@@ -95,7 +98,7 @@ export default class MxFun {
|
|
|
95
98
|
* }
|
|
96
99
|
* ```
|
|
97
100
|
*/
|
|
98
|
-
sendStringToExecute(cmdName: string): boolean;
|
|
101
|
+
sendStringToExecute(cmdName: string, ...ages: any[]): boolean;
|
|
99
102
|
/**
|
|
100
103
|
* 调用后台服务程序中的NodeJS用户定义函数 后台程序使用Mx.MxFun.registFun注册用户定义函数
|
|
101
104
|
* @param funName 函数名
|
|
@@ -105,7 +108,7 @@ export default class MxFun {
|
|
|
105
108
|
* @example
|
|
106
109
|
* ``` typescript
|
|
107
110
|
* Mx.MxFun.call("getDrawObject", {
|
|
108
|
-
*
|
|
111
|
+
* cadFile: "test.dwg"
|
|
109
112
|
* }, (res)=> {
|
|
110
113
|
* console.log(res)
|
|
111
114
|
* })
|
|
@@ -144,6 +147,16 @@ export default class MxFun {
|
|
|
144
147
|
* ```
|
|
145
148
|
*/
|
|
146
149
|
worldCoordLong2Doc(len: number): number;
|
|
150
|
+
/**
|
|
151
|
+
* DWG文档坐标长度到ThreeJS坐标长度
|
|
152
|
+
* @returns number
|
|
153
|
+
* @example
|
|
154
|
+
* ```typescript
|
|
155
|
+
*
|
|
156
|
+
*
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
docCoordLong2World(l: number): number;
|
|
147
160
|
/**
|
|
148
161
|
* 屏幕坐标转THREE.JS坐标.
|
|
149
162
|
* @param x 坐标x
|
|
@@ -156,9 +169,9 @@ export default class MxFun {
|
|
|
156
169
|
* console.log(vector3)
|
|
157
170
|
* ```
|
|
158
171
|
*/
|
|
159
|
-
screenCoord2World(x: number, y
|
|
172
|
+
screenCoord2World(x: number | THREE.Vector3, y?: number, z?: number): THREE.Vector3;
|
|
160
173
|
/**
|
|
161
|
-
* THREE.JS
|
|
174
|
+
* THREE.JS坐标转屏幕坐标.,屏幕坐标的Y轴向下。坐标原点在左上角.
|
|
162
175
|
* @param x 坐标x
|
|
163
176
|
* @param y 坐标y
|
|
164
177
|
* @param z 坐标z
|
|
@@ -169,9 +182,10 @@ export default class MxFun {
|
|
|
169
182
|
* console.log(vector3)
|
|
170
183
|
* ```
|
|
171
184
|
*/
|
|
172
|
-
worldCoord2Screen(x: number, y
|
|
185
|
+
worldCoord2Screen(x: number | THREE.Vector3, y?: number, z?: number): THREE.Vector3;
|
|
173
186
|
/**
|
|
174
187
|
* 文档坐标转THREE.JS坐标
|
|
188
|
+
* 说明: 文档坐标,THREE.JS坐标的X轴都是从左到右,Y轴是下到上,但是屏幕像素坐标系:X轴都是从左到右,Y轴是上到下
|
|
175
189
|
* @param x 坐标x
|
|
176
190
|
* @param y 坐标y
|
|
177
191
|
* @param z 坐标z
|
|
@@ -310,7 +324,7 @@ export default class MxFun {
|
|
|
310
324
|
* console.log(mxcad)
|
|
311
325
|
* ```
|
|
312
326
|
*/
|
|
313
|
-
getCurrentMxCAD():
|
|
327
|
+
getCurrentMxCAD(): import("../../types/MxCADObject").MxCADObject;
|
|
314
328
|
/**
|
|
315
329
|
* 得到地址栏参数
|
|
316
330
|
* @param name
|
|
@@ -322,23 +336,17 @@ export default class MxFun {
|
|
|
322
336
|
*/
|
|
323
337
|
getQueryString(name: string): string;
|
|
324
338
|
/**
|
|
325
|
-
* 设置控件的配制参数.
|
|
339
|
+
* 设置控件的配制参数.
|
|
326
340
|
* @param name
|
|
327
|
-
* @return
|
|
341
|
+
* @return object 配制参数.
|
|
328
342
|
* @example
|
|
329
343
|
* ``` typescript
|
|
330
|
-
* Mx.MxFun.createMxObject({
|
|
331
|
-
* callback() {
|
|
332
344
|
* Mx.MxFun.setIniset({
|
|
333
345
|
* EnableIntelliSelect: true
|
|
334
346
|
* })
|
|
335
|
-
* }
|
|
336
|
-
* })
|
|
337
347
|
* ```
|
|
338
348
|
*/
|
|
339
|
-
setIniset(iniObj:
|
|
340
|
-
EnableIntelliSelect: boolean;
|
|
341
|
-
}): void;
|
|
349
|
+
setIniset(iniObj: object): void;
|
|
342
350
|
/**
|
|
343
351
|
* 更新图纸图层数据
|
|
344
352
|
* @param dataLayers
|
|
@@ -372,4 +380,42 @@ export default class MxFun {
|
|
|
372
380
|
* ```
|
|
373
381
|
*/
|
|
374
382
|
testMX(p?: any): any;
|
|
383
|
+
/**
|
|
384
|
+
* 加载一个图片对象,返回Three.js材质对象,该函数具有缓存功能,下次加载同样的图片,可以直接返回.
|
|
385
|
+
* @param p
|
|
386
|
+
* @return any
|
|
387
|
+
* @example
|
|
388
|
+
* ``` typescript
|
|
389
|
+
*
|
|
390
|
+
* ```
|
|
391
|
+
*/
|
|
392
|
+
loadImageMaterial(imageUrlPath: string, callResult: (material: MeshLambertMaterial) => void): void;
|
|
393
|
+
/**
|
|
394
|
+
* 判断点是否在一个闭合的多边形区域。
|
|
395
|
+
* @param p
|
|
396
|
+
* @return any
|
|
397
|
+
* @example
|
|
398
|
+
* ``` typescript
|
|
399
|
+
* let aryPoint:Array<THREE.Vector3> = [];
|
|
400
|
+
* aryPoint.push(new THREE.Vector3(0,0,0));
|
|
401
|
+
* aryPoint.push(new THREE.Vector3(0,100,0));
|
|
402
|
+
* aryPoint.push(new THREE.Vector3(100,100,0));
|
|
403
|
+
* aryPoint.push(new THREE.Vector3(100,0,0));
|
|
404
|
+
* let pt:THREE.Vector3 = new THREE.Vector3(150,150);
|
|
405
|
+
* if(MxFun.pointInPolyline(pt,aryPoint) ){
|
|
406
|
+
* console.log("in");
|
|
407
|
+
* }
|
|
408
|
+
* ```
|
|
409
|
+
*/
|
|
410
|
+
pointInPolyline(pt: THREE.Vector3, vecPolyline: Array<THREE.Vector3>): boolean;
|
|
411
|
+
/**
|
|
412
|
+
* 计算多边形区域的面积
|
|
413
|
+
* @param p
|
|
414
|
+
* @return any
|
|
415
|
+
* @example
|
|
416
|
+
* ``` typescript
|
|
417
|
+
* ```
|
|
418
|
+
*/
|
|
419
|
+
calcArea(aryPoint: Array<THREE.Vector3>): number;
|
|
375
420
|
}
|
|
421
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Vector3, Line, Object3D, Points, Sprite, Mesh, MeshBasicMaterial
|
|
1
|
+
import { Vector3, Line, Object3D, LineLoop, Points, Sprite, Mesh, MeshBasicMaterial } from 'three';
|
|
2
2
|
/**
|
|
3
3
|
* MxThreeJS 模块
|
|
4
4
|
* ##### 使用说明:
|
|
@@ -56,7 +56,7 @@ export default class MxThreeJS {
|
|
|
56
56
|
* Mx.MxThreeJS.createLine(new Three.Vector3(1,10,0), new Three.Vector3(1,300,0), 0)
|
|
57
57
|
* ```
|
|
58
58
|
*/
|
|
59
|
-
createLine(vPt1: Vector3, vPt2: Vector3, iColor:
|
|
59
|
+
createLine(vPt1: Vector3, vPt2: Vector3, iColor: ColorType): Line;
|
|
60
60
|
/**
|
|
61
61
|
* 创建Three.js圆对象。
|
|
62
62
|
* @param mCenterPt 圆中心点
|
|
@@ -68,7 +68,7 @@ export default class MxThreeJS {
|
|
|
68
68
|
* Mx.MxThreeJS.createCircle(new Three.Vector3(1,10,0), 10, 0)
|
|
69
69
|
* ```
|
|
70
70
|
*/
|
|
71
|
-
createCircle(mCenterPt: Vector3, dRadius: number, iColor:
|
|
71
|
+
createCircle(mCenterPt: Vector3, dRadius: number, iColor: ColorType): LineLoop;
|
|
72
72
|
/**
|
|
73
73
|
* 创建Three.js点对象。
|
|
74
74
|
* @param mPt 点位置
|
|
@@ -79,7 +79,7 @@ export default class MxThreeJS {
|
|
|
79
79
|
* Mx.MxThreeJS.createPoint(new Three.Vector3(1,10,0), 0)
|
|
80
80
|
* ```
|
|
81
81
|
*/
|
|
82
|
-
createPoint(mPt: Vector3, iColor:
|
|
82
|
+
createPoint(mPt: Vector3, iColor: ColorType): Points;
|
|
83
83
|
/**
|
|
84
84
|
* 创建Three.js 文字
|
|
85
85
|
* @param message 文字信息
|
|
@@ -93,7 +93,7 @@ export default class MxThreeJS {
|
|
|
93
93
|
* Mx.MxThreeJS.creatTextSprite("hello",new Three.Vector3(1,10,0), 90, 60, 0)
|
|
94
94
|
* ```
|
|
95
95
|
*/
|
|
96
|
-
creatTextSprite(message: string, pt: Vector3, iSize: number, fAngle: number, iColor:
|
|
96
|
+
creatTextSprite(message: string, pt: Vector3, iSize: number, fAngle: number, iColor: number): Sprite | null;
|
|
97
97
|
/**
|
|
98
98
|
* 根据三角形数组,创建Three.js Mesh
|
|
99
99
|
* @param points 由三个点组成的数组
|
|
@@ -109,7 +109,7 @@ export default class MxThreeJS {
|
|
|
109
109
|
* )
|
|
110
110
|
* ```
|
|
111
111
|
*/
|
|
112
|
-
createTriangle(points: Array<Vector3>, iColor:
|
|
112
|
+
createTriangle(points: Array<Vector3>, iColor: ColorType, opacity?: number): Mesh | null;
|
|
113
113
|
/**
|
|
114
114
|
* 创建连续直线
|
|
115
115
|
* @param points 由多个点组成的数组
|
|
@@ -120,7 +120,7 @@ export default class MxThreeJS {
|
|
|
120
120
|
* Mx.MxThreeJS.createLines([new THREE.Vector3(1,2,2),new THREE.Vector3(1,65,4),new THREE.Vector3(12,2,2)], 0)
|
|
121
121
|
* ```
|
|
122
122
|
*/
|
|
123
|
-
createLines(points: Array<Vector3>, iColor:
|
|
123
|
+
createLines(points: Array<Vector3>, iColor: ColorType): Line;
|
|
124
124
|
/**
|
|
125
125
|
* 创建虚线
|
|
126
126
|
* @param points 由多个点组成的数组
|
|
@@ -133,10 +133,10 @@ export default class MxThreeJS {
|
|
|
133
133
|
* Mx.MxThreeJS.createDashedLines([new THREE.Vector3(1,2,2),new THREE.Vector3(1,65,4),new THREE.Vector3(12,2,2)], 10, 20, 2)
|
|
134
134
|
* ```
|
|
135
135
|
*/
|
|
136
|
-
createDashedLines(points: Array<Vector3>, iColor:
|
|
136
|
+
createDashedLines(points: Array<Vector3>, iColor: ColorType, dashSize: number, gapSize: number): Line;
|
|
137
137
|
/**
|
|
138
138
|
* 创建Image
|
|
139
|
-
* @param pos
|
|
139
|
+
* @param pos 图片中心点位置,屏幕坐标,屏幕坐标的Y轴向上。坐标原点在左下角.
|
|
140
140
|
* @param w 图片宽度
|
|
141
141
|
* @param h 图片高度
|
|
142
142
|
* @param imageUrlPath 图片URl地址
|
|
@@ -152,10 +152,7 @@ export default class MxThreeJS {
|
|
|
152
152
|
createImage(pos: Vector3, w: number, h: number, imageUrlPath: string, callResult?: (mesh: Mesh | null) => void): void;
|
|
153
153
|
/**
|
|
154
154
|
* 加载SVG
|
|
155
|
-
* @param url SVG
|
|
156
|
-
* @param x X轴位置
|
|
157
|
-
* @param y Y轴位置
|
|
158
|
-
* @param scale 缩放比
|
|
155
|
+
* @param url SVG路径地址,该函数具有缓存功能,下次加载同样的图片,可以直接返回.
|
|
159
156
|
* @param color 颜色
|
|
160
157
|
* @param callResult SVG加载完成的回调 回调参数:THREE.Object3D和Array<THREE.MeshBasicMaterial>
|
|
161
158
|
* @returns void
|
|
@@ -166,5 +163,5 @@ export default class MxThreeJS {
|
|
|
166
163
|
* })
|
|
167
164
|
* ```
|
|
168
165
|
*/
|
|
169
|
-
loadSVG(url: string,
|
|
166
|
+
loadSVG(url: string, color?: ColorType, callResult?: (threeobj: Object3D, aryMeterial: Array<MeshBasicMaterial>) => void): void;
|
|
170
167
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** @module MxType*/
|
|
2
|
+
/**
|
|
3
|
+
* 动态绘制类型
|
|
4
|
+
* @example ```typescript
|
|
5
|
+
|
|
6
|
+
* ```
|
|
7
|
+
*/
|
|
8
|
+
declare enum MxCloneType {
|
|
9
|
+
/** 正常Clone */
|
|
10
|
+
kClone = 1,
|
|
11
|
+
/** 动态拖动Clone */
|
|
12
|
+
kDragClone = 2
|
|
13
|
+
}
|
|
14
|
+
declare enum MxCloneType2 {
|
|
15
|
+
/** 正常Clone */
|
|
16
|
+
kClone = 1,
|
|
17
|
+
/** 动态拖动Clone */
|
|
18
|
+
kDragClone = 2
|
|
19
|
+
}
|
|
20
|
+
declare const _default: {
|
|
21
|
+
MxCloneType: typeof MxCloneType;
|
|
22
|
+
MxCloneType2: typeof MxCloneType2;
|
|
23
|
+
};
|
|
24
|
+
export default _default;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
/**
|
|
3
|
-
* 使用canvas大小调整侦听器 (只有在 {@link MxFun.createMxObject} 的callbakc回调中调用才有效)
|
|
1
|
+
import MxDrawObject from '../MxDrawObject';
|
|
2
|
+
/**yar
|
|
3
|
+
* 使用canvas大小调整侦听器 (只有在 {@link MxFun.createMxObject} 的callbakc回调中调用才有效) 不调用该方法则默认使用window窗口监听从而自动调整画布大小,canvas大小或者其canvas父级元素变化不会自动调整。
|
|
4
|
+
* > 注意:调用方法会加载[element-resize-event-polyfill](https://www.npmjs.com/package/element-resize-event-polyfill)}依赖包 可以通过resize监听dom元素大小变化 `dom.addEventListener('resize', callback)`
|
|
5
|
+
* > 注意: MxFun.createMxObject 方法调用后默认会依据canvasParent父级元素作为自动调整的参考大小 所以传入的canvas也会默认监听canvas父级元素,适配大小请将canvas和canvasParent当作一个整体。
|
|
4
6
|
* @param mxdrawObj 调用{@link MxFun.createMxObject}的callback回调函数拿到的 mxDraw 对象参数
|
|
5
|
-
* @param canvas 调用{@link MxFun.createMxObject}的callback回调函数拿到的dom.canvas
|
|
7
|
+
* @param canvas 调用{@link MxFun.createMxObject}的callback回调函数拿到的dom.canvas作为要监听的元素
|
|
8
|
+
* @param time 大小监听节流函数节流时间 默认 100
|
|
9
|
+
* @param autoAdjust 是否自动调整大小 默认true
|
|
6
10
|
* @param callback 监听回调
|
|
7
11
|
*/
|
|
8
|
-
export default function useCanvasResizeListener(mxdrawObj:
|
|
12
|
+
export default function useCanvasResizeListener(mxdrawObj: MxDrawObject, canvas: HTMLCanvasElement, time?: number, autoAdjust?: boolean, callback?: ((event: UIEvent) => any) | undefined): Promise<void>;
|
package/dist/types/doc.d.ts
CHANGED
|
@@ -11,4 +11,7 @@ import MxDrawObject from './MxModule/MxDrawObject/MxDrawObject';
|
|
|
11
11
|
import MrxDbgUiPrPoint from './MxModule/MrxDbgUiPrPoint/MrxDbgUiPrPointClass';
|
|
12
12
|
import McEdGetPointWorldDrawObject from './MxModule/McEdGetPointWorldDrawObject/McEdGetPointWorldDrawObjectClass';
|
|
13
13
|
import MrxDbgUiPrBaseReturn from './MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn';
|
|
14
|
-
|
|
14
|
+
import McGiWorldDraw from './MxModule/McGiWorldDraw/McGiWorldDraw';
|
|
15
|
+
import McGiWorldDrawType from './MxModule/McGiWorldDrawType/McGiWorldDrawType';
|
|
16
|
+
import MxDbEntity from './MxModule/MxDbEntity/MxDbEntity';
|
|
17
|
+
export { MxFun, MxThreeJS, MxDrawObject, MrxDbgUiPrPoint, McEdGetPointWorldDrawObject, MrxDbgUiPrBaseReturn, loadCoreCode, useCanvasResizeListener, McGiWorldDraw, McGiWorldDrawType, MxDbEntity };
|