mxdraw 0.1.159 → 0.1.160

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 (229) hide show
  1. package/README.md +1 -0
  2. package/dist/lib/MxModule/Layer/index.d.ts +36 -0
  3. package/dist/lib/MxModule/Layer/index.js +1 -0
  4. package/dist/lib/MxModule/Layer/index.js.map +1 -0
  5. package/dist/lib/MxModule/McEdGetPointWorldDrawObject/index.d.ts +8 -8
  6. package/dist/lib/MxModule/McEdGetPointWorldDrawObject/index.js.map +1 -0
  7. package/dist/lib/MxModule/McGePoint3d/index.js.map +1 -0
  8. package/dist/lib/MxModule/McGePoint3dArray/index.js.map +1 -0
  9. package/dist/lib/MxModule/McGeTool/index.js.map +1 -0
  10. package/dist/lib/MxModule/McGiWorldDraw/index.js.map +1 -0
  11. package/dist/lib/MxModule/McGiWorldDrawType/__tests__/McGiWorldDrawType.test.d.ts +1 -0
  12. package/dist/lib/MxModule/McGiWorldDrawType/__tests__/McGiWorldDrawType.test.js +1 -0
  13. package/dist/lib/MxModule/McGiWorldDrawType/__tests__/McGiWorldDrawType.test.js.map +1 -0
  14. package/dist/lib/MxModule/McGiWorldDrawType/index.js.map +1 -0
  15. package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/index.js.map +1 -0
  16. package/dist/lib/MxModule/MrxDbgUiPrPoint/index.js.map +1 -0
  17. package/dist/lib/MxModule/MrxDbgUtils/index.js.map +1 -0
  18. package/dist/lib/MxModule/Mx3PointArc/draw.js.map +1 -0
  19. package/dist/lib/MxModule/Mx3PointArc/index.js.map +1 -0
  20. package/dist/lib/MxModule/MxCADObject/index.js.map +1 -0
  21. package/dist/lib/MxModule/MxDb2LineAngularDimension/draw.js.map +1 -0
  22. package/dist/lib/MxModule/MxDb2LineAngularDimension/index.js.map +1 -0
  23. package/dist/lib/MxModule/MxDbAlignedDimension/draw.js.map +1 -0
  24. package/dist/lib/MxModule/MxDbAlignedDimension/index.js.map +1 -0
  25. package/dist/lib/MxModule/MxDbAnyLine/draw.js.map +1 -0
  26. package/dist/lib/MxModule/MxDbAnyLine/index.js.map +1 -0
  27. package/dist/lib/MxModule/MxDbArcShape/index.js.map +1 -0
  28. package/dist/lib/MxModule/MxDbArcShapeDraw/draw.js +1 -1
  29. package/dist/lib/MxModule/MxDbArcShapeDraw/draw.js.map +1 -0
  30. package/dist/lib/MxModule/MxDbArcShapeDraw/index.js +1 -1
  31. package/dist/lib/MxModule/MxDbArcShapeDraw/index.js.map +1 -0
  32. package/dist/lib/MxModule/MxDbArea/draw.js.map +1 -0
  33. package/dist/lib/MxModule/MxDbArea/index.js.map +1 -0
  34. package/dist/lib/MxModule/MxDbArrow/draw.js +1 -1
  35. package/dist/lib/MxModule/MxDbArrow/draw.js.map +1 -0
  36. package/dist/lib/MxModule/MxDbArrow/index.d.ts +1 -1
  37. package/dist/lib/MxModule/MxDbArrow/index.js.map +1 -0
  38. package/dist/lib/MxModule/MxDbCircleArc/draw.js +1 -1
  39. package/dist/lib/MxModule/MxDbCircleArc/draw.js.map +1 -0
  40. package/dist/lib/MxModule/MxDbCircleArc/index.js.map +1 -0
  41. package/dist/lib/MxModule/MxDbCircleShape/index.js.map +1 -0
  42. package/dist/lib/MxModule/MxDbCloudLine/draw.js.map +1 -0
  43. package/dist/lib/MxModule/MxDbCloudLine/index.js.map +1 -0
  44. package/dist/lib/MxModule/MxDbCoord/draw.js.map +1 -0
  45. package/dist/lib/MxModule/MxDbCoord/index.js.map +1 -0
  46. package/dist/lib/MxModule/MxDbDatabase/index.js.map +1 -0
  47. package/dist/lib/MxModule/MxDbEllipse/draw.js.map +1 -0
  48. package/dist/lib/MxModule/MxDbEllipse/index.js.map +1 -0
  49. package/dist/lib/MxModule/MxDbEllipseArc/draw.js +1 -1
  50. package/dist/lib/MxModule/MxDbEllipseArc/draw.js.map +1 -0
  51. package/dist/lib/MxModule/MxDbEllipseArc/index.js +1 -1
  52. package/dist/lib/MxModule/MxDbEllipseArc/index.js.map +1 -0
  53. package/dist/lib/MxModule/MxDbEllipseShape/index.js.map +1 -0
  54. package/dist/lib/MxModule/MxDbEntity/Events.d.ts +5 -5
  55. package/dist/lib/MxModule/MxDbEntity/Events.js.map +1 -0
  56. package/dist/lib/MxModule/MxDbEntity/Node.d.ts +92 -0
  57. package/dist/lib/MxModule/MxDbEntity/Node.js +1 -0
  58. package/dist/lib/MxModule/MxDbEntity/Node.js.map +1 -0
  59. package/dist/lib/MxModule/MxDbEntity/index.d.ts +18 -15
  60. package/dist/lib/MxModule/MxDbEntity/index.js +1 -1
  61. package/dist/lib/MxModule/MxDbEntity/index.js.map +1 -0
  62. package/dist/lib/MxModule/MxDbGradientLine/index.js.map +1 -0
  63. package/dist/lib/MxModule/MxDbGroup/index.js.map +1 -0
  64. package/dist/lib/MxModule/MxDbHatch/index.js.map +1 -0
  65. package/dist/lib/MxModule/MxDbImage/draw.js.map +1 -0
  66. package/dist/lib/MxModule/MxDbImage/index.js.map +1 -0
  67. package/dist/lib/MxModule/MxDbLayerTableRecord/index.js.map +1 -0
  68. package/dist/lib/MxModule/MxDbLeadComment/draw.js.map +1 -0
  69. package/dist/lib/MxModule/MxDbLeadComment/index.js.map +1 -0
  70. package/dist/lib/MxModule/MxDbLeadTag/draw.js +1 -1
  71. package/dist/lib/MxModule/MxDbLeadTag/draw.js.map +1 -0
  72. package/dist/lib/MxModule/MxDbLeadTag/index.js.map +1 -0
  73. package/dist/lib/MxModule/MxDbLine/draw.js +1 -1
  74. package/dist/lib/MxModule/MxDbLine/draw.js.map +1 -0
  75. package/dist/lib/MxModule/MxDbLine/index.js.map +1 -0
  76. package/dist/lib/MxModule/MxDbLineShape/index.js +1 -1
  77. package/dist/lib/MxModule/MxDbLineShape/index.js.map +1 -0
  78. package/dist/lib/MxModule/MxDbPolyline/draw.js.map +1 -0
  79. package/dist/lib/MxModule/MxDbPolyline/index.js.map +1 -0
  80. package/dist/lib/MxModule/MxDbRect/draw.js +1 -1
  81. package/dist/lib/MxModule/MxDbRect/draw.js.map +1 -0
  82. package/dist/lib/MxModule/MxDbRect/index.js.map +1 -0
  83. package/dist/lib/MxModule/MxDbRectBoxLeadComment/draw.js.map +1 -0
  84. package/dist/lib/MxModule/MxDbRectBoxLeadComment/index.js.map +1 -0
  85. package/dist/lib/MxModule/MxDbRegularPolygon/draw.js.map +1 -0
  86. package/dist/lib/MxModule/MxDbRegularPolygon/index.js +1 -1
  87. package/dist/lib/MxModule/MxDbRegularPolygon/index.js.map +1 -0
  88. package/dist/lib/MxModule/MxDbRegularPolygonShape/index.js +1 -1
  89. package/dist/lib/MxModule/MxDbRegularPolygonShape/index.js.map +1 -0
  90. package/dist/lib/MxModule/MxDbRingShape/draw.js +1 -1
  91. package/dist/lib/MxModule/MxDbRingShape/draw.js.map +1 -0
  92. package/dist/lib/MxModule/MxDbRingShape/index.js.map +1 -0
  93. package/dist/lib/MxModule/MxDbSVG/draw.js +1 -1
  94. package/dist/lib/MxModule/MxDbSVG/draw.js.map +1 -0
  95. package/dist/lib/MxModule/MxDbSVG/index.d.ts +1 -0
  96. package/dist/lib/MxModule/MxDbSVG/index.js +1 -1
  97. package/dist/lib/MxModule/MxDbSVG/index.js.map +1 -0
  98. package/dist/lib/MxModule/MxDbSVGText/index.js.map +1 -0
  99. package/dist/lib/MxModule/MxDbShape/index.d.ts +19 -9
  100. package/dist/lib/MxModule/MxDbShape/index.js +1 -1
  101. package/dist/lib/MxModule/MxDbShape/index.js.map +1 -0
  102. package/dist/lib/MxModule/MxDbSplineCurve/draw.js +1 -1
  103. package/dist/lib/MxModule/MxDbSplineCurve/draw.js.map +1 -0
  104. package/dist/lib/MxModule/MxDbSplineCurve/index.js.map +1 -0
  105. package/dist/lib/MxModule/MxDbStarShape/draw.js +1 -1
  106. package/dist/lib/MxModule/MxDbStarShape/draw.js.map +1 -0
  107. package/dist/lib/MxModule/MxDbStarShape/index.js +1 -1
  108. package/dist/lib/MxModule/MxDbStarShape/index.js.map +1 -0
  109. package/dist/lib/MxModule/MxDbText/MxDbText.js.map +1 -0
  110. package/dist/lib/MxModule/MxDbText/MxDbText_old.js.map +1 -0
  111. package/dist/lib/MxModule/MxDbText/SpriteText.d.ts +5 -5
  112. package/dist/lib/MxModule/MxDbText/SpriteText.js +1 -1
  113. package/dist/lib/MxModule/MxDbText/SpriteText.js.map +1 -0
  114. package/dist/lib/MxModule/MxDbText/draw.js +1 -1
  115. package/dist/lib/MxModule/MxDbText/draw.js.map +1 -0
  116. package/dist/lib/MxModule/MxDbText/index.js.map +1 -0
  117. package/dist/lib/MxModule/MxDrawObject/index.d.ts +17 -41
  118. package/dist/lib/MxModule/MxDrawObject/index.js +1 -1
  119. package/dist/lib/MxModule/MxDrawObject/index.js.map +1 -0
  120. package/dist/lib/MxModule/MxFilters/__tests__/index.test.d.ts +1 -0
  121. package/dist/lib/MxModule/MxFilters/__tests__/index.test.js +1 -0
  122. package/dist/lib/MxModule/MxFilters/__tests__/index.test.js.map +1 -0
  123. package/dist/lib/MxModule/MxFilters/index.js.map +1 -0
  124. package/dist/lib/MxModule/MxFun/createMxObject.d.ts +40 -0
  125. package/dist/lib/MxModule/MxFun/createMxObject.js +1 -0
  126. package/dist/lib/MxModule/MxFun/createMxObject.js.map +1 -0
  127. package/dist/lib/MxModule/MxFun/index.d.ts +117 -576
  128. package/dist/lib/MxModule/MxFun/index.js +1 -1
  129. package/dist/lib/MxModule/MxFun/index.js.map +1 -0
  130. package/dist/lib/MxModule/MxFun/initEvents.js.map +1 -0
  131. package/dist/lib/MxModule/MxFun/types.d.ts +412 -0
  132. package/dist/lib/MxModule/MxFun/types.js +1 -0
  133. package/dist/lib/MxModule/MxFun/types.js.map +1 -0
  134. package/dist/lib/MxModule/MxPaintBrush/index.js.map +1 -0
  135. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js.map +1 -0
  136. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js.map +1 -0
  137. package/dist/lib/MxModule/MxThreeJS/__tests__/MxThreeJS.test.d.ts +1 -0
  138. package/dist/lib/MxModule/MxThreeJS/__tests__/MxThreeJS.test.js +1 -0
  139. package/dist/lib/MxModule/MxThreeJS/__tests__/MxThreeJS.test.js.map +1 -0
  140. package/dist/lib/MxModule/MxThreeJS/index.js.map +1 -0
  141. package/dist/lib/MxModule/MxType/MxType.d.ts +2 -2
  142. package/dist/lib/MxModule/MxType/MxType.js.map +1 -0
  143. package/dist/lib/MxModule/MxType/index.js.map +1 -0
  144. package/dist/lib/MxModule/Mxassembly/index.js.map +1 -0
  145. package/dist/lib/MxModule/loadCoreCode/__tests__/index.test.d.ts +1 -0
  146. package/dist/lib/MxModule/loadCoreCode/__tests__/index.test.js +1 -0
  147. package/dist/lib/MxModule/loadCoreCode/__tests__/index.test.js.map +1 -0
  148. package/dist/lib/MxModule/loadCoreCode/__tests__/loadMxcadAssembly.test.js +1 -0
  149. package/dist/lib/MxModule/loadCoreCode/__tests__/loadMxcadAssembly.test.js.map +1 -0
  150. package/dist/lib/MxModule/loadCoreCode/__tests__/mxUiData.test.d.ts +1 -0
  151. package/dist/lib/MxModule/loadCoreCode/__tests__/mxUiData.test.js +1 -0
  152. package/dist/lib/MxModule/loadCoreCode/__tests__/mxUiData.test.js.map +1 -0
  153. package/dist/lib/MxModule/loadCoreCode/index-old.d.ts +9 -0
  154. package/dist/lib/MxModule/loadCoreCode/index-old.js +1 -0
  155. package/dist/lib/MxModule/loadCoreCode/index-old.js.map +1 -0
  156. package/dist/lib/MxModule/loadCoreCode/index.d.ts +2 -1
  157. package/dist/lib/MxModule/loadCoreCode/index.js +1 -1
  158. package/dist/lib/MxModule/loadCoreCode/index.js.map +1 -0
  159. package/dist/lib/MxModule/loadCoreCode/loadMxcadAssembly.d.ts +1 -0
  160. package/dist/lib/MxModule/loadCoreCode/loadMxcadAssembly.js +1 -0
  161. package/dist/lib/MxModule/loadCoreCode/loadMxcadAssembly.js.map +1 -0
  162. package/dist/lib/MxModule/loadCoreCode/mxUiData.d.ts +16 -1
  163. package/dist/lib/MxModule/loadCoreCode/mxUiData.js +1 -1
  164. package/dist/lib/MxModule/loadCoreCode/mxUiData.js.map +1 -0
  165. package/dist/lib/MxModule/loadCoreCode/mxcadassembly_es5.js.map +1 -0
  166. package/dist/lib/MxModule/loadCoreCode/mxfun.es5.js +1 -1
  167. package/dist/lib/MxModule/loadCoreCode/mxfun.es5.js.map +1 -0
  168. package/dist/lib/MxModule/store/Pubsub.d.ts +7 -7
  169. package/dist/lib/MxModule/store/Pubsub.js +1 -1
  170. package/dist/lib/MxModule/store/Pubsub.js.map +1 -0
  171. package/dist/lib/MxModule/store/Store.d.ts +10 -1
  172. package/dist/lib/MxModule/store/Store.js +1 -1
  173. package/dist/lib/MxModule/store/Store.js.map +1 -0
  174. package/dist/lib/MxModule/store/__tests__/index.test.d.ts +1 -0
  175. package/dist/lib/MxModule/store/__tests__/index.test.js +1 -0
  176. package/dist/lib/MxModule/store/__tests__/index.test.js.map +1 -0
  177. package/dist/lib/MxModule/store/index.d.ts +2 -3
  178. package/dist/lib/MxModule/store/index.js.map +1 -0
  179. package/dist/lib/MxModule/useCanvasResizeListener/index.js +1 -1
  180. package/dist/lib/MxModule/useCanvasResizeListener/index.js.map +1 -0
  181. package/dist/lib/MxModule.d.ts +460 -362
  182. package/dist/lib/doc.d.ts +4 -2
  183. package/dist/lib/doc.js +1 -1
  184. package/dist/lib/doc.js.map +1 -0
  185. package/dist/lib/index.js.map +1 -0
  186. package/dist/lib/mxdraw.d.ts +1 -0
  187. package/dist/lib/mxdraw.js +1 -1
  188. package/dist/lib/mxdraw.js.map +1 -0
  189. package/dist/lib/test/jest-setup.d.ts +1 -0
  190. package/dist/lib/test/jest-setup.js +1 -0
  191. package/dist/lib/test/jest-setup.js.map +1 -0
  192. package/dist/lib/tools/algorithm/__tests__/math.test.d.ts +1 -0
  193. package/dist/lib/tools/algorithm/__tests__/math.test.js +1 -0
  194. package/dist/lib/tools/algorithm/__tests__/math.test.js.map +1 -0
  195. package/dist/lib/tools/algorithm/__tests__/random.test.d.ts +1 -0
  196. package/dist/lib/tools/algorithm/__tests__/random.test.js +1 -0
  197. package/dist/lib/tools/algorithm/__tests__/random.test.js.map +1 -0
  198. package/dist/lib/tools/algorithm/math.js.map +1 -0
  199. package/dist/lib/tools/algorithm/random.js.map +1 -0
  200. package/dist/lib/tools/dom/__tests__/create.test.d.ts +1 -0
  201. package/dist/lib/tools/dom/__tests__/create.test.js +1 -0
  202. package/dist/lib/tools/dom/__tests__/create.test.js.map +1 -0
  203. package/dist/lib/tools/dom/create.js +1 -1
  204. package/dist/lib/tools/dom/create.js.map +1 -0
  205. package/dist/lib/tools/dynamicImport/index.js +1 -1
  206. package/dist/lib/tools/dynamicImport/index.js.map +1 -0
  207. package/dist/lib/tools/formatting/__tests__/index.test.d.ts +1 -0
  208. package/dist/lib/tools/formatting/__tests__/index.test.js +1 -0
  209. package/dist/lib/tools/formatting/__tests__/index.test.js.map +1 -0
  210. package/dist/lib/tools/formatting/index.js.map +1 -0
  211. package/dist/lib/tools/proxy/__tests__/index.test.d.ts +1 -0
  212. package/dist/lib/tools/proxy/__tests__/index.test.js +1 -0
  213. package/dist/lib/tools/proxy/__tests__/index.test.js.map +1 -0
  214. package/dist/lib/tools/proxy/index.js.map +1 -0
  215. package/dist/lib/tools/registerMxDbEntity/index.d.ts +4 -0
  216. package/dist/lib/tools/registerMxDbEntity/index.js +1 -1
  217. package/dist/lib/tools/registerMxDbEntity/index.js.map +1 -0
  218. package/dist/lib/tools/three/__tests__/index.test.d.ts +1 -0
  219. package/dist/lib/tools/three/__tests__/index.test.js +1 -0
  220. package/dist/lib/tools/three/__tests__/index.test.js.map +1 -0
  221. package/dist/lib/tools/three/index.d.ts +13 -2
  222. package/dist/lib/tools/three/index.js +1 -1
  223. package/dist/lib/tools/three/index.js.map +1 -0
  224. package/dist/mxdraw.esm.js +1 -0
  225. package/dist/mxdraw.umd.js +1 -1
  226. package/package.json +24 -14
  227. package/dist/lib/test/jestsetup.js +0 -1
  228. package/dist/mxdraw.es.js +0 -1
  229. /package/dist/lib/{test/jestsetup.d.ts → MxModule/loadCoreCode/__tests__/loadMxcadAssembly.test.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
- import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';
2
1
  import * as three from 'three';
3
2
  import { Color } from 'three';
3
+ import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';
4
4
 
5
5
  /**
6
6
  * 加载MxDraw库的核心代码 才能使用Mx的其他模块
@@ -130,8 +130,8 @@ declare enum InputToucheType {
130
130
  kGetBegan = 1,
131
131
  kGetEnd = 2
132
132
  }
133
- declare type MxColorType = number | string | THREE.Color;
134
- declare type UnstableColor = MxColorType | undefined;
133
+ type MxColorType = number | string | THREE.Color;
134
+ type UnstableColor = MxColorType | undefined;
135
135
 
136
136
  type MxType_MxCloneType = MxCloneType;
137
137
  declare const MxType_MxCloneType: typeof MxCloneType;
@@ -446,11 +446,11 @@ interface McGiWorldDraw {
446
446
  setXData(xData: any): void;
447
447
  }
448
448
 
449
- declare type EventType = string | symbol;
450
- declare type Handler<T = unknown> = (event: T) => void;
451
- declare class PubSub<Events extends Record<EventType, unknown> = any> {
449
+ type EventType = string | symbol;
450
+ type PubSubEvent = Record<EventType, (...ages: any) => any>;
451
+ declare class PubSub<Events extends PubSubEvent = PubSubEvent> {
452
452
  events: {
453
- [x: EventType]: Handler<Events[keyof Events]>[];
453
+ [x: EventType]: Events[keyof Events][];
454
454
  };
455
455
  constructor();
456
456
  /**
@@ -458,47 +458,116 @@ declare class PubSub<Events extends Record<EventType, unknown> = any> {
458
458
  * @param event 事件名称
459
459
  * @param callback 事件回调
460
460
  */
461
- on<Key extends keyof Events>(event: Key, callback: Handler<Events[keyof Events]>): void;
461
+ on<Key extends keyof Events>(event: Key, callback: Events[keyof Events]): void;
462
462
  /**
463
463
  * 发布
464
464
  * @param event 事件名称
465
465
  * @param data 载荷
466
466
  */
467
- emit<Key extends keyof Events>(event: Key | number, data?: Events[Key]): void;
467
+ emit<Key extends keyof Events>(event: Key | number, ...data: Parameters<Events[Key]>): void;
468
468
  /**
469
469
  * 销毁事件
470
470
  * @param event 事件名称
471
471
  * @param callback 事件方法
472
472
  */
473
- off<Key extends keyof Events>(event: Key, callback?: Handler<Events[keyof Events]>): void;
473
+ off<Key extends keyof Events>(event: Key, callback?: Events[keyof Events]): void;
474
474
  }
475
475
 
476
- declare class Events$1<T extends Record<EventType, unknown>> extends PubSub<T> {
476
+ type RendererEventsType = {
477
+ "click": () => void;
478
+ "hover": () => void;
479
+ "mousemove": () => void;
480
+ "mouseout": () => void;
481
+ "mouseover": () => void;
482
+ "mousedown": () => void;
483
+ "mouseup": () => void;
484
+ };
485
+ /**
486
+ * Node 节点
487
+ * @type E 事件类型 { "name": { name: string, id:number } } key-val key对应事件名称 val 对应回调值
488
+ * @example
489
+ * ```ts
490
+ * class ObjClass extends Node<{"added": { node: Node, id: number }}> {}
491
+ * ```
492
+ * */
493
+ declare class Node<E extends PubSubEvent = PubSubEvent, T extends Node<E, Node<E, any>> = Node<E, Node<E, any>>> extends PubSub<E> {
494
+ /** 它的父节点 */
495
+ parent: (this | T | null);
496
+ /** 它的子节点集合 */
497
+ children: (this | T)[];
498
+ /** 添加子节点 */
499
+ add(...ages: (this | T)[]): this;
500
+ /** 移除子节点 **/
501
+ remove(...ages: (this | T)[]): this;
502
+ /** 从父节点中移除 */
503
+ removeFromParent(): this;
504
+ /** 清除 children */
505
+ clear(): this;
506
+ /** 根据属性名称找到对应的Node节点
507
+ * @param name 属性名称
508
+ * @param value 属性值
509
+ * @example
510
+ * ```ts
511
+ * new Node().getNodeByProperty("id", "23548")
512
+ * ```
513
+ * */
514
+ getNodeByProperty<V = any>(name: string, value: V): (this | T) | undefined;
515
+ /** 根据属性名称找到对应的Node节点
516
+ * @param name 属性名称
517
+ * @param value 属性值
518
+ * @example
519
+ * ```ts
520
+ * new Node().getNodeByProperty("id", "23548")
521
+ * ```
522
+ * */
523
+ getNodesByProperty<V = any>(name: string, value: V): (T | this)[];
524
+ /** 遍历它的所有子节点包括孙子节点,直到它包含的节点全部遍历完成并都执行传入的方法
525
+ * @param callback 回调函数
526
+ * */
527
+ traverse(callback: (node: this) => void): void;
528
+ /***
529
+ * 让它的父节点依次冒泡执行传入的方法的方法
530
+ * @param callback 回调函数,第一个参数是父节点, callback的返回值为false 将停止继续传递
531
+ * */
532
+ traverseParent<V extends (Node<any, any>) = this>(callback: (node: V) => boolean | void): void;
533
+ /***
534
+ * 发布
535
+ * @param event — 事件名称
536
+ * @param data — 载荷
537
+ **/
538
+ emit<Key extends keyof E>(event: number | Key, ...data: Parameters<E[Key]>): void;
539
+ }
540
+ declare class RenderOrderNode<E extends PubSubEvent = PubSubEvent, T extends Node<any, any> = Node<any, any>> extends Node<E & RendererEventsType, T> {
541
+ constructor();
477
542
  /**
478
- * 添加一个事件处理
479
- * @returns void
480
- */
481
- addEvent: <Key extends keyof T>(event: Key, callback: Handler<T[keyof T]>) => void;
543
+ * 显示顺序
544
+ * */
545
+ renderOrder: number;
482
546
  /**
483
- * 删除一个事件处理
484
- * @returns void
485
- */
486
- removeEvent: <Key extends keyof T>(event: Key, callback?: Handler<T[keyof T]> | undefined) => void;
487
- protected callEvent: <Key extends keyof T>(event: number | Key, data?: T[Key] | undefined) => void;
547
+ * 设置显示顺序 (通过显示顺序控制图层)
548
+ * @param renderOrder 显示顺序
549
+ */
550
+ setRenderOrder(renderOrder: number): void;
551
+ /**
552
+ * 得到显示顺序
553
+ * @returns number
554
+ */
555
+ getRenderOrder(): number;
556
+ /**
557
+ * top 同层级下最上层
558
+ * **/
559
+ top(): void;
560
+ /**
561
+ * bottom 同层级下最上层
562
+ * */
563
+ bottom(): void;
564
+ /** 恢复默认显示顺序 */
565
+ restoreDefaultRenderOrder(): void;
488
566
  }
489
567
 
490
- declare type MxDbEntityEventsType = {
491
- "onStartGripEidt": void;
492
- "onEndGripEidt": void;
493
- };
494
- declare type DOMEventsType = {
495
- "click": void;
496
- "hover": void;
497
- "mousemove": void;
498
- "mouseout": void;
499
- "mouseover": void;
500
- "mousedown": void;
501
- "mouseup": void;
568
+ type MxDbEntityEventsType = {
569
+ "onStartGripEidt": () => void;
570
+ "onEndGripEidt": () => void;
502
571
  };
503
572
  /**
504
573
  * MxDbEntity 用于构建一个自定义对象的抽象类(该类无法实例化 请通过继承的方式对其抽象方法进行实现)
@@ -520,7 +589,8 @@ declare type DOMEventsType = {
520
589
  * }
521
590
  * ```
522
591
  */
523
- declare abstract class MxDbEntity extends Events$1<MxDbEntityEventsType & DOMEventsType> {
592
+ type EntityEvent = MxDbEntityEventsType;
593
+ declare abstract class MxDbEntity extends RenderOrderNode<EntityEvent, MxDbEntity> {
524
594
  constructor();
525
595
  /** 该类注册的cmd命令名称 */
526
596
  static cmd: string;
@@ -531,7 +601,7 @@ declare abstract class MxDbEntity extends Events$1<MxDbEntityEventsType & DOMEve
531
601
  /** 注册该类的cmd命令和初始化 (引入该类时自动注册 当该类的isRegister为ture时表示已经注册) */
532
602
  static register(): void;
533
603
  /** 使用该类的cmd命令 执行默认的绘制功能 */
534
- static use(): Promise<void>;
604
+ static use<T extends MxDbEntity = MxDbEntity>(callback?: (obj: T) => any): Promise<T>;
535
605
  /**
536
606
  * 颜色值
537
607
  * */
@@ -831,6 +901,17 @@ declare abstract class MxDbEntity extends Events$1<MxDbEntityEventsType & DOMEve
831
901
  */
832
902
  guid(): string;
833
903
  /**
904
+ * 添加一个事件处理
905
+ * @returns void
906
+ */
907
+ addEvent: <Key extends keyof MxDbEntityEventsType | keyof RendererEventsType>(event: Key, callback: (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void)) => void;
908
+ /**
909
+ * 删除一个事件处理
910
+ * @returns void
911
+ */
912
+ removeEvent: <Key extends keyof MxDbEntityEventsType | keyof RendererEventsType>(event: Key, callback?: (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | undefined) => void;
913
+ private callEvent;
914
+ /**
834
915
  * 对象结束开始编辑
835
916
  * @returns string
836
917
  */
@@ -1052,7 +1133,7 @@ declare class MxVueInterface {
1052
1133
  onKeydown: (keyCode: number) => void;
1053
1134
  setTipCoord: (str: any) => void;
1054
1135
  getCursorType: () => string;
1055
- setCursorType: (curtype: string) => void;
1136
+ setCursorType: (curtype: string | number) => void;
1056
1137
  getTitle: () => any;
1057
1138
  getTopButtonBarData: () => any;
1058
1139
  getMenuBarData: () => any;
@@ -1073,14 +1154,9 @@ declare class MxVueInterface {
1073
1154
  mountMxEvent: (name: string | number, call: any) => void;
1074
1155
  }
1075
1156
 
1076
- declare let mxUiData: MxVueInterface;
1077
1157
  interface CanvasParent extends HTMLElement {
1078
1158
  tabindex?: number;
1079
1159
  }
1080
- interface CmdMangerType {
1081
- McEdGetPointWorldDrawObjectClass(): any;
1082
- getMrxDbgUiPrPointClass(): any;
1083
- }
1084
1160
  /** 控件配置 **/
1085
1161
  interface iniConfig {
1086
1162
  /** 启用智能选择 */
@@ -1101,94 +1177,8 @@ interface iniConfig {
1101
1177
  IntelliSelectType?: number;
1102
1178
  }
1103
1179
  interface MxFunType {
1104
- createMxObject(canvasId: string, arg1: string | string[], arg2: (mxDraw: MxDrawObjectType) => void, is2d: boolean | undefined, isNewCreate?: boolean, isStaticLoad?: boolean, mapBox?: any, isCPPMxCAD?: boolean): void;
1105
- setMxServer(MXSERVER: string): void;
1106
- addCommand(cmdName: string, fun: Function): void;
1107
- sendStringToExecute(sCmd: string, ...params: any[]): boolean;
1108
- call(cmd: string, param?: any, retfun?: Function): void;
1109
- getCurrentDraw(): MxDrawObjectType;
1110
- screenCoordLong2World(len: number): number;
1111
- screenCoordLong2Doc(len: number): number;
1112
- worldCoordLong2Doc(len: number): number;
1113
- docCoordLong2World(len: number): number;
1114
- docCoordLong2Screen(len: number): number;
1115
- screenCoord2World(x: number | THREE.Vector3, y?: number, z?: number): THREE.Vector3;
1116
- worldCoord2Screen(x: number | THREE.Vector3, y?: number, z?: number): THREE.Vector3;
1117
- docCoord2World(x: number | THREE.Vector3, y?: number, z?: number): THREE.Vector3;
1118
- worldCoord2Doc(x: number | THREE.Vector3, y?: number, z?: number): THREE.Vector3;
1119
- screenCoord2Doc(x: number | THREE.Vector3, y?: number, z?: number): THREE.Vector3;
1120
- docCoord2Screen(x: number | THREE.Vector3, y?: number, z?: number): THREE.Vector3;
1121
- updateDisplay(): void;
1122
- addWindowsEvent(fun: (type: string, event: any) => number): void;
1123
- isRunningCommand(): boolean;
1124
- zoomW(x1: number, y1: number, x2: number, y2: number, isWorld?: boolean): void;
1125
- showLayer(idLayer: number | string, isShow: boolean, isSketch?: boolean): void;
1126
- acutPrintf(sval: string, ...val: string[]): void;
1127
- getCurrentMxCAD(): any;
1128
- getQueryString(name: string): string;
1129
- setIniset(iniObj: object): void;
1130
- upDisplayForLayerData(dataLayers: any): boolean;
1131
- enablStaticLoad(isStaticLoad?: boolean): void;
1132
- setStaticServer(server: string): void;
1133
- initUiDataObject(uiDataObj: any): void;
1134
- loadImageMaterial(imageUrlPath: string, callResult: (material: THREE.MeshLambertMaterial) => void): void;
1135
- initMxDbEntityType(userObject: any): void;
1136
- initDynamicCreate(dynCreate: any): void;
1137
- openFile(sFile: string | string[], useWebsocket: boolean): boolean;
1138
- getMxJigCmdManager(): CmdMangerType;
1139
- loadSVG(url: string, color?: number | string | THREE.Color, callResult?: any, loadSet?: any): void;
1140
- getTHREE(): any;
1141
- }
1142
- declare class MxFunClass {
1143
- constructor();
1144
- /**
1145
- * 创建图纸展示控件实例
1146
- * @param canvasId 提供一个canvas元素或者唯一的ID或者class类亦或者Jquery选中的元素
1147
- * @paramType string | HTMLCanvasElement | JQuery<HTMLElement>
1148
- * @param cadFile 提供要展示的图纸名称
1149
- * @paramType string
1150
- * @param callback 图纸展示控件创建完成后的回调函数 回调参数mxDraw和dom
1151
- * @paramType function
1152
- * @param isNewFile 是否新建文件
1153
- * @paramType boolean
1154
- * @return void
1155
- * @example
1156
- * ``` typescript
1157
- * Mx.MxFun.createMxObject({
1158
- * canvasId: "my-app",
1159
- * cadFile: "test2.dwg",
1160
- * callback(mxDraw, { canvas, canvasParent }) {
1161
- * console.log(mxDraw, canvas, canvasParent)
1162
- * },
1163
- * isNewFile: true
1164
- * })
1165
- * ```
1166
- */
1167
- createMxObject({ canvasId, cadFile, callback, isNewFile, useWebsocket, isAutoResize, mapBox, isMxCAD, userIdentitySign, isCPPMxCAD }: {
1168
- canvasId?: string;
1169
- cadFile?: string | string[];
1170
- callback?: (mxDraw: MxDrawObject, dom: {
1171
- canvas: HTMLCanvasElement;
1172
- canvasParent: CanvasParent;
1173
- }) => void;
1174
- isNewFile?: boolean;
1175
- useWebsocket?: boolean;
1176
- isAutoResize?: boolean;
1177
- mapBox?: any;
1178
- isMxCAD?: boolean;
1179
- userIdentitySign?: string;
1180
- isCPPMxCAD?: boolean;
1181
- }): void;
1182
- /**
1183
- * 为程序设置服务器地址
1184
- * @param MXSERVER 服务器地址
1185
- * @return void
1186
- * @example
1187
- * ``` typescript
1188
- * Mx.MxFun.setMxServer("ws://localhost:5090")
1189
- * ```
1190
- */
1191
- setMxServer(MXSERVER?: string): void;
1180
+ initUiDataObject(mxUiData: MxVueInterface): unknown;
1181
+ getTHREE(): typeof three;
1192
1182
  /**
1193
1183
  * 设置加载dwg文件,直接使用html get协议加载数据,这样就不需要梦想后台服务器程序。
1194
1184
  * @param isStaticLoad 是否启用html get协议加载数据文件
@@ -1260,14 +1250,6 @@ declare class MxFunClass {
1260
1250
  * ```
1261
1251
  */
1262
1252
  getCurrentDraw(): MxDrawObject;
1263
- /**
1264
- * 获得到当前数据库对象.
1265
- * @return MxDbDatabase
1266
- * @example
1267
- * ``` typescript
1268
- * ```
1269
- */
1270
- getCurrentDatabase(): MxDbDatabase;
1271
1253
  /**
1272
1254
  * 屏幕坐标长度转THREE.JS坐标长度
1273
1255
  * @param len 屏幕坐标长度
@@ -1376,39 +1358,13 @@ declare class MxFunClass {
1376
1358
  */
1377
1359
  worldCoord2Doc(x: number, y: number, z: number): THREE.Vector3;
1378
1360
  /**
1379
- * 屏幕转文档坐标
1380
- * @param x 坐标x
1381
- * @param y 坐标y
1382
- * @param z 坐标z
1383
- * @return THREE.Vector3 文档坐标
1384
- * @example
1385
- * ``` typescript
1386
- * const vector3 = Mx.MxFun.screenCoord2Doc(36, 21, 0)
1387
- * console.log(vector3)
1388
- * ```
1389
- */
1390
- screenCoord2Doc(x: number | THREE.Vector3, y?: number): THREE.Vector3;
1391
- /**
1392
- * 文档转屏幕坐标.
1393
- * @param x 坐标x
1394
- * @param y 坐标y
1395
- * @param z 坐标z
1396
- * @return THREE.Vector3 屏幕坐标
1397
- * @example
1398
- * ``` typescript
1399
- * const vector3 = Mx.MxFun.docCoord2Screen(36, 21, 0)
1400
- * console.log(vector3)
1401
- * ```
1402
- */
1403
- docCoord2Screen(x: number | THREE.Vector3, y?: number): THREE.Vector3;
1404
- /**
1405
- * 更新显示,使用Three.js绘制了对象,调用该函数更新显示。
1406
- * @return void
1407
- * @example
1408
- * ``` typescript
1409
- * Mx.MxFun.updateDisplay()
1410
- * ```
1411
- */
1361
+ * 更新显示,使用Three.js绘制了对象,调用该函数更新显示。
1362
+ * @return void
1363
+ * @example
1364
+ * ``` typescript
1365
+ * Mx.MxFun.updateDisplay()
1366
+ * ```
1367
+ */
1412
1368
  updateDisplay(): void;
1413
1369
  /**
1414
1370
  * 设置窗口鼠标等事件的回调操作
@@ -1480,16 +1436,6 @@ declare class MxFunClass {
1480
1436
  * ```
1481
1437
  */
1482
1438
  acutPrintf: ((sval: string, ...val: string[]) => void) | undefined;
1483
- /**
1484
- * 获取当前MxCAD对象,该函数在MxCAD模式下使用
1485
- * @return MxDrawObjectType MxCAD对象
1486
- * @example
1487
- * ``` typescript
1488
- * const mxcad = Mx.MxFun.getCurrentMxCAD()
1489
- * console.log(mxcad)
1490
- * ```
1491
- */
1492
- getCurrentMxCAD(): MxCADObject;
1493
1439
  /**
1494
1440
  * 得到地址栏参数
1495
1441
  * @param name
@@ -1526,44 +1472,6 @@ declare class MxFunClass {
1526
1472
  * ```
1527
1473
  */
1528
1474
  upDisplayForLayerData(dataLayers: any): boolean;
1529
- /**
1530
- * 初始化插件的UI数据对象。
1531
- * @param uiDataObj
1532
- * @return
1533
- * @example
1534
- * ``` typescript
1535
- * ```
1536
- */
1537
- initUiDataObject(uiDataObj: typeof mxUiData): void;
1538
- /**
1539
- * 获取UI数据对象
1540
- * @param uiDataObj
1541
- * @return mxUiData
1542
- * @example
1543
- * ``` typescript
1544
- * ```
1545
- */
1546
- getUIData(): MxVueInterface;
1547
- /**
1548
- * 梦想开发测试
1549
- * @param p
1550
- * @return any
1551
- * @example
1552
- * ``` typescript
1553
- * console.log(Mx.MxFun.TestMX());
1554
- * ```
1555
- */
1556
- testMX(p?: any): any;
1557
- /**
1558
- * 加载一个图片对象,返回Three.js材质对象,该函数具有缓存功能,下次加载同样的图片,可以直接返回.
1559
- * @param p
1560
- * @return any
1561
- * @example
1562
- * ``` typescript
1563
- *
1564
- * ```
1565
- */
1566
- loadImageMaterial(imageUrlPath: string, callResult?: (material: THREE.MeshLambertMaterial) => void | null): Promise<THREE.MeshLambertMaterial | null>;
1567
1475
  /**
1568
1476
  * 重新打开cad文件,该函数在控件创建完后,需要再次重新打开文件,调用。
1569
1477
  * @param sFile 打的cad文件路径
@@ -1585,59 +1493,9 @@ declare class MxFunClass {
1585
1493
  */
1586
1494
  addToCurrentSpace(ent: MxDbEntity): number;
1587
1495
  /**
1588
- * 在图上选择一个对象。
1589
- * @param strPrompt 提示字符串
1590
- * @param filter 过滤条件
1591
- * @returns number 返回对象的id
1592
- * @example
1593
- * ```typescript
1594
- *
1595
- *
1596
- * ```
1597
- */
1598
- selectEnt(strPrompt: string, filter?: any): Promise<number>;
1599
- /**
1600
- * 监听命令行消息动态更新的数据
1601
- * 在取点对象中设置的命令以及我们提供的图形对象中是有一套命令提示和参数化绘图,而该回调函数主要用来监听消息变化
1602
- * @parma callback 回调函数中data中的msCmdTip表示命令提示 msCmdText表示当前用户输入的输入内容 msCmdDisplay表示所有的消息记录
1603
- * */
1604
- listenForCommandLineInput(callback: ((data: {
1605
- msCmdTip: string;
1606
- msCmdDisplay: string;
1607
- msCmdText: string;
1608
- }) => void) | undefined): void;
1609
- /**
1610
- * 设置命令行消息数据 (在监听input输入框的onKeydown事件的回调函数中调用)
1611
- * @param msCmdText 用户输入的数据 input输入框输入的文本信息
1612
- * @param keyCode 按键Code input输入框的onKeydown事件的event事件对象的keyCode属性
1613
- * */
1614
- setCommandLineInputData(msCmdText: string, keyCode: number): void;
1615
- /**
1616
- * 监听指针(鼠标光标)移动变化的坐标信息
1617
- * @parma callback 回调函数中返回坐标信息
1618
- * */
1619
- listenForCoordTip(callback: (coordTip: string) => void): void;
1620
- /**
1621
- * 监听光标更新
1622
- * @parma cursorType当前使用的光标类型
1623
- * */
1624
- listenForUpdateCursor: (callback: ((cursorType: string) => void) | undefined) => void;
1625
- /**
1626
- * 返回mxfun.min.js中的THREE.JS对象,可以用它来创建mxfun.min.js中THREE对象。
1627
- * */
1628
- getMxFunTHREE(): any;
1629
- /**
1630
- * 返回mxfun.min.js中的ThreeJsTool对象
1631
- * */
1632
- getMxFunThreeTool(): any;
1633
- /**
1634
- * 创建十字光标图片
1635
- * */
1636
- ceneratecursor(cursorSize?: number, squareSize?: number, isRoss?: boolean, color?: string): HTMLImageElement;
1637
- /**
1638
- * 调用服务器后台CAD命令.
1639
- * */
1640
- callCommand(cmd: string, param: string, retCall?: (param: any) => void): any;
1496
+ * 调用服务器后台CAD命令.
1497
+ * */
1498
+ callCommand(cmd: string, param: string, retCall?: (param: any) => void): void;
1641
1499
  /**
1642
1500
  * CAD坐标到文档坐标.
1643
1501
  * 默认情况下,cad等于doc,当前m_isCorrectLargeCoordinates为true时,doc变成了把cad图纸修改到小范围坐标系下的坐标。
@@ -1671,24 +1529,15 @@ declare class MxFunClass {
1671
1529
  */
1672
1530
  getMxEntity(id: number): MxDbEntity | undefined;
1673
1531
  /**
1674
- * 得到当前鼠标位置,返回的是屏幕坐标 。
1675
- * @example
1676
- * ```typescript
1677
- *
1678
- *
1679
- * ```
1680
- */
1681
- getCurrentMousePostion(): THREE.Vector3;
1682
- /**
1683
- * 停止运行当前命令
1684
- * @returns
1685
- * @example
1686
- * ```typescript
1687
- *
1688
- *
1689
- * ```
1690
- */
1691
- stopRunCommand(): any;
1532
+ * 停止运行当前命令
1533
+ * @returns
1534
+ * @example
1535
+ * ```typescript
1536
+ *
1537
+ *
1538
+ * ```
1539
+ */
1540
+ stopRunCommand(): void;
1692
1541
  /**
1693
1542
  * 设置当前运行MxCAD的MxCPP环境对象。
1694
1543
  */
@@ -1709,15 +1558,7 @@ declare class MxFunClass {
1709
1558
  * MxCAD的DWG坐标长度转View坐标.
1710
1559
  */
1711
1560
  cadCoordLong2View(l: number): number;
1712
- }
1713
- /**
1714
- * MxFun 模块
1715
- * 导出库时已实例化,只需要调用实例方法 例如:
1716
- * ```typescript
1717
- * Mx.MxFun.createMxObject
1718
- * ```
1719
- */
1720
- declare const MxFun: MxFunClass;
1561
+ }
1721
1562
 
1722
1563
  /** @module MxDrawObject */
1723
1564
 
@@ -1778,11 +1619,14 @@ interface MxDrawObjectType {
1778
1619
  getViewCenterDocCoord(): THREE.Vector3;
1779
1620
  updateCanvasSize(): void;
1780
1621
  }
1781
- declare type Events = {
1782
- "loadComplete": [void];
1783
- "render": [void];
1784
- "addResizeEvent": [void];
1785
- };
1622
+ type Events = {
1623
+ "loadComplete": () => void;
1624
+ "render": () => void;
1625
+ "addResizeEvent": (resize: Function) => void;
1626
+ "initObject": () => void;
1627
+ "openFileComplete": (iResult: number) => void;
1628
+ "saveFileComplete": (iResult: number, sServerResult: string) => void;
1629
+ } & RendererEventsType;
1786
1630
  /**
1787
1631
  * 引入mxdraw库不会挂载MxDrawObject 只能在以下特定函数中获取
1788
1632
  * @function
@@ -1793,8 +1637,9 @@ declare type Events = {
1793
1637
  * {@link MxFun.getCurrentMxCAD} 方法返回值的构造类
1794
1638
  *
1795
1639
  */
1796
- declare class MxDrawObject {
1640
+ declare class MxDrawObject extends Node<Events, Node<any, any>> {
1797
1641
  private _mxdrawObj;
1642
+ private rootLayer;
1798
1643
  constructor(Mxdraw: MxDrawObjectType);
1799
1644
  /**
1800
1645
  * @instance
@@ -1989,17 +1834,6 @@ declare class MxDrawObject {
1989
1834
  * ```
1990
1835
  */
1991
1836
  initZoomW(pt1Doc: THREE.Vector3, pt2Doc: THREE.Vector3): void;
1992
- /**
1993
- * 初始化控件默认加载后,显示视区范围,默认使用图纸转换时的显示范围。。
1994
- * @param minPt DWG文档坐标1显示区域的左下角 THREE.Vector3
1995
- * @param maxPt DWG文档坐标2显示区域的右上角 THREE.Vector3
1996
- * @returns void
1997
- * @example
1998
- * ```typescript
1999
- * Mx.MxFun.getCurrentDraw().addEvent(new THREE.Vector3(0,10,10), new THREE.Vector3(3,8,20))
2000
- *
2001
- * ```
2002
- */
2003
1837
  /**
2004
1838
  * 控件对象的事件监听
2005
1839
  * @param eventNaem 事件名称
@@ -2019,7 +1853,9 @@ declare class MxDrawObject {
2019
1853
  * Mx.MxFun.getCurrentDraw().addEvent("MxEntitySelectChange", (aryId:Array<number>)=> {})
2020
1854
  * ```
2021
1855
  */
2022
- addEvent(eventNaem: keyof Events, fun: (...parmes: Events[keyof Events]) => any): void;
1856
+ addEvent(eventNaem: keyof Events, fun: Events[keyof Events]): void;
1857
+ on(event: keyof Events, callback: Events[keyof Events]): void;
1858
+ off(event: keyof Events, callback: Events[keyof Events]): boolean;
2023
1859
  /**
2024
1860
  * 移除事件函数。
2025
1861
  * @param options { eventNaem: string, fun:any; }
@@ -2027,27 +1863,7 @@ declare class MxDrawObject {
2027
1863
  * @example
2028
1864
  * ```
2029
1865
  */
2030
- removeEventFuction(eventNaem: string, fun: any): boolean;
2031
- /**
2032
- * 控件对象的事件监听
2033
- * @param eventNaem 事件名称
2034
- * @param fun 回调函数
2035
- * @returns void
2036
- * @example
2037
- * ```typescript
2038
- * Mx.MxFun.getCurrentDraw().on("addResizeEvent", ()=> {})
2039
- * Mx.MxFun.getCurrentDraw().on("viewchange", ()=> {})
2040
- * 图纸加载完成
2041
- * Mx.MxFun.getCurrentDraw().on("loadComplete", ()=> {})
2042
- * 视区重绘事件.
2043
- * Mx.MxFun.getCurrentDraw().on("render", (renderer)=> {})
2044
- * 视区大小被修改事件.,viewsize={viewWidth:viewWidth,viewHeight:viewHeight}
2045
- * Mx.MxFun.getCurrentDraw().on("viewsizechange", (viewsize)=> {})
2046
- * 实体选择状态发生改变的事件.
2047
- * Mx.MxFun.getCurrentDraw().on("MxEntitySelectChange", (aryId:Array<number>)=> {})
2048
- * ```
2049
- */
2050
- on(eventNaem: string, fun: (...parmes: any) => any): void;
1866
+ removeEventFuction(eventNaem: keyof Events, fun: Events[keyof Events]): boolean;
2051
1867
  /**
2052
1868
  * INI设置
2053
1869
  * @param options { EnableOsnapFunction: boolean; }
@@ -2723,7 +2539,15 @@ declare class Store<T extends {}> {
2723
2539
  };
2724
2540
  state: T;
2725
2541
  status: string;
2726
- events: PubSub;
2542
+ events: PubSub<{
2543
+ "MxUiMain": (call: Function) => void;
2544
+ "MxMain": (call: Function) => void;
2545
+ "use:create:MxDbEntity": (obj: MxDbEntity) => void;
2546
+ "use:error": (e: any) => void;
2547
+ "onUseCreateMxDbEntity": (obj: MxDbEntity) => void;
2548
+ "MxDbEntityRegister": () => void;
2549
+ "stateChange": (state: any) => void;
2550
+ }>;
2727
2551
  constructor(params: {
2728
2552
  state: T;
2729
2553
  mutations: {
@@ -2747,14 +2571,239 @@ declare class Store<T extends {}> {
2747
2571
  commit<T>(mutationKey: string | number, payload: T | any): boolean;
2748
2572
  }
2749
2573
 
2750
- declare type stateType = {
2574
+ type stateType = {
2751
2575
  [x: string]: any;
2752
- MxFun: MxFunType | null;
2576
+ MxFun: any | null;
2753
2577
  Mxassembly: MxassemblyType | null;
2754
2578
  isCreateDrawObj: boolean;
2755
2579
  };
2756
2580
  declare const store: Store<stateType>;
2757
2581
 
2582
+ /**
2583
+ * 创建图纸展示控件实例
2584
+ * @param canvasId 提供一个canvas元素或者唯一的ID或者class类亦或者Jquery选中的元素
2585
+ * @paramType string | HTMLCanvasElement | JQuery<HTMLElement>
2586
+ * @param cadFile 提供要展示的图纸名称
2587
+ * @paramType string
2588
+ * @param callback 图纸展示控件创建完成后的回调函数 回调参数mxDraw和dom
2589
+ * @paramType function
2590
+ * @param isNewFile 是否新建文件
2591
+ * @paramType boolean
2592
+ * @return void
2593
+ * @example
2594
+ * ``` typescript
2595
+ * Mx.MxFun.createMxObject({
2596
+ * canvasId: "my-app",
2597
+ * cadFile: "test2.dwg",
2598
+ * callback(mxDraw, { canvas, canvasParent }) {
2599
+ * console.log(mxDraw, canvas, canvasParent)
2600
+ * },
2601
+ * isNewFile: true
2602
+ * })
2603
+ * ```
2604
+ */
2605
+ declare function createMxObject(this: MxFunType, { canvasId, cadFile, callback, isNewFile, useWebsocket, isAutoResize, mapBox, isMxCAD, userIdentitySign, isCPPMxCAD }: {
2606
+ canvasId?: string;
2607
+ cadFile?: string | string[];
2608
+ callback?: (mxDraw: MxDrawObject, dom: {
2609
+ canvas: HTMLCanvasElement;
2610
+ canvasParent: CanvasParent;
2611
+ }) => void;
2612
+ isNewFile?: boolean;
2613
+ useWebsocket?: boolean;
2614
+ isAutoResize?: boolean;
2615
+ mapBox?: any;
2616
+ isMxCAD?: boolean;
2617
+ userIdentitySign?: string;
2618
+ isCPPMxCAD?: boolean;
2619
+ }): void;
2620
+
2621
+ declare let mxUiData: MxVueInterface;
2622
+ /**
2623
+ * MxFun 模块
2624
+ * 导出库时已实例化,只需要调用实例方法 例如:
2625
+ * ```typescript
2626
+ * Mx.MxFun.createMxObject
2627
+ * ```
2628
+ */
2629
+ declare const MxFun: MxFunType & {
2630
+ createMxObject: typeof createMxObject;
2631
+ /**
2632
+ * 为程序设置服务器地址
2633
+ * @param MXSERVER 服务器地址
2634
+ * @return void
2635
+ * @example
2636
+ * ``` typescript
2637
+ * Mx.MxFun.setMxServer("ws://localhost:5090")
2638
+ * ```
2639
+ */
2640
+ setMxServer(MXSERVER?: string): void;
2641
+ /**
2642
+ * 屏幕转文档坐标
2643
+ * @param x 坐标x
2644
+ * @param y 坐标y
2645
+ * @param z 坐标z
2646
+ * @return THREE.Vector3 文档坐标
2647
+ * @example
2648
+ * ``` typescript
2649
+ * const vector3 = Mx.MxFun.screenCoord2Doc(36, 21, 0)
2650
+ * console.log(vector3)
2651
+ * ```
2652
+ */
2653
+ screenCoord2Doc(x: number | THREE.Vector3, y?: number): THREE.Vector3;
2654
+ /**
2655
+ * 文档转屏幕坐标.
2656
+ * @param x 坐标x
2657
+ * @param y 坐标y
2658
+ * @param z 坐标z
2659
+ * @return THREE.Vector3 屏幕坐标
2660
+ * @example
2661
+ * ``` typescript
2662
+ * const vector3 = Mx.MxFun.docCoord2Screen(36, 21, 0)
2663
+ * console.log(vector3)
2664
+ * ```
2665
+ */
2666
+ docCoord2Screen(x: number | THREE.Vector3, y?: number): THREE.Vector3;
2667
+ /**
2668
+ * 获取当前MxCAD对象,该函数在MxCAD模式下使用
2669
+ * @return MxDrawObjectType MxCAD对象
2670
+ * @example
2671
+ * ``` typescript
2672
+ * const mxcad = Mx.MxFun.getCurrentMxCAD()
2673
+ * console.log(mxcad)
2674
+ * ```
2675
+ */
2676
+ getCurrentMxCAD(): MxCADObject;
2677
+ /**
2678
+ * 获取当前绘图控件对象
2679
+ * @return MxDrawObjectType 当前绘图控件对象
2680
+ * @example
2681
+ * ``` typescript
2682
+ * const mxDraw = Mx.MxFun.getCurrentDraw()
2683
+ * mxDraw.getScene()
2684
+ * ```
2685
+ */
2686
+ getCurrentDraw(): MxDrawObject;
2687
+ /**
2688
+ * 添加一个MxDbEntity实体到当前绘图对象上。
2689
+ * @param ent 实体对象
2690
+ * @returns number 返回对象的id.
2691
+ * @example
2692
+ * ```typescript
2693
+ *
2694
+ *
2695
+ * ```
2696
+ */
2697
+ addToCurrentSpace(ent: MxDbEntity): number;
2698
+ /**
2699
+ * 初始化插件的UI数据对象。
2700
+ * @param uiDataObj
2701
+ * @return
2702
+ * @example
2703
+ * ``` typescript
2704
+ * ```
2705
+ */
2706
+ initUiDataObject(uiDataObj: typeof mxUiData): void;
2707
+ /**
2708
+ * 获取UI数据对象
2709
+ * @param uiDataObj
2710
+ * @return mxUiData
2711
+ * @example
2712
+ * ``` typescript
2713
+ * ```
2714
+ */
2715
+ getUIData(): MxVueInterface;
2716
+ /**
2717
+ * 获得到当前数据库对象.
2718
+ * @return MxDbDatabase
2719
+ * @example
2720
+ * ``` typescript
2721
+ * ```
2722
+ */
2723
+ getCurrentDatabase(): MxDbDatabase;
2724
+ /**
2725
+ * 梦想开发测试
2726
+ * @param p
2727
+ * @return any
2728
+ * @example
2729
+ * ``` typescript
2730
+ * console.log(Mx.MxFun.TestMX());
2731
+ * ```
2732
+ */
2733
+ testMX(p?: any): any;
2734
+ /**
2735
+ * 加载一个图片对象,返回Three.js材质对象,该函数具有缓存功能,下次加载同样的图片,可以直接返回.
2736
+ * @param p
2737
+ * @return any
2738
+ * @example
2739
+ * ``` typescript
2740
+ *
2741
+ * ```
2742
+ */
2743
+ loadImageMaterial(imageUrlPath: string, callResult?: ((material: THREE.MeshLambertMaterial) => void | null) | undefined): Promise<THREE.MeshLambertMaterial | null>;
2744
+ /**
2745
+ * 在图上选择一个对象。
2746
+ * @param strPrompt 提示字符串
2747
+ * @param filter 过滤条件
2748
+ * @returns number 返回对象的id
2749
+ * @example
2750
+ * ```typescript
2751
+ *
2752
+ *
2753
+ * ```
2754
+ */
2755
+ selectEnt(strPrompt: string, filter?: any): Promise<number>;
2756
+ /**
2757
+ * 监听命令行消息动态更新的数据
2758
+ * 在取点对象中设置的命令以及我们提供的图形对象中是有一套命令提示和参数化绘图,而该回调函数主要用来监听消息变化
2759
+ * @parma callback 回调函数中data中的msCmdTip表示命令提示 msCmdText表示当前用户输入的输入内容 msCmdDisplay表示所有的消息记录
2760
+ * */
2761
+ listenForCommandLineInput(callback: ((data: {
2762
+ msCmdTip: string;
2763
+ msCmdDisplay: string;
2764
+ msCmdText: string;
2765
+ }) => void) | undefined): void;
2766
+ /**
2767
+ * 设置命令行消息数据 (在监听input输入框的onKeydown事件的回调函数中调用)
2768
+ * @param msCmdText 用户输入的数据 input输入框输入的文本信息
2769
+ * @param keyCode 按键Code input输入框的onKeydown事件的event事件对象的keyCode属性
2770
+ * */
2771
+ setCommandLineInputData(msCmdText: string, keyCode: number): void;
2772
+ /**
2773
+ * 监听指针(鼠标光标)移动变化的坐标信息
2774
+ * @parma callback 回调函数中返回坐标信息
2775
+ * */
2776
+ listenForCoordTip(callback: (coordTip: string) => void): void;
2777
+ /**
2778
+ * 监听光标更新
2779
+ * @parma cursorType当前使用的光标类型
2780
+ * */
2781
+ listenForUpdateCursor(callback: ((cursorType: string) => void) | undefined): void;
2782
+ /**
2783
+ * 返回mxfun.min.js中的THREE.JS对象,可以用它来创建mxfun.min.js中THREE对象。
2784
+ * */
2785
+ getMxFunTHREE: () => any;
2786
+ /**
2787
+ * 返回mxfun.min.js中的ThreeJsTool对象
2788
+ * */
2789
+ getMxFunThreeTool(): any;
2790
+ /**
2791
+ * 创建十字光标图片
2792
+ * */
2793
+ ceneratecursor(cursorSize?: number, squareSize?: number, isRoss?: boolean, color?: string): HTMLImageElement;
2794
+ /**
2795
+ * 得到当前鼠标位置,返回的是屏幕坐标 。
2796
+ * @example
2797
+ * ```typescript
2798
+ *
2799
+ *
2800
+ * ```
2801
+ */
2802
+ getCurrentMousePostion(): THREE.Vector3;
2803
+ /** 监听use或者调用自定义图形定义的绘制命令后创建图形对象的回调 */
2804
+ onUseCreateMxDbEntity(callback: (ages_0: MxDbEntity) => any): void;
2805
+ };
2806
+
2758
2807
  /**
2759
2808
  * MxThreeJS 模块
2760
2809
  * ##### 使用说明:
@@ -3121,14 +3170,14 @@ declare class McEdGetPointWorldDrawObject {
3121
3170
  */
3122
3171
  drawMcDbEntity(mcdbEntity: any): any;
3123
3172
  /**
3124
- * 绘制一个MxCAD数据库对象
3125
- * @param mcdbEntity MxCAD数据库对象
3126
- * @returns void
3127
- * @example
3128
- * ``` typescript
3129
- * ```
3130
- *
3131
- */
3173
+ * 绘制一个MxCAD数据库对象
3174
+ * @param mcdbEntity MxCAD数据库对象
3175
+ * @returns void
3176
+ * @example
3177
+ * ``` typescript
3178
+ * ```
3179
+ *
3180
+ */
3132
3181
  drawMcDbLine(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): any;
3133
3182
  /**
3134
3183
  * 绘制一个文档对象
@@ -3428,6 +3477,8 @@ declare class MxDbSVGText {
3428
3477
 
3429
3478
  declare function drawMxDbSVG(): Promise<void>;
3430
3479
 
3480
+ /** @module MxDbSVG*/
3481
+
3431
3482
  /**
3432
3483
  * MxDbSVG 绘制SVG图形.
3433
3484
  */
@@ -3740,10 +3791,14 @@ declare class MxDbShape extends MxDbEntity {
3740
3791
  isFill: boolean;
3741
3792
  setIsFill(isFill: boolean): this;
3742
3793
  /** 填充图片路径 */
3743
- protected _fillImageSrc: string | false | null;
3744
- get fillImageSrc(): string | false | null;
3745
- set fillImageSrc(src: string | false | null);
3746
- setFillImageSrc(fillImageSrc: string): this;
3794
+ protected _fillImageSrc: string | false | null | undefined;
3795
+ get fillImageSrc(): string | false | null | undefined;
3796
+ set fillImageSrc(src: string | false | null | undefined);
3797
+ /**
3798
+ * 设置图片值
3799
+ * fillImageSrc 当设置为null | false 时取消图片填充
3800
+ * */
3801
+ setFillImageSrc(fillImageSrc: string | null | false | undefined): this;
3747
3802
  /**
3748
3803
  * fillImageParam 填充背景图片的参数设置(如果使用了滤镜则部分参数功能失效)
3749
3804
  * */
@@ -3753,6 +3808,7 @@ declare class MxDbShape extends MxDbEntity {
3753
3808
  rotation?: number;
3754
3809
  center?: THREE.Vector2;
3755
3810
  } | undefined;
3811
+ setFillImageParam(param: typeof this$1.fillImageParam): void;
3756
3812
  /** 线段细分数值 */
3757
3813
  curveSegments: number;
3758
3814
  setCurveSegments(curveSegments: number): this;
@@ -3763,30 +3819,34 @@ declare class MxDbShape extends MxDbEntity {
3763
3819
  * 设置滤镜对象{@link MxFilters} 默认为undefined | null 则不使用该滤镜效果
3764
3820
  * */
3765
3821
  filter: MxFilters | undefined | null;
3822
+ /** 获取当前滤镜对象 {@link MxFilters} */
3823
+ getFilter(): MxFilters | undefined | null;
3824
+ setFilter(filter: MxFilters | undefined | null): void;
3766
3825
  /** 圆角半径 (一个向量点对应一个角的半径值)*/
3767
3826
  cornerRadius: number[] | number;
3768
3827
  /**
3769
3828
  * 设置圆角 圆角的半径(如果参数为数组则一个角度对应一个圆角半径)
3770
3829
  * @param { number | number[] } radius 圆角半径 为数组时[3, 2, 1, 4]分别对应左上角圆角半径3 右上角2 右下角1 左下角4; 或者直接设置半径值 则四个角统一半径
3830
+ * @param isScreenCoord 是否根据屏幕坐标设置
3771
3831
  * */
3772
3832
  setCornerRadius(radius: number | number[], isScreenCoord?: boolean): void;
3773
3833
  /** 需要输入和输出的属性 */
3774
3834
  protected _propertyDbKeys: string[];
3775
3835
  getTypeName(): string;
3776
3836
  /** 获取坐标集合 */
3777
- getShapePoints(paths: THREE.CurvePath<THREE.Vector3 | THREE.Vector2>): three.Vector3[];
3837
+ protected getShapePoints(paths: THREE.CurvePath<THREE.Vector3 | THREE.Vector2>): three.Vector3[];
3778
3838
  /*** 创建路径 */
3779
- createPaths(shapes: THREE.Curve<THREE.Vector3 | THREE.Vector2> | THREE.Curve<THREE.Vector3 | THREE.Vector2>[]): three.CurvePath<three.Vector3 | three.Vector2>;
3839
+ protected createPaths(shapes: THREE.Curve<THREE.Vector3 | THREE.Vector2> | THREE.Curve<THREE.Vector3 | THREE.Vector2>[]): three.CurvePath<three.Vector3 | three.Vector2>;
3780
3840
  /** 动态绘制函数*/
3781
- _draw(pWorldDraw: McGiWorldDraw, vertices: THREE.Vector3[]): void;
3841
+ protected _draw(pWorldDraw: McGiWorldDraw, vertices: THREE.Vector3[]): void;
3782
3842
  /** 获取生成圆角后的点 */
3783
3843
  getCornerRadiusPoints(points: THREE.Vector3[]): three.Vector3[];
3784
3844
  /** 绘制描边 */
3785
- _drawStoreLine(pWorldDraw: McGiWorldDraw, points: THREE.Vector3[], draw?: (pWorldDraw: McGiWorldDraw) => void): void;
3845
+ protected _drawStoreLine(pWorldDraw: McGiWorldDraw, points: THREE.Vector3[], draw?: (pWorldDraw: McGiWorldDraw) => void): void;
3786
3846
  /** 获取线段闭合后的曲线点数 */
3787
3847
  getClosedPoints(points: THREE.Vector3[]): three.Vector3[];
3788
3848
  /** 获取长度 */
3789
- getTotalLength(): number;
3849
+ getTotalLength(): number | undefined;
3790
3850
  /** 获取面积 */
3791
3851
  getArea(): number;
3792
3852
  worldDraw(pWorldDraw: McGiWorldDraw): void;
@@ -3796,6 +3856,7 @@ declare class MxDbShape extends MxDbEntity {
3796
3856
  moveGripPointsAt(index: number, offset: THREE.Vector3): boolean;
3797
3857
  dwgIn(obj: any): boolean;
3798
3858
  dwgOut(obj: any): object;
3859
+ transformBy(mat: THREE.Matrix4): void;
3799
3860
  }
3800
3861
 
3801
3862
  /*** 椭圆(弧)形状 */
@@ -4313,10 +4374,10 @@ declare class MxDbEllipse extends MxDbEllipseShape {
4313
4374
 
4314
4375
  declare function drawMxDbText(): Promise<void>;
4315
4376
 
4316
- declare type SpriteTextColorType = THREE.Color | string | number | CanvasGradient | CanvasPattern | undefined;
4317
- declare type SpriteTextObj = SpriteText;
4318
- declare type TextFontWeight = 'normal' | 'bold' | 'lighter' | 'bolder' | 'inherit' | number;
4319
- declare type TextFontStyle = 'normal' | 'italic' | 'oblique';
4377
+ type SpriteTextColorType = THREE.Color | string | number | CanvasGradient | CanvasPattern | undefined;
4378
+ type SpriteTextObj = SpriteText;
4379
+ type TextFontWeight = 'normal' | 'bold' | 'lighter' | 'bolder' | 'inherit' | number;
4380
+ type TextFontStyle = 'normal' | 'italic' | 'oblique';
4320
4381
  declare class SpriteText extends THREE.Sprite {
4321
4382
  constructor(options?: SpriteTextOptions);
4322
4383
  text: string;
@@ -4713,7 +4774,7 @@ declare function drawMxDbArrow(): void;
4713
4774
  declare class MxDbArrow extends MxDbShape {
4714
4775
  static cmd: string;
4715
4776
  static draw: typeof drawMxDbArrow;
4716
- /** 箭头图形 */
4777
+ /** 箭头图形 */
4717
4778
  constructor();
4718
4779
  /** 开始是否为尖角 */
4719
4780
  isSharpCorner: boolean;
@@ -4751,6 +4812,40 @@ declare class MxDbLineShape extends MxDbShape {
4751
4812
  getGetLength(): number;
4752
4813
  }
4753
4814
 
4815
+ /** 图层管理 */
4816
+ declare class Layer extends RenderOrderNode<{}, MxDbEntity> {
4817
+ isLayer: boolean;
4818
+ name: string;
4819
+ constructor(name?: string);
4820
+ get visible(): boolean;
4821
+ set visible(val: boolean);
4822
+ /** 设置层是否可见 */
4823
+ setVisible(val: boolean): void;
4824
+ private _database;
4825
+ private getDatabase;
4826
+ private getLayer;
4827
+ private getLayerMap;
4828
+ private getEntityMap;
4829
+ private getCurrentName;
4830
+ private callLayerContextFun;
4831
+ /** 默认的层名称 **/
4832
+ getRootLayerName: () => string;
4833
+ /*** 获取该数据库下的所有层的名称 */
4834
+ getNames(): string[];
4835
+ /*** 获取该层包含的所有MxDbEntity */
4836
+ getAllEntity(): MxDbEntity[];
4837
+ /** 将MxDbEntity添加到层
4838
+ * @param entityList 可以是id也可以是MxDbEntity实例
4839
+ * @example
4840
+ * ```
4841
+ * new Layer().add(new MxDbLine(), new MxDbLine(), 3)
4842
+ * ```
4843
+ */
4844
+ add(...entityList: typeof this$1.children): this;
4845
+ /*** 移除该层的MxDbEntity, MxDbEntity回退到默认层*/
4846
+ remove(...entityList: typeof this$1.children): this;
4847
+ }
4848
+
4754
4849
  declare const Mx_loadCoreCode: typeof loadCoreCode;
4755
4850
  declare const Mx_useCanvasResizeListener: typeof useCanvasResizeListener;
4756
4851
  declare const Mx_store: typeof store;
@@ -4848,6 +4943,8 @@ type Mx_MxDbArrow = MxDbArrow;
4848
4943
  declare const Mx_MxDbArrow: typeof MxDbArrow;
4849
4944
  type Mx_MxDbLineShape = MxDbLineShape;
4850
4945
  declare const Mx_MxDbLineShape: typeof MxDbLineShape;
4946
+ type Mx_Layer = Layer;
4947
+ declare const Mx_Layer: typeof Layer;
4851
4948
  declare namespace Mx {
4852
4949
  export {
4853
4950
  Mx_loadCoreCode as loadCoreCode,
@@ -4906,6 +5003,7 @@ declare namespace Mx {
4906
5003
  Mx_MxDbRegularPolygonShape as MxDbRegularPolygonShape,
4907
5004
  Mx_MxDbArrow as MxDbArrow,
4908
5005
  Mx_MxDbLineShape as MxDbLineShape,
5006
+ Mx_Layer as Layer,
4909
5007
  };
4910
5008
  }
4911
5009
 
@@ -4916,4 +5014,4 @@ declare global {
4916
5014
  }
4917
5015
  }
4918
5016
 
4919
- export { McEdGetPointWorldDrawObject, McGePoint3d, McGePoint3dArray, McGeTool, McGiWorldDraw, McGiWorldDrawType, MrxDbgUiPrBaseReturn, MrxDbgUiPrPoint, MrxDbgUtils, Mx3PointArc, MxCADObject, MxDb2LineAngularDimension, MxDbAlignedDimension, MxDbAnyLine, MxDbArcShapeDraw, MxDbArea, MxDbArrow, MxDbCircleArc, MxDbCircleShape, MxDbCloudLine, MxDbCoord, MxDbDatabase, MxDbEllipse, MxDbEllipseArc, MxDbEllipseShape, MxDbEntity, MxDbGradientLine, MxDbGroup, MxDbHatch, MxDbImage, MxDbLayerTableRecord, MxDbLeadComment, MxDbLeadTag, MxDbLine, MxDbLineShape, MxDbPolyline, MxDbRect, MxDbRectBoxLeadComment, MxDbRegularPolygon, MxDbRegularPolygonShape, MxDbRingShape, MxDbSVG, MxDbSVGText, MxDbShape, MxDbStarShape, MxDbText, MxDrawObject, MxFilters, MxFun, MxPaintBrush, MxThreeJS, MxType, Mxassembly, Mx as default, loadCoreCode, store, useCanvasResizeListener };
5017
+ export { Layer, McEdGetPointWorldDrawObject, McGePoint3d, McGePoint3dArray, McGeTool, McGiWorldDraw, McGiWorldDrawType, MrxDbgUiPrBaseReturn, MrxDbgUiPrPoint, MrxDbgUtils, Mx3PointArc, MxCADObject, MxDb2LineAngularDimension, MxDbAlignedDimension, MxDbAnyLine, MxDbArcShapeDraw, MxDbArea, MxDbArrow, MxDbCircleArc, MxDbCircleShape, MxDbCloudLine, MxDbCoord, MxDbDatabase, MxDbEllipse, MxDbEllipseArc, MxDbEllipseShape, MxDbEntity, MxDbGradientLine, MxDbGroup, MxDbHatch, MxDbImage, MxDbLayerTableRecord, MxDbLeadComment, MxDbLeadTag, MxDbLine, MxDbLineShape, MxDbPolyline, MxDbRect, MxDbRectBoxLeadComment, MxDbRegularPolygon, MxDbRegularPolygonShape, MxDbRingShape, MxDbSVG, MxDbSVGText, MxDbShape, MxDbStarShape, MxDbText, MxDrawObject, MxFilters, MxFun, MxPaintBrush, MxThreeJS, MxType, Mxassembly, Mx as default, loadCoreCode, store, useCanvasResizeListener };