mxdraw 0.0.18 → 0.1.3

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 (132) hide show
  1. package/README.md +66 -161
  2. package/dist/lib/MxModule/McEdGetPointWorldDrawObject/McEdGetPointWorldDrawObjectClass.js +0 -1
  3. package/dist/lib/MxModule/McEdGetPointWorldDrawObject/index.js +0 -1
  4. package/dist/lib/MxModule/McGeVector3d/McGeVector3d.js +2 -0
  5. package/dist/lib/MxModule/McGeVector3d/index.js +3 -0
  6. package/dist/lib/MxModule/McGiWorldDraw/McGiWorldDraw.js +0 -15
  7. package/dist/lib/MxModule/McGiWorldDraw/index.js +0 -2
  8. package/dist/lib/MxModule/McGiWorldDrawType/McGiWorldDrawType.js +19 -0
  9. package/dist/lib/MxModule/McGiWorldDrawType/index.js +4 -0
  10. package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn.js +0 -1
  11. package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/index.js +0 -1
  12. package/dist/lib/MxModule/MrxDbgUiPrPoint/MrxDbgUiPrPointClass.js +0 -1
  13. package/dist/lib/MxModule/MrxDbgUiPrPoint/index.js +0 -1
  14. package/dist/lib/MxModule/MxDbAlignedDimension/MxDbAlignedDimension.js +213 -0
  15. package/dist/lib/MxModule/MxDbAlignedDimension/index.js +5 -0
  16. package/dist/lib/MxModule/MxDbEntity/MxDbEntity.js +108 -28
  17. package/dist/lib/MxModule/MxDbEntity/index.js +0 -1
  18. package/dist/lib/MxModule/MxDbImage/MxDbImage.js +150 -0
  19. package/dist/lib/MxModule/MxDbImage/index.js +5 -0
  20. package/dist/lib/MxModule/MxDbSVG/MxDbSVG.js +208 -0
  21. package/dist/lib/MxModule/MxDbSVG/index.js +5 -0
  22. package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js +112 -19
  23. package/dist/lib/MxModule/MxDrawObject/index.js +0 -1
  24. package/dist/lib/MxModule/MxFun/MxFun.js +111 -19
  25. package/dist/lib/MxModule/MxFun/index.js +0 -1
  26. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js +10 -35
  27. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js +71 -29
  28. package/dist/lib/MxModule/MxThreeJS/SVGLoader.js +0 -1
  29. package/dist/lib/MxModule/MxThreeJS/index.js +0 -1
  30. package/dist/lib/MxModule/MxType/MxType.js +27 -0
  31. package/dist/lib/MxModule/MxType/index.js +4 -0
  32. package/dist/lib/MxModule/Mxassembly/Mxassembly.js +18 -0
  33. package/dist/lib/MxModule/Mxassembly/index.js +9 -0
  34. package/dist/lib/MxModule/loadCoreCode/index.js +0 -1
  35. package/dist/lib/MxModule/loadCoreCode/loadCoreCode.js +62 -41
  36. package/dist/lib/MxModule/loadCoreCode/mxcadassembly_es5.js +1519 -0
  37. package/dist/lib/MxModule/loadCoreCode/mxfun.es5.js +743 -687
  38. package/dist/lib/MxModule/store/PubsubClass.js +0 -1
  39. package/dist/lib/MxModule/store/StoreClass.js +0 -1
  40. package/dist/lib/MxModule/store/index.js +0 -1
  41. package/dist/lib/MxModule/store/store.js +1 -1
  42. package/dist/lib/MxModule/useCanvasResizeListener/index.js +0 -1
  43. package/dist/lib/MxModule/useCanvasResizeListener/useCanvasResizeListener.js +77 -25
  44. package/dist/lib/doc.js +5 -2
  45. package/dist/lib/mxdraw.js +23 -4
  46. package/dist/lib/tools/algorithm/math.js +0 -1
  47. package/dist/lib/tools/algorithm/random.js +0 -1
  48. package/dist/lib/tools/dom/create.js +0 -1
  49. package/dist/lib/tools/dynamicImport/index.js +142 -0
  50. package/dist/lib/tools/formatting/index.js +0 -1
  51. package/dist/lib/tools/proxy/index.js +0 -1
  52. package/dist/lib/tools/three/index.js +0 -1
  53. package/dist/lib/types/McEdGetPointWorldDrawObject.js +2 -0
  54. package/dist/lib/types/MrxDbgUiPrPoint.js +2 -0
  55. package/dist/lib/types/MxCADObject.js +3 -0
  56. package/dist/lib/types/MxDrawObject.js +2 -0
  57. package/dist/lib/types/MxFun.js +2 -0
  58. package/dist/lib/types/Mxassembly.js +2 -0
  59. package/dist/mxdraw.es5.js +28 -3
  60. package/dist/mxdraw.es5.js.map +1 -1
  61. package/dist/mxdraw.umd.js +29 -4
  62. package/dist/mxdraw.umd.js.map +1 -1
  63. package/dist/types/MxModule/McEdGetPointWorldDrawObject/McEdGetPointWorldDrawObjectClass.d.ts +1 -1
  64. package/dist/types/MxModule/McGeVector3d/McGeVector3d.d.ts +17 -0
  65. package/dist/types/MxModule/McGeVector3d/index.d.ts +3 -0
  66. package/dist/types/MxModule/McGiWorldDraw/McGiWorldDraw.d.ts +89 -18
  67. package/dist/types/MxModule/McGiWorldDraw/index.d.ts +1 -2
  68. package/dist/types/MxModule/McGiWorldDrawType/McGiWorldDrawType.d.ts +16 -0
  69. package/dist/types/MxModule/McGiWorldDrawType/index.d.ts +2 -0
  70. package/dist/types/MxModule/MrxDbgUiPrPoint/MrxDbgUiPrPointClass.d.ts +1 -1
  71. package/dist/types/MxModule/MxDbAlignedDimension/MxDbAlignedDimension.d.ts +21 -0
  72. package/dist/types/MxModule/MxDbAlignedDimension/index.d.ts +3 -0
  73. package/dist/types/MxModule/MxDbEntity/MxDbEntity.d.ts +110 -16
  74. package/dist/types/MxModule/MxDbImage/MxDbImage.d.ts +28 -0
  75. package/dist/types/MxModule/MxDbImage/index.d.ts +3 -0
  76. package/dist/types/MxModule/MxDbSVG/MxDbSVG.d.ts +42 -0
  77. package/dist/types/MxModule/MxDbSVG/index.d.ts +3 -0
  78. package/dist/types/MxModule/MxDrawObject/MxDrawObject.d.ts +95 -13
  79. package/dist/types/MxModule/MxFun/MxFun.d.ts +87 -15
  80. package/dist/types/MxModule/MxThreeJS/MxThreeJS.d.ts +11 -14
  81. package/dist/types/MxModule/MxType/MxType.d.ts +24 -0
  82. package/dist/types/MxModule/MxType/index.d.ts +2 -0
  83. package/dist/types/MxModule/Mxassembly/Mxassembly.d.ts +11 -0
  84. package/dist/types/MxModule/Mxassembly/index.d.ts +3 -0
  85. package/dist/types/MxModule/loadCoreCode/mxcadassembly_es5.d.ts +1 -0
  86. package/dist/types/MxModule/store/store.d.ts +3 -1
  87. package/dist/types/MxModule/useCanvasResizeListener/useCanvasResizeListener.d.ts +9 -5
  88. package/dist/types/doc.d.ts +4 -1
  89. package/dist/types/mxdraw.d.ts +16 -3
  90. package/dist/types/tools/dynamicImport/index.d.ts +1 -0
  91. package/dist/types/types/McEdGetPointWorldDrawObject.d.ts +9 -0
  92. package/dist/types/types/MrxDbgUiPrPoint.d.ts +23 -0
  93. package/dist/types/types/MxCADObject.d.ts +40 -0
  94. package/dist/types/types/MxDrawObject.d.ts +57 -0
  95. package/dist/types/types/MxFun.d.ts +40 -0
  96. package/dist/types/types/Mxassembly.d.ts +3 -0
  97. package/package.json +6 -1
  98. package/dist/lib/MxModule/McEdGetPointWorldDrawObject/McEdGetPointWorldDrawObjectClass.js.map +0 -1
  99. package/dist/lib/MxModule/McEdGetPointWorldDrawObject/index.js.map +0 -1
  100. package/dist/lib/MxModule/McGiWorldDraw/McGiWorldDraw.js.map +0 -1
  101. package/dist/lib/MxModule/McGiWorldDraw/index.js.map +0 -1
  102. package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn.js.map +0 -1
  103. package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/index.js.map +0 -1
  104. package/dist/lib/MxModule/MrxDbgUiPrPoint/MrxDbgUiPrPointClass.js.map +0 -1
  105. package/dist/lib/MxModule/MrxDbgUiPrPoint/index.js.map +0 -1
  106. package/dist/lib/MxModule/MxDbEntity/MxDbEntity.js.map +0 -1
  107. package/dist/lib/MxModule/MxDbEntity/index.js.map +0 -1
  108. package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js.map +0 -1
  109. package/dist/lib/MxModule/MxDrawObject/index.js.map +0 -1
  110. package/dist/lib/MxModule/MxFun/MxFun.js.map +0 -1
  111. package/dist/lib/MxModule/MxFun/index.js.map +0 -1
  112. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js.map +0 -1
  113. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js.map +0 -1
  114. package/dist/lib/MxModule/MxThreeJS/SVGLoader.js.map +0 -1
  115. package/dist/lib/MxModule/MxThreeJS/index.js.map +0 -1
  116. package/dist/lib/MxModule/loadCoreCode/index.js.map +0 -1
  117. package/dist/lib/MxModule/loadCoreCode/loadCoreCode.js.map +0 -1
  118. package/dist/lib/MxModule/loadCoreCode/mxfun.es5.js.map +0 -1
  119. package/dist/lib/MxModule/store/PubsubClass.js.map +0 -1
  120. package/dist/lib/MxModule/store/StoreClass.js.map +0 -1
  121. package/dist/lib/MxModule/store/index.js.map +0 -1
  122. package/dist/lib/MxModule/store/store.js.map +0 -1
  123. package/dist/lib/MxModule/useCanvasResizeListener/index.js.map +0 -1
  124. package/dist/lib/MxModule/useCanvasResizeListener/useCanvasResizeListener.js.map +0 -1
  125. package/dist/lib/doc.js.map +0 -1
  126. package/dist/lib/mxdraw.js.map +0 -1
  127. package/dist/lib/tools/algorithm/math.js.map +0 -1
  128. package/dist/lib/tools/algorithm/random.js.map +0 -1
  129. package/dist/lib/tools/dom/create.js.map +0 -1
  130. package/dist/lib/tools/formatting/index.js.map +0 -1
  131. package/dist/lib/tools/proxy/index.js.map +0 -1
  132. package/dist/lib/tools/three/index.js.map +0 -1
@@ -273,6 +273,8 @@ var MxDrawObject = /** @class */ (function () {
273
273
  * Mx.MxFun.getCurrentDraw().addEvent("render", (renderer)=> {})
274
274
  * 视区大小被修改事件.,viewsize={viewWidth:viewWidth,viewHeight:viewHeight}
275
275
  * Mx.MxFun.getCurrentDraw().addEvent("viewsizechange", (viewsize)=> {})
276
+ * 实体选择状态发生改变的事件.
277
+ * Mx.MxFun.getCurrentDraw().addEvent("MxEntitySelectChange", (aryId:Array<number>)=> {})
276
278
  * ```
277
279
  */
278
280
  MxDrawObject.prototype.addEvent = function (eventNaem, fun) {
@@ -304,7 +306,7 @@ var MxDrawObject = /** @class */ (function () {
304
306
  return this._mxdrawObj.screenCoord2World(x, y, z);
305
307
  };
306
308
  /**
307
- * ThreeJS坐标到屏幕坐标
309
+ * ThreeJS坐标到屏幕坐标,屏幕坐标的Y轴向下。坐标原点在左上角.
308
310
  * @returns THREE.Vector3
309
311
  * @example
310
312
  * ```typescript
@@ -324,8 +326,8 @@ var MxDrawObject = /** @class */ (function () {
324
326
  *
325
327
  * ```
326
328
  */
327
- MxDrawObject.prototype.screenCoord2Doc = function (x, y, z) {
328
- return this._mxdrawObj.screenCoord2Doc(x, y, z);
329
+ MxDrawObject.prototype.screenCoord2Doc = function (x, y) {
330
+ return this._mxdrawObj.screenCoord2Doc(x, y, 0);
329
331
  };
330
332
  /**
331
333
  * ThreeJS坐标长度到DWG文档坐标长度
@@ -408,8 +410,8 @@ var MxDrawObject = /** @class */ (function () {
408
410
  *
409
411
  * ```
410
412
  */
411
- MxDrawObject.prototype.docCoord2Screen = function (x, y, z) {
412
- return this._mxdrawObj.docCoord2Screen(x, y, z);
413
+ MxDrawObject.prototype.docCoord2Screen = function (x, y) {
414
+ return this._mxdrawObj.docCoord2Screen(x, y, 0);
413
415
  };
414
416
  /**
415
417
  * 屏幕坐标长度到DWG文档坐标长度
@@ -498,8 +500,33 @@ var MxDrawObject = /** @class */ (function () {
498
500
  return this._mxdrawObj.getMxAllSelect();
499
501
  };
500
502
  /**
501
- *通过id用户绘制的对象.
502
- * @returns number 返回对象的id
503
+ * 把对象添加到当前选择中.
504
+ * @returns void
505
+ * @example
506
+ * ```typescript
507
+ *
508
+ *
509
+ * ```
510
+ */
511
+ MxDrawObject.prototype.addMxCurrentSelect = function (id) {
512
+ return this._mxdrawObj.addMxCurrentSelect(id);
513
+ };
514
+ /**
515
+ * 清除当前所有选择
516
+ * @returns void
517
+ * @example
518
+ * ```typescript
519
+ *
520
+ *
521
+ * ```
522
+ */
523
+ MxDrawObject.prototype.clearMxCurrentSelect = function () {
524
+ return this._mxdrawObj.clearMxCurrentSelect();
525
+ };
526
+ /**
527
+ *通过id获取绘制的对象.
528
+ * @param id 返回对象的id
529
+ * @returns MxDbEntity
503
530
  * @example
504
531
  * ```typescript
505
532
  *
@@ -507,25 +534,24 @@ var MxDrawObject = /** @class */ (function () {
507
534
  * ```
508
535
  */
509
536
  MxDrawObject.prototype.getMxEntity = function (id) {
510
- return this._mxdrawObj.getMxEntity(id);
537
+ return this._mxdrawObj.getMxEntityUserObject(id);
511
538
  };
512
539
  /**
513
- *查找某点位置处的用户自绘对象.
514
- * @returns Array<MxDbEntity> 返回用户自绘对象数组
540
+ * 查找某点位置处的用户自绘对象.
541
+ * @param ptMouse 查找的点位 THREE.Vector3,默认是文档坐标
542
+ * @returns MxDbEntity[] 返回用户自绘对象数组
515
543
  * @example
516
544
  * ```typescript
517
545
  *
518
546
  *
519
547
  * ```
520
548
  */
521
- MxDrawObject.prototype.findMxEntityAtPoint = function (ptMouse, isWorldCoord) {
522
- if (isWorldCoord == undefined)
523
- isWorldCoord = true;
524
- return this._mxdrawObj.findMxEntityAtPoint(ptMouse, isWorldCoord);
549
+ MxDrawObject.prototype.findMxEntityAtPoint = function (ptMouse) {
550
+ return this._mxdrawObj.findMxEntityAtPoint(ptMouse);
525
551
  };
526
552
  /**
527
553
  *得到所有用户自绘对象.
528
- * @returns Array<MxDbEntity> 返回用户自绘对象数组
554
+ * @returns MxDbEntity[] 返回用户自绘对象数组
529
555
  * @example
530
556
  * ```typescript
531
557
  *
@@ -536,7 +562,8 @@ var MxDrawObject = /** @class */ (function () {
536
562
  return this._mxdrawObj.getAllMxEntity();
537
563
  };
538
564
  /**
539
- *设置鼠标中键移动视区。
565
+ * 设置鼠标中键移动视区。
566
+ * @param isPan 设置是否可以鼠标中键移动视区
540
567
  * @returns
541
568
  * @example
542
569
  * ```typescript
@@ -560,7 +587,8 @@ var MxDrawObject = /** @class */ (function () {
560
587
  return this._mxdrawObj.resetThreeJSControls();
561
588
  };
562
589
  /**
563
- *启用或禁用鼠标中键滚动缩放视区
590
+ * 启用或禁用鼠标中键滚动缩放视区
591
+ * @param isEnable 是否启用
564
592
  * @returns
565
593
  * @example
566
594
  * ```typescript
@@ -572,7 +600,8 @@ var MxDrawObject = /** @class */ (function () {
572
600
  return this._mxdrawObj.enableZoom(isEnable);
573
601
  };
574
602
  /**
575
- *启用或禁用鼠标移动视区
603
+ * 启用或禁用鼠标移动视区
604
+ * @param isEnable 是否启用
576
605
  * @returns
577
606
  * @example
578
607
  * ```typescript
@@ -583,7 +612,71 @@ var MxDrawObject = /** @class */ (function () {
583
612
  MxDrawObject.prototype.enablePan = function (isEnable) {
584
613
  return this._mxdrawObj.enablePan(isEnable);
585
614
  };
615
+ /**
616
+ * 删除MxEntity
617
+ * @param id 实体id.
618
+ * @returns
619
+ * @example
620
+ * ```typescript
621
+ *
622
+ *
623
+ * ```
624
+ */
625
+ MxDrawObject.prototype.eraseMxEntity = function (id) {
626
+ return this._mxdrawObj.eraseMxEntity(id);
627
+ };
628
+ /**
629
+ * 移除安视图坐标绘制的对象.
630
+ * @param obj 对象.
631
+ * @returns
632
+ * @example
633
+ * ```typescript
634
+ *
635
+ *
636
+ * ```
637
+ */
638
+ MxDrawObject.prototype.removeViewObject = function (obj) {
639
+ this._mxdrawObj.removeViewObject(obj);
640
+ };
641
+ /**
642
+ * 保存所有MxEntity的数据到json字符串.
643
+ * @param
644
+ * @returns json字符串
645
+ * @example
646
+ * ```typescript
647
+ *
648
+ *
649
+ * ```
650
+ */
651
+ MxDrawObject.prototype.saveMxEntityToJson = function () {
652
+ return this._mxdrawObj.saveMxEntityToJson();
653
+ };
654
+ /**
655
+ * 从json字符串恢复MxEntity
656
+ * @param dataString json字符串.
657
+ * @returns
658
+ * @example
659
+ * ```typescript
660
+ *
661
+ *
662
+ * ```
663
+ */
664
+ MxDrawObject.prototype.loadMxEntityFromJson = function (dataString) {
665
+ return this._mxdrawObj.loadMxEntityFromJson(dataString);
666
+ };
667
+ /**
668
+ * 删除所有对MxEntity
669
+ * @param
670
+ * @returns
671
+ * @example
672
+ * ```typescript
673
+ *
674
+ *
675
+ * ```
676
+ */
677
+ MxDrawObject.prototype.eraseAllMxEntity = function () {
678
+ return this._mxdrawObj.eraseAllMxEntity();
679
+ };
586
680
  return MxDrawObject;
587
681
  }());
588
682
  exports.default = MxDrawObject;
589
- //# sourceMappingURL=MxDrawObject.js.map
@@ -3,4 +3,3 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  var MxDrawObject_1 = require("./MxDrawObject");
5
5
  exports.default = MxDrawObject_1.default;
6
- //# sourceMappingURL=index.js.map
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  var random_1 = require("../../tools/algorithm/random");
4
13
  var create_1 = require("../../tools/dom/create");
@@ -21,7 +30,7 @@ var MxFun = /** @class */ (function () {
21
30
  * 创建图纸展示控件实例
22
31
  * @param canvasId 提供一个canvas元素或者唯一的ID或者class类亦或者Jquery选中的元素
23
32
  * @paramType string | HTMLCanvasElement | JQuery<HTMLElement>
24
- * @param drawName 提供要展示的图纸名称
33
+ * @param cadFile 提供要展示的图纸名称
25
34
  * @paramType string
26
35
  * @param callback 图纸展示控件创建完成后的回调函数 回调参数mxDraw和dom
27
36
  * @paramType function
@@ -32,7 +41,7 @@ var MxFun = /** @class */ (function () {
32
41
  * ``` typescript
33
42
  * Mx.MxFun.createMxObject({
34
43
  * canvasId: "my-app",
35
- * drawName: "test2.dwg",
44
+ * cadFile: "test2.dwg",
36
45
  * callback(mxDraw, { canvas, canvasParent }) {
37
46
  * console.log(mxDraw, canvas, canvasParent)
38
47
  * },
@@ -41,8 +50,7 @@ var MxFun = /** @class */ (function () {
41
50
  * ```
42
51
  */
43
52
  MxFun.prototype.createMxObject = function (_a) {
44
- var _this = this;
45
- var _b = _a.canvasId, canvasId = _b === void 0 ? (0, random_1.createReandomId)() : _b, _c = _a.drawName, drawName = _c === void 0 ? 'test2.dwg' : _c, callback = _a.callback, _d = _a.isNewFile, isNewFile = _d === void 0 ? true : _d;
53
+ var _b = _a.canvasId, canvasId = _b === void 0 ? (0, random_1.createReandomId)() : _b, _c = _a.cadFile, cadFile = _c === void 0 ? '' : _c, callback = _a.callback, _d = _a.isNewFile, isNewFile = _d === void 0 ? true : _d;
46
54
  // 获取canvas和其父级
47
55
  var canvas = (0, create_1.createCanvas)(canvasId);
48
56
  var canvasParent = (0, create_1.createCanvasParent)(canvas);
@@ -56,7 +64,7 @@ var MxFun = /** @class */ (function () {
56
64
  // canvasParent.style.position = 'relative';
57
65
  // 创建实例
58
66
  ;
59
- store_1.default.state.MxFun.createMxObject(canvasId, drawName, function (mxDraw) {
67
+ store_1.default.state.MxFun.createMxObject(canvasId, cadFile, function (mxDraw) {
60
68
  var mxdrawObj = new MxDrawObject_1.default(mxDraw);
61
69
  mxDraw.setMouseRightRotate(false);
62
70
  mxDraw.setIniset({ EnableOsnapFunction: true });
@@ -68,7 +76,7 @@ var MxFun = /** @class */ (function () {
68
76
  };
69
77
  });
70
78
  callback &&
71
- callback.call(_this, mxdrawObj, {
79
+ callback(mxdrawObj, {
72
80
  canvas: canvas,
73
81
  canvasParent: canvasParent
74
82
  });
@@ -142,7 +150,12 @@ var MxFun = /** @class */ (function () {
142
150
  * ```
143
151
  */
144
152
  MxFun.prototype.sendStringToExecute = function (cmdName) {
145
- return store_1.default.state.MxFun.sendStringToExecute(cmdName);
153
+ var _a;
154
+ var ages = [];
155
+ for (var _i = 1; _i < arguments.length; _i++) {
156
+ ages[_i - 1] = arguments[_i];
157
+ }
158
+ return (_a = store_1.default.state.MxFun).sendStringToExecute.apply(_a, __spreadArray([cmdName], ages, false));
146
159
  };
147
160
  /**
148
161
  * 调用后台服务程序中的NodeJS用户定义函数 后台程序使用Mx.MxFun.registFun注册用户定义函数
@@ -153,7 +166,7 @@ var MxFun = /** @class */ (function () {
153
166
  * @example
154
167
  * ``` typescript
155
168
  * Mx.MxFun.call("getDrawObject", {
156
- * drawName: "test.dwg"
169
+ * cadFile: "test.dwg"
157
170
  * }, (res)=> {
158
171
  * console.log(res)
159
172
  * })
@@ -187,6 +200,32 @@ var MxFun = /** @class */ (function () {
187
200
  MxFun.prototype.screenCoordLong2World = function (len) {
188
201
  return store_1.default.state.MxFun.screenCoordLong2World(len);
189
202
  };
203
+ /**
204
+ * 屏幕坐标长度转文档坐标长度
205
+ * @param len 屏幕坐标长度
206
+ * @return number 文档坐标长度
207
+ * @example
208
+ * ``` typescript
209
+ * const len = Mx.MxFun.screenCoordLong2Doc(36)
210
+ * console.log(len)
211
+ * ```
212
+ */
213
+ MxFun.prototype.screenCoordLong2Doc = function (len) {
214
+ return store_1.default.state.MxFun.screenCoordLong2Doc(len);
215
+ };
216
+ /**
217
+ * 文档坐标长度转屏幕坐标长度
218
+ * @param len 文档坐标长度
219
+ * @return number 屏幕坐标长度
220
+ * @example
221
+ * ``` typescript
222
+ * const len = Mx.MxFun.docCoordLong2Screen(36)
223
+ * console.log(len)
224
+ * ```
225
+ */
226
+ MxFun.prototype.docCoordLong2Screen = function (len) {
227
+ return store_1.default.state.MxFun.docCoordLong2Screen(len);
228
+ };
190
229
  /**
191
230
  * THREE.JS坐标长度转屏幕坐标长度
192
231
  * @param len THREE.JS坐标长度
@@ -200,6 +239,18 @@ var MxFun = /** @class */ (function () {
200
239
  MxFun.prototype.worldCoordLong2Doc = function (len) {
201
240
  return store_1.default.state.MxFun.worldCoordLong2Doc(len);
202
241
  };
242
+ /**
243
+ * DWG文档坐标长度到ThreeJS坐标长度
244
+ * @returns number
245
+ * @example
246
+ * ```typescript
247
+ *
248
+ *
249
+ * ```
250
+ */
251
+ MxFun.prototype.docCoordLong2World = function (l) {
252
+ return store_1.default.state.MxFun.docCoordLong2World(l);
253
+ };
203
254
  /**
204
255
  * 屏幕坐标转THREE.JS坐标.
205
256
  * @param x 坐标x
@@ -216,7 +267,7 @@ var MxFun = /** @class */ (function () {
216
267
  return store_1.default.state.MxFun.screenCoord2World(x, y, z);
217
268
  };
218
269
  /**
219
- * THREE.JS坐标转屏幕坐标.
270
+ * THREE.JS坐标转屏幕坐标.,屏幕坐标的Y轴向下。坐标原点在左上角.
220
271
  * @param x 坐标x
221
272
  * @param y 坐标y
222
273
  * @param z 坐标z
@@ -232,6 +283,7 @@ var MxFun = /** @class */ (function () {
232
283
  };
233
284
  /**
234
285
  * 文档坐标转THREE.JS坐标
286
+ * 说明: 文档坐标,THREE.JS坐标的X轴都是从左到右,Y轴是下到上,但是屏幕像素坐标系:X轴都是从左到右,Y轴是上到下
235
287
  * @param x 坐标x
236
288
  * @param y 坐标y
237
289
  * @param z 坐标z
@@ -272,8 +324,8 @@ var MxFun = /** @class */ (function () {
272
324
  * console.log(vector3)
273
325
  * ```
274
326
  */
275
- MxFun.prototype.screenCoord2Doc = function (x, y, z) {
276
- return store_1.default.state.MxFun.screenCoord2Doc(x, y, z);
327
+ MxFun.prototype.screenCoord2Doc = function (x, y) {
328
+ return store_1.default.state.MxFun.screenCoord2Doc(x, y, 0);
277
329
  };
278
330
  /**
279
331
  * 文档转屏幕坐标.
@@ -287,8 +339,8 @@ var MxFun = /** @class */ (function () {
287
339
  * console.log(vector3)
288
340
  * ```
289
341
  */
290
- MxFun.prototype.docCoord2Screen = function (x, y, z) {
291
- return store_1.default.state.MxFun.docCoord2Screen(x, y, z);
342
+ MxFun.prototype.docCoord2Screen = function (x, y) {
343
+ return store_1.default.state.MxFun.docCoord2Screen(x, y, 0);
292
344
  };
293
345
  /**
294
346
  * 更新显示,使用Three.js绘制了对象,调用该函数更新显示。
@@ -382,8 +434,7 @@ var MxFun = /** @class */ (function () {
382
434
  */
383
435
  MxFun.prototype.getCurrentMxCAD = function () {
384
436
  // 暂时还没有实现。
385
- return null;
386
- // return (store.state.MxFun as MxFunType).getCurrentMxCAD()
437
+ return store_1.default.state.MxFun.getCurrentMxCAD();
387
438
  };
388
439
  /**
389
440
  * 得到地址栏参数
@@ -451,7 +502,7 @@ var MxFun = /** @class */ (function () {
451
502
  return 5 + 6;
452
503
  };
453
504
  /**
454
- * 加载一个Image对象。
505
+ * 加载一个图片对象,返回Three.js材质对象,该函数具有缓存功能,下次加载同样的图片,可以直接返回.
455
506
  * @param p
456
507
  * @return any
457
508
  * @example
@@ -459,10 +510,51 @@ var MxFun = /** @class */ (function () {
459
510
  *
460
511
  * ```
461
512
  */
462
- MxFun.prototype.loadImage = function (imageUrlPath, callResult) {
463
- return store_1.default.state.MxFun.loadImage(imageUrlPath, callResult);
513
+ MxFun.prototype.loadImageMaterial = function (imageUrlPath, callResult) {
514
+ return store_1.default.state.MxFun.loadImageMaterial(imageUrlPath, callResult);
515
+ };
516
+ /**
517
+ * 判断点是否在一个闭合的多边形区域。
518
+ * @param p
519
+ * @return any
520
+ * @example
521
+ * ``` typescript
522
+ * let aryPoint:Array<THREE.Vector3> = [];
523
+ * aryPoint.push(new THREE.Vector3(0,0,0));
524
+ * aryPoint.push(new THREE.Vector3(0,100,0));
525
+ * aryPoint.push(new THREE.Vector3(100,100,0));
526
+ * aryPoint.push(new THREE.Vector3(100,0,0));
527
+ * let pt:THREE.Vector3 = new THREE.Vector3(150,150);
528
+ * if(MxFun.pointInPolyline(pt,aryPoint) ){
529
+ * console.log("in");
530
+ * }
531
+ * ```
532
+ */
533
+ MxFun.prototype.pointInPolyline = function (pt, vecPolyline) {
534
+ return store_1.default.state.MxFun.pointInPolyline(pt, vecPolyline);
535
+ };
536
+ /**
537
+ * 计算多边形区域的面积
538
+ * @param p
539
+ * @return any
540
+ * @example
541
+ * ``` typescript
542
+ * ```
543
+ */
544
+ MxFun.prototype.calcArea = function (aryPoint) {
545
+ return store_1.default.state.MxFun.calcArea(aryPoint);
546
+ };
547
+ /**
548
+ * 重新打开cad文件,该函数在控件创建完后,需要再次重新打开文件,调用。
549
+ * @param sFile 打的cad文件路径
550
+ * @return any
551
+ * @example
552
+ * ``` typescript
553
+ * ```
554
+ */
555
+ MxFun.prototype.openFile = function (sFile) {
556
+ return store_1.default.state.MxFun.openFile(sFile);
464
557
  };
465
558
  return MxFun;
466
559
  }());
467
560
  exports.default = MxFun;
468
- //# sourceMappingURL=MxFun.js.map
@@ -7,4 +7,3 @@ var MxFun_1 = require("./MxFun");
7
7
  // loadCoreCode()
8
8
  // }
9
9
  exports.default = new MxFun_1.default();
10
- //# sourceMappingURL=index.js.map
@@ -1,5 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ ///////////////////////////////////////////////////////////////////////////////
4
+ //版权所有(C)2002-2022,成都梦想凯德科技有限公司。
5
+ //本软件代码及其文档和相关资料归成都梦想凯德科技有限公司,应用包含本软件的程序必须包括以下版权声明
6
+ //此应用程序与成都梦想凯德科技有限公司成协议。通过使用本软件、其文档或相关材料
7
+ ///////////////////////////////////////////////////////////////////////////////
3
8
  var three_1 = require("three");
4
9
  var math_1 = require("../../tools/algorithm/math");
5
10
  var formatting_1 = require("../../tools/formatting");
@@ -139,8 +144,8 @@ var MxThreeJS = /** @class */ (function () {
139
144
  context.font = sFont;
140
145
  context.textAlign = 'center';
141
146
  context.textBaseline = 'middle';
142
- var sColor = (0, formatting_1.formatString)('#{0}', iColor.toString(16));
143
- context.fillStyle = sColor;
147
+ context.fillStyle = (0, formatting_1.formatString)('rgba({0}, {1}, {2}, 1.0)', ((iColor >> 16) & 0xff) + '', ((iColor >> 8) & 0xff) + '', (iColor & 0xff) + '');
148
+ //const sColor = formatString('#{0}', iColor.toString(16))
144
149
  context.fillText(message, textWidth / 2, textHeight / 2);
145
150
  var texture = new three_1.Texture(canvas);
146
151
  texture.needsUpdate = true;
@@ -241,7 +246,7 @@ var MxThreeJS = /** @class */ (function () {
241
246
  };
242
247
  /**
243
248
  * 创建Image
244
- * @param pos 图片位置
249
+ * @param pos 图片中心点位置,屏幕坐标,屏幕坐标的Y轴向上。坐标原点在左下角.
245
250
  * @param w 图片宽度
246
251
  * @param h 图片高度
247
252
  * @param imageUrlPath 图片URl地址
@@ -255,38 +260,9 @@ var MxThreeJS = /** @class */ (function () {
255
260
  * ```
256
261
  */
257
262
  MxThreeJS.prototype.createImage = function (pos, w, h, imageUrlPath, callResult) { };
258
- // createImage(pos:Vector3,w:number,h:number,imageUrlPath:string,callResult:(mesh:Mesh | null)=>void): void{
259
- // new TextureLoader().load(
260
- // imageUrlPath,
261
- // function (texture) {
262
- // let geometry = new PlaneGeometry(w, w);
263
- // // 测试 transparent: true,打开,renderOrder才管用。
264
- // let materialTexture = new MeshLambertMaterial({
265
- // map: texture,
266
- // transparent: true,
267
- // side: DoubleSide
268
- // });
269
- // if(materialTexture.map)
270
- // materialTexture.map.needsUpdate = true;
271
- // setGeometryPostion(geometry,pos);
272
- // //var mesh = new Mesh(geometry, material);
273
- // let mesh:any = new Mesh(geometry, materialTexture);
274
- // mesh.material["depthTest"]=false;
275
- // //mesh.renderOrder = renderOrder;
276
- // callResult(mesh);
277
- // },
278
- // undefined,
279
- // function (err) {
280
- // console.log(err)
281
- // callResult(null);
282
- // });
283
- // }
284
263
  /**
285
264
  * 加载SVG
286
- * @param url SVG路径地址
287
- * @param x X轴位置
288
- * @param y Y轴位置
289
- * @param scale 缩放比
265
+ * @param url SVG路径地址,该函数具有缓存功能,下次加载同样的图片,可以直接返回.
290
266
  * @param color 颜色
291
267
  * @param callResult SVG加载完成的回调 回调参数:THREE.Object3D和Array<THREE.MeshBasicMaterial>
292
268
  * @returns void
@@ -297,8 +273,7 @@ var MxThreeJS = /** @class */ (function () {
297
273
  * })
298
274
  * ```
299
275
  */
300
- MxThreeJS.prototype.loadSVG = function (url, x, y, scale, color, callResult) { };
276
+ MxThreeJS.prototype.loadSVG = function (url, color, callResult) { };
301
277
  return MxThreeJS;
302
278
  }());
303
279
  exports.default = MxThreeJS;
304
- //# sourceMappingURL=MxThreeJS.js.map
@@ -4,39 +4,23 @@ var three_1 = require("three");
4
4
  // import { SVGLoader } from 'three/examples/jsm/loaders/SVGLoader'
5
5
  var SVGLoader_1 = require("./SVGLoader");
6
6
  var three_2 = require("../../tools/three");
7
- function default_1(MxThreeJS) {
8
- MxThreeJS.createImage = function (pos, w, h, imageUrlPath, callResult) {
9
- new three_1.TextureLoader().load(imageUrlPath, function (texture) {
10
- var geometry = new three_1.PlaneGeometry(w, h);
11
- // 测试 transparent: true,打开,renderOrder才管用。
12
- var materialTexture = new three_1.MeshLambertMaterial({
13
- map: texture,
14
- transparent: true,
15
- side: three_1.DoubleSide
16
- });
17
- if (materialTexture.map)
18
- materialTexture.map.needsUpdate = true;
19
- (0, three_2.setGeometryPostion)(geometry, pos);
20
- //var mesh = new Mesh(geometry, material);
21
- var mesh = new three_1.Mesh(geometry, materialTexture);
22
- mesh.material['depthTest'] = false;
23
- //mesh.renderOrder = renderOrder;
24
- callResult && callResult(mesh);
25
- }, undefined, function (err) {
26
- console.log(err);
27
- callResult && callResult(null);
28
- });
29
- };
30
- MxThreeJS.loadSVG = function (url, x, y, scale, color, callResult) {
7
+ var MxThreeJSSVGData = /** @class */ (function () {
8
+ function MxThreeJSSVGData() {
9
+ this.svg = new three_1.Group();
10
+ this.aryMeterial = [];
11
+ }
12
+ return MxThreeJSSVGData;
13
+ }());
14
+ var MxThreeJSBuffer = /** @class */ (function () {
15
+ function MxThreeJSBuffer() {
16
+ this.mapSvgUrlToData = new Map();
17
+ }
18
+ MxThreeJSBuffer.prototype.loadSVGImp = function (url, color, callResult) {
31
19
  var loader = new SVGLoader_1.SVGLoader();
32
20
  loader.load(url, function (data) {
33
21
  var aryMeterial = [];
34
22
  var paths = data.paths;
35
23
  var group = new three_1.Group();
36
- group.scale.multiplyScalar(scale);
37
- group.position.x = x;
38
- group.position.y = y;
39
- group.scale.y *= -1;
40
24
  var drawStrokes = true;
41
25
  var strokesWireframe = false;
42
26
  var drawFillShapes = true;
@@ -85,8 +69,66 @@ function default_1(MxThreeJS) {
85
69
  }
86
70
  }
87
71
  callResult && callResult(group, aryMeterial);
72
+ }, undefined, function () {
73
+ callResult && callResult(null, null);
74
+ });
75
+ };
76
+ MxThreeJSBuffer.prototype.loadSVG = function (url, color, callResult) {
77
+ var _this = this;
78
+ var data = this.mapSvgUrlToData.get(url);
79
+ if (data) {
80
+ if (callResult) {
81
+ if (data == null)
82
+ callResult(null, null);
83
+ else
84
+ callResult(data.svg.clone(), data.aryMeterial);
85
+ }
86
+ return;
87
+ }
88
+ else {
89
+ this.loadSVGImp(url, color, function (group, aryMeterial) {
90
+ if (group && aryMeterial) {
91
+ var data_1 = new MxThreeJSSVGData();
92
+ data_1.svg = group;
93
+ data_1.aryMeterial = aryMeterial;
94
+ _this.mapSvgUrlToData.set(url, data_1);
95
+ callResult && callResult(data_1.svg.clone(), data_1.aryMeterial);
96
+ }
97
+ else {
98
+ _this.mapSvgUrlToData.set(url, null);
99
+ callResult && callResult(null, null);
100
+ }
101
+ });
102
+ }
103
+ };
104
+ return MxThreeJSBuffer;
105
+ }());
106
+ function default_1(MxThreeJS) {
107
+ var mxThreeJsBuffer = new MxThreeJSBuffer();
108
+ MxThreeJS.createImage = function (pos, w, h, imageUrlPath, callResult) {
109
+ new three_1.TextureLoader().load(imageUrlPath, function (texture) {
110
+ var geometry = new three_1.PlaneGeometry(w, h);
111
+ // 测试 transparent: true,打开,renderOrder才管用。
112
+ var materialTexture = new three_1.MeshLambertMaterial({
113
+ map: texture,
114
+ transparent: true,
115
+ side: three_1.DoubleSide
116
+ });
117
+ if (materialTexture.map)
118
+ materialTexture.map.needsUpdate = true;
119
+ (0, three_2.setGeometryPostion)(geometry, pos);
120
+ //var mesh = new Mesh(geometry, material);
121
+ var mesh = new three_1.Mesh(geometry, materialTexture);
122
+ mesh.material['depthTest'] = false;
123
+ //mesh.renderOrder = renderOrder;
124
+ callResult && callResult(mesh);
125
+ }, undefined, function (err) {
126
+ console.log(err);
127
+ callResult && callResult(null);
88
128
  });
89
129
  };
130
+ MxThreeJS.loadSVG = function (url, color, callResult) {
131
+ mxThreeJsBuffer.loadSVG(url, color, callResult);
132
+ };
90
133
  }
91
134
  exports.default = default_1;
92
- //# sourceMappingURL=MxThreeJS.mixin.js.map
@@ -1860,4 +1860,3 @@ var SVGLoader = /** @class */ (function (_super) {
1860
1860
  return SVGLoader;
1861
1861
  }(three_1.Loader));
1862
1862
  exports.SVGLoader = SVGLoader;
1863
- //# sourceMappingURL=SVGLoader.js.map
@@ -5,4 +5,3 @@ var MxThreeJS_1 = require("./MxThreeJS");
5
5
  var MxThreeJS = new MxThreeJS_1.default();
6
6
  (0, MxThreeJS_mixin_1.default)(MxThreeJS);
7
7
  exports.default = MxThreeJS;
8
- //# sourceMappingURL=index.js.map