mxdraw 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +0 -0
  3. package/dist/lib/MxCore/MxDrawObject/MxDrawObject.js +242 -0
  4. package/dist/lib/MxCore/MxDrawObject/MxDrawObject.js.map +1 -0
  5. package/dist/lib/MxCore/MxFun/MxFun.js +408 -0
  6. package/dist/lib/MxCore/MxFun/MxFun.js.map +1 -0
  7. package/dist/lib/MxCore/MxJigCmdManager/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js +93 -0
  8. package/dist/lib/MxCore/MxJigCmdManager/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js.map +1 -0
  9. package/dist/lib/MxCore/MxJigCmdManager/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.js +139 -0
  10. package/dist/lib/MxCore/MxJigCmdManager/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.js.map +1 -0
  11. package/dist/lib/MxCore/MxJigCmdManager/index.js +8 -0
  12. package/dist/lib/MxCore/MxJigCmdManager/index.js.map +1 -0
  13. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js +205 -0
  14. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js.map +1 -0
  15. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js +91 -0
  16. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js.map +1 -0
  17. package/dist/lib/MxModule.js +31 -0
  18. package/dist/lib/MxModule.js.map +1 -0
  19. package/dist/lib/mxdraw.js +31 -0
  20. package/dist/lib/mxdraw.js.map +1 -0
  21. package/dist/lib/tools/algorithm/math.js +17 -0
  22. package/dist/lib/tools/algorithm/math.js.map +1 -0
  23. package/dist/lib/tools/algorithm/random.js +14 -0
  24. package/dist/lib/tools/algorithm/random.js.map +1 -0
  25. package/dist/lib/tools/dom/create.js +47 -0
  26. package/dist/lib/tools/dom/create.js.map +1 -0
  27. package/dist/lib/tools/formatting/index.js +21 -0
  28. package/dist/lib/tools/formatting/index.js.map +1 -0
  29. package/dist/lib/tools/three/index.js +27 -0
  30. package/dist/lib/tools/three/index.js.map +1 -0
  31. package/dist/mxdraw.es5.js +112943 -0
  32. package/dist/mxdraw.es5.js.map +1 -0
  33. package/dist/mxdraw.umd.js +112951 -0
  34. package/dist/mxdraw.umd.js.map +1 -0
  35. package/dist/types/MxCore/MxDrawObject/MxDrawObject.d.ts +195 -0
  36. package/dist/types/MxCore/MxFun/MxFun.d.ts +328 -0
  37. package/dist/types/MxCore/MxJigCmdManager/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.d.ts +69 -0
  38. package/dist/types/MxCore/MxJigCmdManager/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.d.ts +101 -0
  39. package/dist/types/MxCore/MxJigCmdManager/index.d.ts +3 -0
  40. package/dist/types/MxModule/MxThreeJS/MxThreeJS.d.ts +126 -0
  41. package/dist/types/MxModule/MxThreeJS/MxThreeJS.mixin.d.ts +2 -0
  42. package/dist/types/MxModule.d.ts +13 -0
  43. package/dist/types/mxdraw.d.ts +8 -0
  44. package/dist/types/tools/algorithm/math.d.ts +10 -0
  45. package/dist/types/tools/algorithm/random.d.ts +6 -0
  46. package/dist/types/tools/dom/create.d.ts +22 -0
  47. package/dist/types/tools/formatting/index.d.ts +7 -0
  48. package/dist/types/tools/three/index.d.ts +11 -0
  49. package/package.json +127 -0
package/LICENSE ADDED
@@ -0,0 +1,7 @@
1
+ Copyright 2017 --username-- <--usermail-->
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md ADDED
File without changes
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var _mxdrawObj;
4
+ var MxDrawObject = /** @class */ (function () {
5
+ function MxDrawObject(Mxdraw) {
6
+ _mxdrawObj = Mxdraw;
7
+ }
8
+ /**
9
+ * 获取Three.js绘图场景
10
+ * @returns THREE.Scene
11
+ */
12
+ MxDrawObject.prototype.getScene = function () {
13
+ return _mxdrawObj.getScene();
14
+ };
15
+ /**
16
+ * 获取Three.js相机对象
17
+ * @returns THREE.Camera
18
+ */
19
+ MxDrawObject.prototype.getCamera = function () {
20
+ return _mxdrawObj.getCamera();
21
+ };
22
+ /**
23
+ * 设置鼠标按下是否旋视区
24
+ * @param isRotate 是否旋视区
25
+ * @returns void
26
+ * @example
27
+ * ```typescript
28
+ * Mx.MxFun.getCurrentDraw().setMouseRightRotate(false)
29
+ * ```
30
+ *
31
+ */
32
+ MxDrawObject.prototype.setMouseRightRotate = function (isRotate) {
33
+ if (isRotate === void 0) { isRotate = true; }
34
+ return _mxdrawObj.setMouseRightRotate(isRotate);
35
+ };
36
+ /**
37
+ * 得到全部显示所有图形所需要的显示的范围 ,Three.js的坐标系。world坐标。
38
+ * @returns {minPt: value,maxPt: value}
39
+ * @example
40
+ * ```typescript
41
+ * Mx.MxFun.getCurrentDraw().getFullDisplayRange()
42
+ * ```
43
+ */
44
+ MxDrawObject.prototype.getFullDisplayRange = function () {
45
+ return _mxdrawObj.getFullDisplayRange();
46
+ };
47
+ /**
48
+ * 获取Canvas对象.
49
+ * @returns HTMLCanvasElement
50
+ */
51
+ MxDrawObject.prototype.getCanvas = function () {
52
+ return _mxdrawObj.getCanvas();
53
+ };
54
+ /**
55
+ * 通知Three.js更新显示
56
+ * @returns void
57
+ */
58
+ MxDrawObject.prototype.updateDisplay = function () {
59
+ return _mxdrawObj.updateDisplay();
60
+ };
61
+ /**
62
+ * 通知Three.js生成ImgeData显示I数据.
63
+ * @param fn 回调函数或者imageData
64
+ * @param param 函数载荷
65
+ * @returns void
66
+ * @example
67
+ * ```typescript
68
+ * Mx.MxFun.getCurrentDraw().createCanvasImageData((imageData)=> {
69
+ * console.log(imageData)
70
+ * })
71
+ * ```
72
+ */
73
+ MxDrawObject.prototype.createCanvasImageData = function (fn, param) {
74
+ return _mxdrawObj.createCanvasImageData(fn, param);
75
+ };
76
+ /**
77
+ * 设置视区背景色,
78
+ * @param color 如0xFFFFFF 白色
79
+ * @returns void
80
+ * @example
81
+ * ```typescript
82
+ * Mx.MxFun.getCurrentDraw().setViewColor(0xFFFFFF)
83
+ * ```
84
+ */
85
+ MxDrawObject.prototype.setViewColor = function (color) {
86
+ return _mxdrawObj.setViewColor(color);
87
+ };
88
+ /**
89
+ * 设置视区背景色,
90
+ * @param width 宽度
91
+ * @param height 宽度
92
+ * @returns void
93
+ * @example
94
+ * ```typescript
95
+ * Mx.MxFun.getCurrentDraw().setSize(0xFFFFFF)
96
+ * ```
97
+ */
98
+ MxDrawObject.prototype.setSize = function (width, height) {
99
+ return _mxdrawObj.setSize(width, height);
100
+ };
101
+ /**
102
+ * 获取某屏幕点下的绘制对象,ptMouse是.,
103
+ * @param ptMouse THREE.Vector2 屏幕坐标
104
+ * @returns THREE.Intersection[]
105
+ * @example
106
+ * ```typescript
107
+ * Mx.MxFun.getCurrentDraw().getIntersectObjects(new THREE.Vector2(2, 3))
108
+ * ```
109
+ */
110
+ MxDrawObject.prototype.getIntersectObjects = function (ptMouse) {
111
+ return _mxdrawObj.getIntersectObjects(ptMouse);
112
+ };
113
+ /**
114
+ * 添加THREE.Object3D对象到当前场景
115
+ * @param obj THREE.Object3D
116
+ * @param isAddToSelect 默认值为true 是否把对象添加选择对象集中,调用 getIntersectObjects可以找到
117
+ * @returns void
118
+ * @example
119
+ * ```typescript
120
+ * Mx.MxFun.getCurrentDraw().addObject(new THREE.Object3D(), false)
121
+ * ```
122
+ */
123
+ MxDrawObject.prototype.addObject = function (obj, isAddToSelect) {
124
+ if (isAddToSelect === void 0) { isAddToSelect = true; }
125
+ return _mxdrawObj.addObject(obj, isAddToSelect);
126
+ };
127
+ /**
128
+ * 删除addObject函数添加的THREE.Object3D对象
129
+ * @param obj THREE.Object3D
130
+ * @param isRemoveSelectObject 默认值为true 删除选择集中的对象
131
+ * @returns void
132
+ * @example
133
+ * ```typescript
134
+ * Mx.MxFun.getCurrentDraw().removeObject(new THREE.Object3D(), false)
135
+ * ```
136
+ */
137
+ MxDrawObject.prototype.removeObject = function (obj, isRemoveSelectObject) {
138
+ if (isRemoveSelectObject === void 0) { isRemoveSelectObject = true; }
139
+ return _mxdrawObj.removeObject(obj, isRemoveSelectObject);
140
+ };
141
+ /**
142
+ * 把视区显示范围恢复到初始显示范围.
143
+ * @returns void
144
+ */
145
+ MxDrawObject.prototype.zoomInitialStates = function () {
146
+ return _mxdrawObj.zoomInitialStates();
147
+ };
148
+ /**
149
+ * 缩放当前显示范围,它是相对于当前显示范围进行缩放
150
+ * @param scale scale缩放比例
151
+ * @returns void
152
+ * @example
153
+ * ```typescript
154
+ * Mx.MxFun.getCurrentDraw().zoomScale(0.8)
155
+ * ```
156
+ */
157
+ MxDrawObject.prototype.zoomScale = function (scale) {
158
+ return _mxdrawObj.zoomScale(scale);
159
+ };
160
+ /**
161
+ * 把当前显示范围移到指定的显示范围
162
+ * @param minPt 坐标1 THREE.Vector3
163
+ * @param maxPt 坐标2 THREE.Vector3
164
+ * @param isWorld 默认为felse DWG图纸坐标,设置为true是THREEJS坐标
165
+ * @returns void
166
+ * @example
167
+ * ```typescript
168
+ * Mx.MxFun.getCurrentDraw().zoomW(new THREE.Vector3(0,10,10), new THREE.Vector3(3,8,20), true)
169
+ * ```
170
+ */
171
+ MxDrawObject.prototype.zoomW = function (minPt, maxPt, isWorld) {
172
+ return _mxdrawObj.zoomW(minPt, maxPt, isWorld);
173
+ };
174
+ /**
175
+ * 把当前显示范围移到指定的位置,dCenX,dCenY是DWG图纸坐标。
176
+ * @param minPt DWG图纸坐标1 THREE.Vector3
177
+ * @param maxPt DWG图纸坐标2 THREE.Vector3
178
+ * @returns void
179
+ * @example
180
+ * ```typescript
181
+ * Mx.MxFun.getCurrentDraw().zoomCenter(new THREE.Vector3(0,10,10), new THREE.Vector3(3,8,20))
182
+ * ```
183
+ */
184
+ MxDrawObject.prototype.zoomCenter = function (dCenX, dCenY) {
185
+ return _mxdrawObj.zoomCenter(dCenX, dCenY);
186
+ };
187
+ /**
188
+ * 初始化控件默认加载后,显示视区范围,默认使用图纸转换时的显示范围。。
189
+ * @param minPt DWG文档坐标1显示区域的左下角 THREE.Vector3
190
+ * @param maxPt DWG文档坐标2显示区域的右上角 THREE.Vector3
191
+ * @returns void
192
+ * @example
193
+ * ```typescript
194
+ * Mx.MxFun.getCurrentDraw().initZoomW(new THREE.Vector3(0,10,10), new THREE.Vector3(3,8,20))
195
+ *
196
+ * ```
197
+ */
198
+ MxDrawObject.prototype.initZoomW = function (pt1Doc, pt2Doc) {
199
+ return _mxdrawObj.initZoomW(pt1Doc, pt2Doc);
200
+ };
201
+ /**
202
+ * 初始化控件默认加载后,显示视区范围,默认使用图纸转换时的显示范围。。
203
+ * @param minPt DWG文档坐标1显示区域的左下角 THREE.Vector3
204
+ * @param maxPt DWG文档坐标2显示区域的右上角 THREE.Vector3
205
+ * @returns void
206
+ * @example
207
+ * ```typescript
208
+ * Mx.MxFun.getCurrentDraw().addEvent(new THREE.Vector3(0,10,10), new THREE.Vector3(3,8,20))
209
+ *
210
+ * ```
211
+ */
212
+ /**
213
+ * 控件对象的事件监听
214
+ * @param eventNaem 事件名称
215
+ * @param fun 回调函数
216
+ * @returns void
217
+ * @example
218
+ * ```typescript
219
+ * Mx.MxFun.getCurrentDraw().addEvent("addResizeEvent", ()=> {})
220
+ *
221
+ * ```
222
+ */
223
+ MxDrawObject.prototype.addEvent = function (eventNaem, fun) {
224
+ return _mxdrawObj.addEvent(eventNaem, fun);
225
+ };
226
+ /**
227
+ * INI设置
228
+ * @param options { EnableOsnapFunction: boolean; }
229
+ * @returns void
230
+ * @example
231
+ * ```typescript
232
+ * Mx.MxFun.getCurrentDraw().setIniset(options: { EnableOsnapFunction: true })
233
+ *
234
+ * ```
235
+ */
236
+ MxDrawObject.prototype.setIniset = function (options) {
237
+ return _mxdrawObj.setIniset(options);
238
+ };
239
+ return MxDrawObject;
240
+ }());
241
+ exports.default = MxDrawObject;
242
+ //# sourceMappingURL=MxDrawObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MxDrawObject.js","sourceRoot":"","sources":["../../../../src/MxCore/MxDrawObject/MxDrawObject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,408 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var random_1 = require("../../tools/algorithm/random");
4
+ var create_1 = require("../../tools/dom/create");
5
+ var MxDrawObject_1 = require("../MxDrawObject/MxDrawObject");
6
+ var _MxFun;
7
+ var _mxdrawObj;
8
+ var MxFun = /** @class */ (function () {
9
+ function MxFun(mxFun) {
10
+ _MxFun = mxFun;
11
+ Object.defineProperty(this, 'acutPrintf', {
12
+ get: function () {
13
+ return _MxFun.acutPrintf;
14
+ }
15
+ });
16
+ }
17
+ /**
18
+ * 创建图纸展示控件实例
19
+ * @param canvasId 提供一个canvas元素或者唯一的ID或者class类亦或者Jquery选中的元素
20
+ * @paramType string | HTMLCanvasElement | JQuery<HTMLElement>
21
+ * @param drawName 提供要展示的图纸名称
22
+ * @paramType string
23
+ * @param callback 图纸展示控件创建完成后的回调函数 回调参数mxDraw和dom
24
+ * @paramType function
25
+ * @param isNewFile 是否新建文件
26
+ * @paramType boolean
27
+ * @return void
28
+ * @example
29
+ * ``` typescript
30
+ * Mx.MxFun.createMxObject({
31
+ * canvasId: "my-app",
32
+ * drawName: "test2.dwg",
33
+ * callback(mxDraw, { canvas, canvasParent }) {
34
+ * console.log(mxDraw, canvas, canvasParent)
35
+ * },
36
+ * isNewFile: true
37
+ * })
38
+ * ```
39
+ */
40
+ MxFun.prototype.createMxObject = function (_a) {
41
+ var _this = this;
42
+ 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;
43
+ // 获取canvas和其父级
44
+ var canvas = (0, create_1.createCanvas)(canvasId);
45
+ var canvasParent = (0, create_1.createCavansParent)(canvas);
46
+ if (!canvasParent.parentNode || canvasParent.parentNode.nodeType == 11) {
47
+ // canvasParent 未插入到文档
48
+ document.body.appendChild(canvasParent);
49
+ }
50
+ // 设置样式
51
+ canvasParent.style.width = '100%';
52
+ canvasParent.style.height = '80vh';
53
+ canvasParent.style.position = 'relative';
54
+ // 创建实例
55
+ _MxFun.createMxObject(canvasId, drawName, function (mxDraw) {
56
+ _mxdrawObj = new MxDrawObject_1.default(mxDraw);
57
+ mxDraw.setMouseRightRotate(false);
58
+ mxDraw.setIniset({ EnableOsnapFunction: true });
59
+ mxDraw.addEvent('onResize', function () {
60
+ canvasParent.tabindex = 3;
61
+ return {
62
+ width: canvasParent.clientWidth,
63
+ height: canvasParent.clientHeight
64
+ };
65
+ });
66
+ mxDraw.addEvent('addResizeEvent', function (callResize) {
67
+ canvasParent.addEventListener('resize', callResize, false);
68
+ });
69
+ callback &&
70
+ callback.call(_this, _mxdrawObj, {
71
+ canvas: canvas,
72
+ canvasParent: canvasParent
73
+ });
74
+ }, isNewFile);
75
+ };
76
+ /**
77
+ * 为程序设置服务器地址
78
+ * @param MXSERVER 服务器地址
79
+ * @return void
80
+ * @example
81
+ * ``` typescript
82
+ * Mx.MxFun.setMxServer("ws://localhost:5090")
83
+ * ```
84
+ */
85
+ MxFun.prototype.setMxServer = function (MXSERVER) {
86
+ if (MXSERVER === void 0) { MXSERVER = 'ws://localhost:5090'; }
87
+ _MxFun.setMxServer(MXSERVER);
88
+ };
89
+ /**
90
+ * 注册命令
91
+ * @param cmdName 命令名
92
+ * @param fun 命令函数
93
+ * @return void
94
+ * @example
95
+ * ``` typescript
96
+ * Mx.MxFun.addCommand("draw", ()=> {
97
+ * console.log("draw")
98
+ * })
99
+ * ```
100
+ */
101
+ MxFun.prototype.addCommand = function (cmdName, fun) {
102
+ _MxFun.addCommand(cmdName, fun);
103
+ };
104
+ /**
105
+ * 执行命令
106
+ * @param cmdName 命令名
107
+ * @return boolean 命令执行成功为true
108
+ * @example
109
+ * ``` typescript
110
+ * if(Mx.MxFun.sendStringToExecute("draw")) {
111
+ * console.log("成功执行draw命令")
112
+ * }
113
+ * ```
114
+ */
115
+ MxFun.prototype.sendStringToExecute = function (cmdName) {
116
+ return _MxFun.sendStringToExecute(cmdName);
117
+ };
118
+ /**
119
+ * 调用后台服务程序中的NodeJS用户定义函数 后台程序使用Mx.MxFun.registFun注册用户定义函数
120
+ * @param funName 函数名
121
+ * @param param 函数参数
122
+ * @param retfun 函数返回值回调
123
+ * @return void
124
+ * @example
125
+ * ``` typescript
126
+ * Mx.MxFun.call("getDrawObject", {
127
+ * drawName: "test.dwg"
128
+ * }, (res)=> {
129
+ * console.log(res)
130
+ * })
131
+ * ```
132
+ */
133
+ MxFun.prototype.call = function (funName, param, retfun) {
134
+ return _MxFun.call(funName, param, retfun);
135
+ };
136
+ /**
137
+ * 获取当前绘图控件对象
138
+ * @return MxDrawObjectType 当前绘图控件对象
139
+ * @example
140
+ * ``` typescript
141
+ * const mxDraw = Mx.MxFun.getCurrentDraw()
142
+ * mxDraw.getScene()
143
+ * ```
144
+ */
145
+ MxFun.prototype.getCurrentDraw = function () {
146
+ return _mxdrawObj;
147
+ // return _MxFun.getCurrentDraw()
148
+ };
149
+ /**
150
+ * 屏幕坐标长度转THREE.JS坐标长度
151
+ * @param len 屏幕坐标长度
152
+ * @return number THREE.JS坐标长度
153
+ * @example
154
+ * ``` typescript
155
+ * const len = Mx.MxFun.screenCoordLong2World(36)
156
+ * console.log(len)
157
+ * ```
158
+ */
159
+ MxFun.prototype.screenCoordLong2World = function (len) {
160
+ return _MxFun.screenCoordLong2World(len);
161
+ };
162
+ /**
163
+ * THREE.JS坐标长度转屏幕坐标长度
164
+ * @param len THREE.JS坐标长度
165
+ * @return number 屏幕坐标长度
166
+ * @example
167
+ * ``` typescript
168
+ * const len = Mx.MxFun.worldCoordLong2Doc(36)
169
+ * console.log(len)
170
+ * ```
171
+ */
172
+ MxFun.prototype.worldCoordLong2Doc = function (len) {
173
+ return _MxFun.worldCoordLong2Doc(len);
174
+ };
175
+ /**
176
+ * 屏幕坐标转THREE.JS坐标.
177
+ * @param x 坐标x
178
+ * @param y 坐标y
179
+ * @param z 坐标z
180
+ * @return THREE.Vector3 THREE.JS坐标
181
+ * @example
182
+ * ``` typescript
183
+ * const vector3 = Mx.MxFun.screenCoord2World(36, 21, 0)
184
+ * console.log(vector3)
185
+ * ```
186
+ */
187
+ MxFun.prototype.screenCoord2World = function (x, y, z) {
188
+ return _MxFun.screenCoord2World(x, y, z);
189
+ };
190
+ /**
191
+ * THREE.JS坐标转屏幕坐标.
192
+ * @param x 坐标x
193
+ * @param y 坐标y
194
+ * @param z 坐标z
195
+ * @return THREE.Vector3 屏幕坐标
196
+ * @example
197
+ * ``` typescript
198
+ * const vector3 = Mx.MxFun.worldCoord2Screen(36, 21, 0)
199
+ * console.log(vector3)
200
+ * ```
201
+ */
202
+ MxFun.prototype.worldCoord2Screen = function (x, y, z) {
203
+ return _MxFun.worldCoord2Screen(x, y, z);
204
+ };
205
+ /**
206
+ * 文档坐标转THREE.JS坐标
207
+ * @param x 坐标x
208
+ * @param y 坐标y
209
+ * @param z 坐标z
210
+ * @return THREE.Vector3 THREE.JS坐标
211
+ * @example
212
+ * ``` typescript
213
+ * const vector3 = Mx.MxFun.docCoord2World(36, 21, 0)
214
+ * console.log(vector3)
215
+ * ```
216
+ */
217
+ MxFun.prototype.docCoord2World = function (x, y, z) {
218
+ return _MxFun.docCoord2World(x, y, z);
219
+ };
220
+ /**
221
+ * THREE.JS坐标转文档坐标.
222
+ * @param x 坐标x
223
+ * @param y 坐标y
224
+ * @param z 坐标z
225
+ * @return THREE.Vector3 文档坐标
226
+ * @example
227
+ * ``` typescript
228
+ * const vector3 = Mx.MxFun.worldCoord2Doc(36, 21, 0)
229
+ * console.log(vector3)
230
+ * ```
231
+ */
232
+ MxFun.prototype.worldCoord2Doc = function (x, y, z) {
233
+ return _MxFun.worldCoord2Doc(x, y, z);
234
+ };
235
+ /**
236
+ * 屏幕转文档坐标
237
+ * @param x 坐标x
238
+ * @param y 坐标y
239
+ * @param z 坐标z
240
+ * @return THREE.Vector3 文档坐标
241
+ * @example
242
+ * ``` typescript
243
+ * const vector3 = Mx.MxFun.screenCoord2Doc(36, 21, 0)
244
+ * console.log(vector3)
245
+ * ```
246
+ */
247
+ MxFun.prototype.screenCoord2Doc = function (x, y, z) {
248
+ return _MxFun.screenCoord2Doc(x, y, z);
249
+ };
250
+ /**
251
+ * 文档转屏幕坐标.
252
+ * @param x 坐标x
253
+ * @param y 坐标y
254
+ * @param z 坐标z
255
+ * @return THREE.Vector3 屏幕坐标
256
+ * @example
257
+ * ``` typescript
258
+ * const vector3 = Mx.MxFun.docCoord2Screen(36, 21, 0)
259
+ * console.log(vector3)
260
+ * ```
261
+ */
262
+ MxFun.prototype.docCoord2Screen = function (x, y, z) {
263
+ return _MxFun.docCoord2Screen(x, y, z);
264
+ };
265
+ /**
266
+ * 更新显示,使用Three.js绘制了对象,调用该函数更新显示。
267
+ * @return void
268
+ * @example
269
+ * ``` typescript
270
+ * Mx.MxFun.updateDisplay()
271
+ * ```
272
+ */
273
+ MxFun.prototype.updateDisplay = function () {
274
+ return _MxFun.updateDisplay();
275
+ };
276
+ /**
277
+ * 设置窗口鼠标等事件的回调操作
278
+ * @param fun 参数1 type: 鼠标事件类型 "mouseup"鼠标释放 、"mousedown" 鼠标按下 参数2 event:事件对象 返回值: number 为0,表示事件往下传递,如果非0,表示事件已经被处理,不要往下传递了
279
+ * @return void
280
+ * @example
281
+ * ``` typescript
282
+ * Mx.MxFun.addWindowsEvent((type, event)=> {
283
+ * console.log(event)
284
+ * if(type = "mouseup") {
285
+ * console.log("鼠标释放")
286
+ * }else {
287
+ * console.log("鼠标按下")
288
+ * }
289
+ * // 事件往下传递
290
+ * // return 0
291
+ * // 事件已处理不再传递
292
+ * return -1
293
+ * })
294
+ * ```
295
+ */
296
+ MxFun.prototype.addWindowsEvent = function (fun) {
297
+ return _MxFun.addWindowsEvent(fun);
298
+ };
299
+ /**
300
+ * 当前是否有命令在运行
301
+ * @return boolean
302
+ * @example
303
+ * ``` typescript
304
+ * if(Mx.MxFun.isRunningCommand()) {
305
+ * // 当前已有命令在运行
306
+ * }
307
+ * ```
308
+ */
309
+ MxFun.prototype.isRunningCommand = function () {
310
+ return _MxFun.isRunningCommand();
311
+ };
312
+ /**
313
+ * 窗口缩放,把指定的范围内的图形放到视区中
314
+ * @param dLBx 矩形框范围的左下角X坐标
315
+ * @param dLBy 矩形框范围的左下角X坐标
316
+ * @param dRTx 矩形框范围的左下角X坐标
317
+ * @param dRTy 矩形框范围的左下角X坐标
318
+ * @param isWorld 传入的坐标是否是thruee.js坐标,默认传文档坐标
319
+ * @return void
320
+ * @example
321
+ * ``` typescript
322
+ * Mx.MxFun.zoomW(21, 22, 300, 310, false)
323
+ * ```
324
+ */
325
+ MxFun.prototype.zoomW = function (dLBx, dLBy, dRTx, dRTy, isWorld) {
326
+ return _MxFun.zoomW(dLBx, dLBy, dRTx, dRTy, isWorld);
327
+ };
328
+ /**
329
+ * 显示或隐藏图层
330
+ * @param idLayer 图层id,或层名
331
+ * @param isShow 是否显示
332
+ * @param isSketch 暂不使用
333
+ * @return void
334
+ * @example
335
+ * ``` typescript
336
+ * Mx.MxFun.showLayer(366, true, false)
337
+ * Mx.MxFun.showLayer("2363", fasle, false)
338
+ * ```
339
+ */
340
+ MxFun.prototype.showLayer = function (idLayer, isShow, isSketch) {
341
+ return _MxFun.showLayer(idLayer, isShow, isSketch);
342
+ };
343
+ // acutPrintf(sval: string, ...val: string[]): void {
344
+ // _MxFun.acutPrintf(sval, ...val)
345
+ // }
346
+ /**
347
+ * 获取当前MxCAD对象,该函数在MxCAD模式下使用
348
+ * @return MxDrawObjectType MxCAD对象
349
+ * @example
350
+ * ``` typescript
351
+ * const mxcad = Mx.MxFun.getCurrentMxCAD()
352
+ * console.log(mxcad)
353
+ * ```
354
+ */
355
+ MxFun.prototype.getCurrentMxCAD = function () {
356
+ return _mxdrawObj;
357
+ // return _MxFun.getCurrentMxCAD()
358
+ };
359
+ /**
360
+ * 得到地址栏参数
361
+ * @param name
362
+ * @return string 地址栏参数
363
+ * @example
364
+ * ``` typescript
365
+ * if(Mx.MxFun.getQueryString("mousetest") === "y")
366
+ * ```
367
+ */
368
+ MxFun.prototype.getQueryString = function (name) {
369
+ return _MxFun.getQueryString(name);
370
+ };
371
+ /**
372
+ * 设置控件的配制参数. Mx.MxFun.createMxObject的 callback回调函数中调用.
373
+ * @param name
374
+ * @return string 地址栏参数
375
+ * @example
376
+ * ``` typescript
377
+ * Mx.MxFun.createMxObject({
378
+ * callback() {
379
+ * Mx.MxFun.setIniset({
380
+ * EnableIntelliSelect: true
381
+ * })
382
+ * }
383
+ * })
384
+ * ```
385
+ */
386
+ MxFun.prototype.setIniset = function (iniObj) {
387
+ return _MxFun.setIniset(iniObj);
388
+ };
389
+ /**
390
+ * 更新图纸图层数据
391
+ * @param dataLayers
392
+ * @return boolean 更新成功或失败
393
+ * @example
394
+ * ``` typescript
395
+ * if(Mx.MxFun.upDisplayForLayerData({
396
+ *
397
+ * })) {
398
+ * console.log("更新成功")
399
+ * }
400
+ * ```
401
+ */
402
+ MxFun.prototype.upDisplayForLayerData = function (dataLayers) {
403
+ return _MxFun.upDisplayForLayerData(dataLayers);
404
+ };
405
+ return MxFun;
406
+ }());
407
+ exports.default = MxFun;
408
+ //# sourceMappingURL=MxFun.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MxFun.js","sourceRoot":"","sources":["../../../../src/MxCore/MxFun/MxFun.ts"],"names":[],"mappings":"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"}