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
@@ -79,7 +79,7 @@ export default class McEdGetPointWorldDrawObject {
79
79
  * pWorldDraw.setColor(0xFFFFFF)
80
80
  * ```
81
81
  */
82
- setColor(iColor: number): void;
82
+ setColor(iColor: ColorType): void;
83
83
  /**
84
84
  * 得到绘制对象颜色.
85
85
  * @returns 颜色
@@ -0,0 +1,17 @@
1
+ /**
2
+ * McGeVector3d
3
+ * @example ```typescript
4
+ * ```
5
+ */
6
+ export default interface McGeVector3d {
7
+ /**
8
+ *
9
+ * @returns
10
+ */
11
+ getVal(t: number): number;
12
+ /**
13
+ *
14
+ * @returns
15
+ */
16
+ setVal(v: number): void;
17
+ }
@@ -0,0 +1,3 @@
1
+ /** @module MrxDbgUiPrPointClass */
2
+ import McGeVector3d from './McGeVector3d';
3
+ export default McGeVector3d;
@@ -1,18 +1,9 @@
1
1
  /** @module McGiWorldDraw*/
2
+ import McGiWorldDrawType from '../McGiWorldDrawType';
2
3
  import MxDrawObject from '../MxDrawObject';
3
4
  /**
4
- * 动态绘制类型
5
- * @example ```typescript
6
- *
7
- * ```
8
- */
9
- export declare enum McGiWorldDrawType {
10
- kWorldDraw = 1,
11
- kDynDragDraw = 2,
12
- kSelectDraw = 3
13
- }
14
- /**
15
- * McGiWorldDraw 用于构建一个动态绘制回调对象
5
+ * McGiWorldDraw 用于构建一个动态绘制回调对象的规范接口
6
+ * @abstract 是 {@link MxDbEntity.worldDraw }必须实现的抽象回调方法中的回调对象 通过回调对象完成一些动态绘制任务
16
7
  * @example ```typescript
17
8
  *
18
9
  * ```
@@ -29,7 +20,7 @@ export default interface McGiWorldDraw {
29
20
  */
30
21
  getType(): McGiWorldDrawType;
31
22
  /**
32
- * 绘制一个Three.js对象明
23
+ * 绘制一个Three.js对象
33
24
  * @param ent Three.js对象
34
25
  * @returns void
35
26
  * @example
@@ -51,6 +42,7 @@ export default interface McGiWorldDraw {
51
42
  getMxObject(): MxDrawObject;
52
43
  /**
53
44
  * 设置绘制颜色
45
+ * @param iColor 颜色值
54
46
  * @returns
55
47
  * @example
56
48
  * ``` typescript
@@ -58,7 +50,7 @@ export default interface McGiWorldDraw {
58
50
  * ```
59
51
  *
60
52
  */
61
- setColor(iColor: number): void;
53
+ setColor(iColor: ColorType): void;
62
54
  /**
63
55
  * 返回绘制颜色
64
56
  * @returns
@@ -91,6 +83,8 @@ export default interface McGiWorldDraw {
91
83
  getLineWidth(): number;
92
84
  /**
93
85
  * 绘制直线
86
+ * @param pt1 第一个点 THREE.Vector3
87
+ * @param pt2 第二个点
94
88
  * @returns
95
89
  * @example
96
90
  * ``` typescript
@@ -98,9 +92,10 @@ export default interface McGiWorldDraw {
98
92
  * ```
99
93
  *
100
94
  */
101
- drawLine(pt1: THREE.Vector3, pt2: THREE.Vector3): void;
95
+ drawLine(pt1: THREE.Vector3 | number, pt2: THREE.Vector3 | number, x2?: number, y2?: number): void;
102
96
  /**
103
- * 绘制直线
97
+ * 绘制连续的直线
98
+ * @param points 点数组
104
99
  * @returns
105
100
  * @example
106
101
  * ``` typescript
@@ -108,9 +103,11 @@ export default interface McGiWorldDraw {
108
103
  * ```
109
104
  *
110
105
  */
111
- drawLine2(x1: number, y1: number, x2: number, y2: number): void;
106
+ drawLines(points: THREE.Vector3[]): void;
112
107
  /**
113
108
  * 绘制圆
109
+ * @param cen 圆的中心点 THREE.Vector3
110
+ * @param dRadius 圆的半径
114
111
  * @returns
115
112
  * @example
116
113
  * ``` typescript
@@ -121,6 +118,10 @@ export default interface McGiWorldDraw {
121
118
  drawCircle(cen: THREE.Vector3, dRadius: number): void;
122
119
  /**
123
120
  * 绘文本
121
+ * @param sText 文本信息
122
+ * @param iSize 文字大小
123
+ * @param dAngle 角度
124
+ * @param pt 位置
124
125
  * @returns
125
126
  * @example
126
127
  * ``` typescript
@@ -130,7 +131,7 @@ export default interface McGiWorldDraw {
130
131
  */
131
132
  drawText(sText: string, iSize: number, dAngle: number, pt: THREE.Vector3): void;
132
133
  /**
133
- * 设置DrawOrder
134
+ * 设置DrawOrder,默认值为100.
134
135
  * @returns
135
136
  * @example
136
137
  * ``` typescript
@@ -149,4 +150,74 @@ export default interface McGiWorldDraw {
149
150
  *
150
151
  */
151
152
  getRenderOrder(): number;
153
+ /**
154
+ * 设置宽度单位是屏幕像素,默认是屏幕像素,设置false,单位是Threejs坐标。
155
+ * @returns
156
+ * @example
157
+ * ``` typescript
158
+ *
159
+ * ```
160
+ *
161
+ */
162
+ setLineWidthIsPixels(isPixels: boolean): void;
163
+ /**
164
+ * 得到宽度单位
165
+ * @returns
166
+ * @example
167
+ * ``` typescript
168
+ *
169
+ * ```
170
+ *
171
+ */
172
+ getLineWidthIsPixels(): boolean;
173
+ /**
174
+ * 设置虚线显示数据。
175
+ * @returns
176
+ * @example
177
+ * ``` typescript
178
+ *
179
+ * ```
180
+ *
181
+ */
182
+ setDash(dDashArray: number, dDashRatio: number): void;
183
+ /**
184
+ * 得到虚线显示数据。
185
+ * @returns
186
+ * @example
187
+ * ``` typescript
188
+ *
189
+ * ```
190
+ *
191
+ */
192
+ getDash(): any;
193
+ /**
194
+ * 设置虚线显示
195
+ * @returns
196
+ * @example
197
+ * ``` typescript
198
+ *
199
+ * ```
200
+ *
201
+ */
202
+ setDashLineDisplay(isDashLine: boolean): void;
203
+ /**
204
+ *是否虚线显示
205
+ * @returns
206
+ * @example
207
+ * ``` typescript
208
+ *
209
+ * ```
210
+ *
211
+ */
212
+ isDashLineDisplay(): boolean;
213
+ /**
214
+ *绘制选择线。
215
+ * @returns
216
+ * @example
217
+ * ``` typescript
218
+ *
219
+ * ```
220
+ *
221
+ */
222
+ drawSelectLine(pt1: THREE.Vector3 | number, pt2: THREE.Vector3 | number, x2?: number, y2?: number): void;
152
223
  }
@@ -1,3 +1,2 @@
1
- /** @module McEdGetPointWorldDrawObject*/
2
- import McGiWorldDraw from './McGiWorldDraw';
1
+ import McGiWorldDraw from "./McGiWorldDraw";
3
2
  export default McGiWorldDraw;
@@ -0,0 +1,16 @@
1
+ /** @module McGiWorldDrawType*/
2
+ /**
3
+ * 动态绘制类型
4
+ * @example ```typescript
5
+
6
+ * ```
7
+ */
8
+ declare enum McGiWorldDrawType {
9
+ /** 正常绘制 */
10
+ kWorldDraw = 1,
11
+ /** 动态拖动的绘制 */
12
+ kDynDragDraw = 2,
13
+ /** 对选择高亮的绘制 */
14
+ kSelectDraw = 3
15
+ }
16
+ export default McGiWorldDrawType;
@@ -0,0 +1,2 @@
1
+ import McGiWorldDrawType from "./McGiWorldDrawType";
2
+ export default McGiWorldDrawType;
@@ -1,5 +1,5 @@
1
1
  /** @module MrxDbgUiPrPointClass */
2
- import { MrxDbgUiPrBaseReturn } from '@/types/MrxDbgUiPrPoint';
2
+ import { MrxDbgUiPrBaseReturn } from '../../types/MrxDbgUiPrPoint';
3
3
  /**
4
4
  * MrxDbgUiPrPoint 用于构建一个取点对象
5
5
  * @example ```typescript
@@ -0,0 +1,21 @@
1
+ /** @module MxDbAlignedDimension*/
2
+ import * as THREE from 'three';
3
+ import McGiWorldDraw from '../McGiWorldDraw';
4
+ import MxDbEntity from '../MxDbEntity';
5
+ /**
6
+ * MxDbAlignedDimension 尺寸对象.
7
+ */
8
+ export default class MxDbAlignedDimension extends MxDbEntity {
9
+ private pt1;
10
+ private pt2;
11
+ getTypeName(): string;
12
+ private getDirection;
13
+ worldDraw(pWorldDraw: McGiWorldDraw): void;
14
+ setPoint1(pt1: THREE.Vector3): void;
15
+ setPoint2(pt2: THREE.Vector3): void;
16
+ getGripPoints(): Array<THREE.Vector3>;
17
+ moveGripPointsAt(index: number, offset: THREE.Vector3): boolean;
18
+ dwgIn(obj: any): boolean;
19
+ dwgOut(obj: any): object;
20
+ create(): MxDbEntity;
21
+ }
@@ -0,0 +1,3 @@
1
+ /** @module McEdGetPointWorldDrawObject*/
2
+ import MxDbAlignedDimension from './MxDbAlignedDimension';
3
+ export default MxDbAlignedDimension;
@@ -1,16 +1,31 @@
1
1
  /** @module MxDbEntity*/
2
2
  import McGiWorldDraw from '../McGiWorldDraw';
3
3
  /**
4
- * MxDbEntity 用于构建一个动态绘制回调对象
4
+ * MxDbEntity 用于构建一个自定义对象的抽象类(该类无法实例化 请通过继承的方式对其抽象方法进行实现)
5
+ * @description MxDbEntity 属于 abstract class(抽象类) 主要用途是通过继承这个类实现一个用于动态绘制的回调对象
6
+ * 继承实现这个类必须实现的抽象方法:(方法名称前有'Abstract'标签就是必须实现的方法)
5
7
  * @example ```typescript
6
- *
8
+ * import THREE from "three"
9
+ * import { McGiWorldDraw, MxDbEntity } from "mxdraw"
10
+ * class MxLineEntity extends MxDbEntity {
11
+ * constructor() {
12
+ * super(); // 在派生类的构造函数中必须调用 super()
13
+ * }
14
+ * private pt1: THREE.Vector3 = new THREE.Vector3();
15
+ * private pt2: THREE.Vector3 = new THREE.Vector3();
16
+ * worldDraw(pWorldDraw: McGiWorldDraw) {
17
+ * pWorldDraw.drawLine(this.pt1,this.pt2);
18
+ * }
19
+ * ...
20
+ * }
7
21
  * ```
8
22
  */
9
23
  export default abstract class MxDbEntity {
10
24
  private iColor;
25
+ private iRenderOrder;
11
26
  /**
12
- * 自定义对象的绘制函数。
13
- * @param pWorldDraw 绘制对象
27
+ * 自定义对象的绘制函数。在方法中定义如何绘制图形
28
+ * @param pWorldDraw 绘制对象{@link McGiWorldDraw }
14
29
  * @returns void
15
30
  * @example
16
31
  * ``` typescript
@@ -22,7 +37,7 @@ export default abstract class MxDbEntity {
22
37
  /**
23
38
  * 返回自定义对象的夹点.
24
39
  * @param
25
- * @returns void
40
+ * @returns Array<THREE.Vector3>
26
41
  * @example
27
42
  * ``` typescript
28
43
  *
@@ -44,7 +59,7 @@ export default abstract class MxDbEntity {
44
59
  /**
45
60
  * 新创建一个自定义对象
46
61
  * @param
47
- * @returns boolean
62
+ * @returns MxDbEntity
48
63
  * @example
49
64
  * ``` typescript
50
65
  *
@@ -57,20 +72,49 @@ export default abstract class MxDbEntity {
57
72
  * @returns boolean
58
73
  * @example
59
74
  * ``` typescript
60
- *
75
+ * class MxLine extends MxDbEntity {
76
+ * dwgIn(obj) {
77
+ * // 必须调用 同步自定义数据对象输入
78
+ * this.onDwgIn(obj)
79
+ * }
80
+ * }
61
81
  * ```
62
82
  */
63
- dwgIn(obj: any): boolean;
83
+ abstract dwgIn(obj: any): boolean;
64
84
  /**
65
85
  * 自定义对象数据输出,必须要实现该函数
66
86
  * @param
67
- * @returns boolean
87
+ * @returns object
88
+ * @example
89
+ * ``` typescript
90
+ * class MxLine extends MxDbEntity {
91
+ * dwgOut(obj) {
92
+ * // 必须调用 同步自定义数据对象输出
93
+ * this.onDwgOut(obj)
94
+ * }
95
+ * }
96
+ * ```
97
+ */
98
+ abstract dwgOut(obj: any): object;
99
+ /**
100
+ * 得到对象类型名
101
+ * @param
102
+ * @returns string
68
103
  * @example
69
104
  * ``` typescript
70
105
  *
71
106
  * ```
72
107
  */
73
- dwgOut(obj: any): object;
108
+ abstract getTypeName(): string;
109
+ /**
110
+ * 自定义实体的坐标变换.
111
+ * @param
112
+ * @returns void
113
+ * @example
114
+ * }
115
+ * ```
116
+ */
117
+ transformBy(mat: THREE.Matrix4): void;
74
118
  private getImp;
75
119
  /**
76
120
  * 更新显示
@@ -81,7 +125,17 @@ export default abstract class MxDbEntity {
81
125
  *
82
126
  * ```
83
127
  */
84
- upDisplay(): boolean;
128
+ setNeedUpdateDisplay(isImmediate?: boolean): boolean;
129
+ /**
130
+ * 得到对象的id.
131
+ * @param
132
+ * @returns number
133
+ * @example
134
+ * ``` typescript
135
+ *
136
+ * ```
137
+ */
138
+ objectId(): number;
85
139
  /**
86
140
  * 删除对象
87
141
  * @param
@@ -101,7 +155,7 @@ export default abstract class MxDbEntity {
101
155
  *
102
156
  * ```
103
157
  */
104
- setColor(iColor: number): void;
158
+ setColor(iColor: ColorType): void;
105
159
  /**
106
160
  * 得到颜色
107
161
  * @param
@@ -111,15 +165,55 @@ export default abstract class MxDbEntity {
111
165
  *
112
166
  * ```
113
167
  */
114
- getColor(): number;
168
+ getColor(): ColorType;
115
169
  /**
116
- * 得到对象类型名
170
+ * 复制对象。
117
171
  * @param
118
- * @returns string
172
+ * @returns MxDbEntity
173
+ * @example
174
+ * ``` typescript
175
+ *
176
+ * ```
177
+ */
178
+ clone(type?: number): any;
179
+ /**
180
+ * 自定义对象内部数据输入同步(实现dwgIn抽象方法 必须在实现中调用 this.onDwgIn())
181
+ * @param obj dwgIn抽象方法的回调数据
182
+ */
183
+ protected onDwgIn(obj: any): void;
184
+ /**
185
+ * 自定义对象内部数据输出同步(实现dwgIn抽象方法 必须在实现中调用 this.onDwgIn()
186
+ * @param obj dwgOut抽象方法的回调数据
187
+ */
188
+ protected onDwgOut(obj: any): void;
189
+ /**
190
+ * 初始自定义对象的类型信息.
191
+ * @param
192
+ * @returns
193
+ * @example
194
+ * ``` typescript
195
+ *
196
+ * ```
197
+ */
198
+ rxInit(): void;
199
+ /**
200
+ * 设置显示顺序
201
+ * @param
202
+ * @returns boolean
203
+ * @example
204
+ * ``` typescript
205
+ *
206
+ * ```
207
+ */
208
+ setRenderOrder(iRenderOrder: number): void;
209
+ /**
210
+ * 得到显示顺序
211
+ * @param
212
+ * @returns boolean
119
213
  * @example
120
214
  * ``` typescript
121
215
  *
122
216
  * ```
123
217
  */
124
- getTypeName(): string;
218
+ getRenderOrder(): number;
125
219
  }
@@ -0,0 +1,28 @@
1
+ /** @module MxDbImage*/
2
+ import * as THREE from 'three';
3
+ import McGiWorldDraw from '../McGiWorldDraw';
4
+ import MxDbEntity from '../MxDbEntity';
5
+ /**
6
+ * MxDbImage 图片对象.
7
+ */
8
+ export default class MxDbImage extends MxDbEntity {
9
+ private pt1;
10
+ private pt2;
11
+ private imagePath;
12
+ private isLoadMaterialFromPath;
13
+ private material;
14
+ getTypeName(): string;
15
+ worldDraw(pWorldDraw: McGiWorldDraw): void;
16
+ setImagePath(sPath: string): void;
17
+ getImagePath(): string;
18
+ setMaterial(material: THREE.MeshLambertMaterial): void;
19
+ setPoint1(pt1: THREE.Vector3): void;
20
+ getPoint1(): THREE.Vector3;
21
+ setPoint2(pt2: THREE.Vector3): void;
22
+ getPoint2(): THREE.Vector3;
23
+ getGripPoints(): Array<THREE.Vector3>;
24
+ moveGripPointsAt(index: number, offset: THREE.Vector3): boolean;
25
+ dwgIn(obj: any): boolean;
26
+ dwgOut(obj: any): object;
27
+ create(): MxDbEntity;
28
+ }
@@ -0,0 +1,3 @@
1
+ /** @module McEdGetPointWorldDrawObject*/
2
+ import MxDbImage from './MxDbImage';
3
+ export default MxDbImage;
@@ -0,0 +1,42 @@
1
+ /** @module MxDbSVG*/
2
+ import * as THREE from 'three';
3
+ import McGiWorldDraw from '../McGiWorldDraw';
4
+ import MxDbEntity from '../MxDbEntity';
5
+ /**
6
+ * MxDbSVG SVG对象.
7
+ */
8
+ export default class MxDbSVG extends MxDbEntity {
9
+ private svgPos;
10
+ private svg;
11
+ private svgPath;
12
+ private svgSize;
13
+ private svgAlignmentRatio;
14
+ private isSvgDirtyLocation;
15
+ private isLoadFromPath;
16
+ private txtPos;
17
+ private txt;
18
+ private txtHeight;
19
+ worldDraw(pWorldDraw: McGiWorldDraw): void;
20
+ setSvgPath(path: string): void;
21
+ getSvgPath(): string;
22
+ setSvgPostion(pos: THREE.Vector3): void;
23
+ getSvgPostion(): THREE.Vector3;
24
+ setSvgSize(size: THREE.Vector2): void;
25
+ getSvgSize(): THREE.Vector2;
26
+ setSvgAlignmentRatio(alignmentRatio: THREE.Vector2): void;
27
+ getSvgAlignmentRatio(): THREE.Vector2;
28
+ setTextHeight(height: number): void;
29
+ getTextHeight(): number;
30
+ setText(txt: string): void;
31
+ getText(): string;
32
+ setTextPostion(pos: THREE.Vector3): void;
33
+ getTextPostion(): THREE.Vector3;
34
+ getGripPoints(): Array<THREE.Vector3>;
35
+ moveGripPointsAt(index: number, offset: THREE.Vector3): boolean;
36
+ private calcSvgPosition;
37
+ dwgIn(obj: any): boolean;
38
+ dwgOut(obj: any): object;
39
+ create(): MxDbEntity;
40
+ transformBy(mat: THREE.Matrix4): void;
41
+ getTypeName(): string;
42
+ }
@@ -0,0 +1,3 @@
1
+ /** @module McEdGetPointWorldDrawObject*/
2
+ import MxDbSVG from './MxDbSVG';
3
+ export default MxDbSVG;