mxdraw 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -15
- package/dist/lib/MxModule/McEdGetPointWorldDrawObject/McEdGetPointWorldDrawObjectClass.js +0 -1
- package/dist/lib/MxModule/McEdGetPointWorldDrawObject/index.js +0 -1
- package/dist/lib/MxModule/McGiWorldDraw/McGiWorldDraw.js +0 -1
- package/dist/lib/MxModule/McGiWorldDraw/index.js +0 -1
- package/dist/lib/MxModule/McGiWorldDrawType/McGiWorldDrawType.js +0 -1
- package/dist/lib/MxModule/McGiWorldDrawType/index.js +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn.js +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/index.js +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrPoint/MrxDbgUiPrPointClass.js +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrPoint/index.js +0 -1
- package/dist/lib/MxModule/MxDbEntity/MxDbEntity.js +60 -8
- package/dist/lib/MxModule/MxDbEntity/index.js +0 -1
- package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js +93 -3
- package/dist/lib/MxModule/MxDrawObject/index.js +0 -1
- package/dist/lib/MxModule/MxFun/MxFun.js +53 -10
- package/dist/lib/MxModule/MxFun/index.js +0 -1
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js +5 -35
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js +71 -29
- package/dist/lib/MxModule/MxThreeJS/SVGLoader.js +4 -5
- package/dist/lib/MxModule/MxThreeJS/index.js +0 -1
- package/dist/lib/MxModule/MxType/MxType.js +27 -0
- package/dist/lib/MxModule/MxType/index.js +4 -0
- package/dist/lib/MxModule/loadCoreCode/index.js +0 -1
- package/dist/lib/MxModule/loadCoreCode/loadCoreCode.js +0 -1
- package/dist/lib/MxModule/loadCoreCode/mxfun.es5.js +714 -661
- package/dist/lib/MxModule/store/PubsubClass.js +0 -1
- package/dist/lib/MxModule/store/StoreClass.js +0 -1
- package/dist/lib/MxModule/store/index.js +0 -1
- package/dist/lib/MxModule/store/store.js +0 -1
- package/dist/lib/MxModule/useCanvasResizeListener/index.js +0 -1
- package/dist/lib/MxModule/useCanvasResizeListener/useCanvasResizeListener.js +0 -1
- package/dist/lib/doc.js +0 -1
- package/dist/lib/mxdraw.js +3 -2
- package/dist/lib/tools/algorithm/math.js +0 -1
- package/dist/lib/tools/algorithm/random.js +0 -1
- package/dist/lib/tools/dom/create.js +0 -1
- package/dist/lib/tools/dynamicImport/index.js +0 -1
- package/dist/lib/tools/formatting/index.js +0 -1
- package/dist/lib/tools/proxy/index.js +0 -1
- package/dist/lib/tools/three/index.js +0 -1
- package/dist/lib/types/McEdGetPointWorldDrawObject.js +0 -1
- package/dist/lib/types/MrxDbgUiPrPoint.js +0 -1
- package/dist/lib/types/MxCADObject.js +0 -1
- package/dist/lib/types/MxDrawObject.js +0 -1
- package/dist/lib/types/MxFun.js +0 -1
- package/dist/mxdraw.es5.js +3 -3
- package/dist/mxdraw.es5.js.map +1 -1
- package/dist/mxdraw.umd.js +3 -3
- package/dist/mxdraw.umd.js.map +1 -1
- package/dist/types/MxModule/McGiWorldDraw/McGiWorldDraw.d.ts +72 -1
- package/dist/types/MxModule/MxDbEntity/MxDbEntity.d.ts +44 -5
- package/dist/types/MxModule/MxDrawObject/MxDrawObject.d.ts +78 -1
- package/dist/types/MxModule/MxFun/MxFun.d.ts +48 -10
- package/dist/types/MxModule/MxThreeJS/MxThreeJS.d.ts +6 -9
- package/dist/types/MxModule/MxType/MxType.d.ts +24 -0
- package/dist/types/MxModule/MxType/index.d.ts +2 -0
- package/dist/types/mxdraw.d.ts +2 -1
- package/dist/types/types/MxDrawObject.d.ts +11 -4
- package/dist/types/types/MxFun.d.ts +7 -3
- package/package.json +3 -3
- package/dist/lib/MxModule/McEdGetPointWorldDrawObject/McEdGetPointWorldDrawObjectClass.js.map +0 -1
- package/dist/lib/MxModule/McEdGetPointWorldDrawObject/index.js.map +0 -1
- package/dist/lib/MxModule/McGiWorldDraw/McGiWorldDraw.js.map +0 -1
- package/dist/lib/MxModule/McGiWorldDraw/index.js.map +0 -1
- package/dist/lib/MxModule/McGiWorldDrawType/McGiWorldDrawType.js.map +0 -1
- package/dist/lib/MxModule/McGiWorldDrawType/index.js.map +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn.js.map +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/index.js.map +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrPoint/MrxDbgUiPrPointClass.js.map +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrPoint/index.js.map +0 -1
- package/dist/lib/MxModule/MxDbEntity/MxDbEntity.js.map +0 -1
- package/dist/lib/MxModule/MxDbEntity/index.js.map +0 -1
- package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js.map +0 -1
- package/dist/lib/MxModule/MxDrawObject/index.js.map +0 -1
- package/dist/lib/MxModule/MxFun/MxFun.js.map +0 -1
- package/dist/lib/MxModule/MxFun/index.js.map +0 -1
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js.map +0 -1
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js.map +0 -1
- package/dist/lib/MxModule/MxThreeJS/SVGLoader.js.map +0 -1
- package/dist/lib/MxModule/MxThreeJS/index.js.map +0 -1
- package/dist/lib/MxModule/loadCoreCode/index.js.map +0 -1
- package/dist/lib/MxModule/loadCoreCode/loadCoreCode.js.map +0 -1
- package/dist/lib/MxModule/loadCoreCode/mxfun.es5.js.map +0 -1
- package/dist/lib/MxModule/store/PubsubClass.js.map +0 -1
- package/dist/lib/MxModule/store/StoreClass.js.map +0 -1
- package/dist/lib/MxModule/store/index.js.map +0 -1
- package/dist/lib/MxModule/store/store.js.map +0 -1
- package/dist/lib/MxModule/useCanvasResizeListener/index.js.map +0 -1
- package/dist/lib/MxModule/useCanvasResizeListener/useCanvasResizeListener.js.map +0 -1
- package/dist/lib/doc.js.map +0 -1
- package/dist/lib/mxdraw.js.map +0 -1
- package/dist/lib/tools/algorithm/math.js.map +0 -1
- package/dist/lib/tools/algorithm/random.js.map +0 -1
- package/dist/lib/tools/dom/create.js.map +0 -1
- package/dist/lib/tools/dynamicImport/index.js.map +0 -1
- package/dist/lib/tools/formatting/index.js.map +0 -1
- package/dist/lib/tools/proxy/index.js.map +0 -1
- package/dist/lib/tools/three/index.js.map +0 -1
- package/dist/lib/types/McEdGetPointWorldDrawObject.js.map +0 -1
- package/dist/lib/types/MrxDbgUiPrPoint.js.map +0 -1
- package/dist/lib/types/MxCADObject.js.map +0 -1
- package/dist/lib/types/MxDrawObject.js.map +0 -1
- package/dist/lib/types/MxFun.js.map +0 -1
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ Mx.loadCoreCode().then(()=> {
|
|
|
56
56
|
// 创建控件对象
|
|
57
57
|
Mx.MxFun.createMxObject({
|
|
58
58
|
canvasId: "mxcad", // canvas元素的id
|
|
59
|
-
|
|
59
|
+
cadFile"test2.dwg", // 服务器中图纸名称
|
|
60
60
|
callback: (mxDraw, {
|
|
61
61
|
canvas,
|
|
62
62
|
canvasParent
|
|
@@ -169,29 +169,33 @@ loadCoreCode().then(()=> {
|
|
|
169
169
|
})
|
|
170
170
|
```
|
|
171
171
|
### MxFun 方法集合
|
|
172
|
-
> MxFun提供了核心方法,
|
|
173
|
-
|
|
174
|
-
](https://
|
|
175
|
-
* [MxFun.setMxServer](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxFun.html#setMxServer)
|
|
176
|
-
* [MxFun.createMxObject](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxFun.html#createMxObject)
|
|
172
|
+
> MxFun提供了核心方法, 其中最重要的两个方法就是[setMxServer](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxFun.html#setMxServer)设置服务器地址
|
|
173
|
+
以及 [createMxObject](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxFun.html#createMxObject) 创建控制对象
|
|
174
|
+
* 服务器地址就是[MxDraw云图开发包](https://www.mxdraw.com/download.html) 所启动的后台服务地址...[详情](https://help.mxdraw.com/?pid=32&keywords=)
|
|
177
175
|
|
|
178
176
|
### MxDrawObject 控件对象
|
|
179
177
|
> [MxFun.createMxObject](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxFun.html#createMxObject) 创建的控件对象可以对canvas画布上展示的图纸进行控制修改以及添加three.js中各种组合图形等功能[详情](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxDrawObject.html)
|
|
180
178
|
|
|
181
179
|
### MxThreeJS 创建THREE图形物体对象
|
|
182
|
-
> [MxThreeJS](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxThreeJS.html)是根据Three.js提供的APi 创建各种常见的基础图形文字以及加载的图片/SVG
|
|
180
|
+
> [MxThreeJS](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxThreeJS.html)是根据Three.js提供的APi 创建各种常见的基础图形文字以及加载的图片/SVG等的方法集合
|
|
181
|
+
* 一般情况最终创建返回的都是基于THREE.Object3D的物体对象,可以通过[MxDrawObject控件对象的addObject](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxDrawObject.html#addObject) 方法添加到场景中,最后通过[MxDrawObject.updateDisplay](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxDrawObject.html#updateDisplay)更新显示场景,就可以将物体对象渲染到canvas画布上了。
|
|
182
|
+
* 当然也可以不使用MxThreeJS提供的创建物体的方式,可以用three.js自定义创建各种需要的物体图形模型。
|
|
183
183
|
|
|
184
184
|
### McEdGetPointWorldDrawObject / MrxDbgUiPrPoint / MrxDbgUiPrBaseReturn 动态绘制
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
185
|
+
* [McEdGetPointWorldDrawObject](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/McEdGetPointWorldDrawObject.html)是动态绘制对象的类, 一个McEdGetPointWorldDrawObject实例可以使用setDraw方法设置动态的回调函数,一般情况下回调函数中会通过drawCustomEntity或者提供的其他方法绘制出需要动态绘制的部分(鼠标移动将会触发动态回调函数)
|
|
186
|
+
* [MrxDbgUiPrPoint](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MrxDbgUiPrPoint.html)是一个配合动态绘制的鼠标去点的类,实例化后通过go或者goWhile 方式设置鼠标点击回调事件, 通过setUserDraw方法设置动态绘制对象, 此时动态绘制对象生效,在鼠标移动时会触发其动态回调函数
|
|
187
|
+
* [MrxDbgUiPrBaseReturn](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MrxDbgUiPrBaseReturn.html)是MrxDbgUiPrPoint的go或者goWhile的回调参数判断点击类型的一个枚举类型。
|
|
188
|
+
* McEdGetPointWorldDrawObject / MrxDbgUiPrPoint 配合使用 就能够完成大部分图形动态绘制的需求,例:[如何实现一个画线的功能命令?](#%E7%94%A8%E6%B3%95)
|
|
189
189
|
|
|
190
190
|
### MxDbEntity / McGiWorldDraw / McGiWorldDrawType 自定义对象
|
|
191
|
-
> 自定义对象是为了更加方便的控制一个图形物体对象创建的一个控制器, 在需要对已经绘制在画布上的图形物体进行动态改动操作时,有一系列繁琐的过程,选取对象/选取状态/生成可改动的顶点/拖动改变顶点位置/动态绘制...
|
|
192
|
-
|
|
193
|
-
>
|
|
194
|
-
|
|
191
|
+
> 自定义对象是为了更加方便的控制一个图形物体对象创建的一个控制器, 在需要对已经绘制在画布上的图形物体进行动态改动操作时,有一系列繁琐的过程,选取对象/选取状态/生成可改动的顶点/拖动改变顶点位置/动态绘制...
|
|
192
|
+
|
|
193
|
+
> 如果遵循自定义对象的规范(实现MxDbEntity抽象类),就可以忽略这些步骤,在实现了预设行为(抽象方法)后,鼠标操作就可以完成对物体对象的顶点操作,从而改变图形物体。
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
* [MxDbEntity](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxDbEntity.html)抽象类 通过继承的方式实现一个自定义对象
|
|
197
|
+
* [McGiWorldDraw](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/McGiWorldDraw.html) 是 [MxDbEntity.worldDraw](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxDbEntity.html#worldDraw)抽象方法的回调对象 可以实现再鼠标拖动过程中的一些动态绘制任务
|
|
198
|
+
* [McGiWorldDrawType](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/McGiWorldDrawType.html) 是[McGiWorldDraw.getType](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/McGiWorldDraw.html#getType)方法返回的枚举类型表示MxDbEntity.worldDraw的绘制类型
|
|
195
199
|
|
|
196
200
|
|
|
197
201
|
## 按需引入配置
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/** @module MxDbEntity*/
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
var MxType_1 = require("../MxType");
|
|
5
|
+
var store_1 = require("../store/store");
|
|
4
6
|
/**
|
|
5
7
|
* MxDbEntity 用于构建一个自定义对象的抽象类(该类无法实例化 请通过继承的方式对其抽象方法进行实现)
|
|
6
8
|
* @description MxDbEntity 属于 abstract class(抽象类) 主要用途是通过继承这个类实现一个用于动态绘制的回调对象
|
|
@@ -25,6 +27,16 @@ var MxDbEntity = /** @class */ (function () {
|
|
|
25
27
|
function MxDbEntity() {
|
|
26
28
|
this.iColor = 0xffffff;
|
|
27
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* 自定义实体的坐标变换.
|
|
32
|
+
* @param
|
|
33
|
+
* @returns void
|
|
34
|
+
* @example
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
MxDbEntity.prototype.transformBy = function (mat) {
|
|
39
|
+
};
|
|
28
40
|
MxDbEntity.prototype.getImp = function () {
|
|
29
41
|
var myThis = this;
|
|
30
42
|
var imp = myThis['MxDbEntityImp'];
|
|
@@ -39,15 +51,39 @@ var MxDbEntity = /** @class */ (function () {
|
|
|
39
51
|
*
|
|
40
52
|
* ```
|
|
41
53
|
*/
|
|
42
|
-
MxDbEntity.prototype.
|
|
54
|
+
MxDbEntity.prototype.setNeedUpdateDisplay = function (isImmediate) {
|
|
43
55
|
var imp = this.getImp();
|
|
44
56
|
if (imp) {
|
|
45
|
-
|
|
57
|
+
if (isImmediate) {
|
|
58
|
+
imp.upDisplay();
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
imp.setDirtyDisplay(true);
|
|
62
|
+
}
|
|
63
|
+
return true;
|
|
46
64
|
}
|
|
47
65
|
else {
|
|
48
66
|
return false;
|
|
49
67
|
}
|
|
50
68
|
};
|
|
69
|
+
/**
|
|
70
|
+
* 得到对象的id.
|
|
71
|
+
* @param
|
|
72
|
+
* @returns number
|
|
73
|
+
* @example
|
|
74
|
+
* ``` typescript
|
|
75
|
+
*
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
MxDbEntity.prototype.objectId = function () {
|
|
79
|
+
var imp = this.getImp();
|
|
80
|
+
if (imp) {
|
|
81
|
+
return imp.objectId();
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return 0;
|
|
85
|
+
}
|
|
86
|
+
};
|
|
51
87
|
/**
|
|
52
88
|
* 删除对象
|
|
53
89
|
* @param
|
|
@@ -91,16 +127,20 @@ var MxDbEntity = /** @class */ (function () {
|
|
|
91
127
|
return this.iColor;
|
|
92
128
|
};
|
|
93
129
|
/**
|
|
94
|
-
*
|
|
130
|
+
* 复制对象。
|
|
95
131
|
* @param
|
|
96
|
-
* @returns
|
|
132
|
+
* @returns MxDbEntity
|
|
97
133
|
* @example
|
|
98
134
|
* ``` typescript
|
|
99
135
|
*
|
|
100
136
|
* ```
|
|
101
|
-
|
|
102
|
-
MxDbEntity.prototype.
|
|
103
|
-
|
|
137
|
+
*/
|
|
138
|
+
MxDbEntity.prototype.clone = function (type) {
|
|
139
|
+
var ret = this.create();
|
|
140
|
+
var objData = { type: type ? type : MxType_1.default.MxCloneType.kClone };
|
|
141
|
+
this.dwgOut(objData);
|
|
142
|
+
ret.dwgIn(objData);
|
|
143
|
+
return ret;
|
|
104
144
|
};
|
|
105
145
|
/**
|
|
106
146
|
* 自定义对象内部数据输入同步(实现dwgIn抽象方法 必须在实现中调用 this.onDwgIn())
|
|
@@ -116,7 +156,19 @@ var MxDbEntity = /** @class */ (function () {
|
|
|
116
156
|
MxDbEntity.prototype.onDwgOut = function (obj) {
|
|
117
157
|
obj['iColor'] = this.iColor;
|
|
118
158
|
};
|
|
159
|
+
/**
|
|
160
|
+
* 初始自定义对象的类型信息.
|
|
161
|
+
* @param
|
|
162
|
+
* @returns
|
|
163
|
+
* @example
|
|
164
|
+
* ``` typescript
|
|
165
|
+
*
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
168
|
+
MxDbEntity.prototype.rxInit = function () {
|
|
169
|
+
;
|
|
170
|
+
store_1.default.state.MxFun.initMxDbEntityType(this);
|
|
171
|
+
};
|
|
119
172
|
return MxDbEntity;
|
|
120
173
|
}());
|
|
121
174
|
exports.default = MxDbEntity;
|
|
122
|
-
//# sourceMappingURL=MxDbEntity.js.map
|
|
@@ -273,6 +273,8 @@ var MxDrawObject = /** @class */ (function () {
|
|
|
273
273
|
* Mx.MxFun.getCurrentDraw().addEvent("render", (renderer)=> {})
|
|
274
274
|
* 视区大小被修改事件.,viewsize={viewWidth:viewWidth,viewHeight:viewHeight}
|
|
275
275
|
* Mx.MxFun.getCurrentDraw().addEvent("viewsizechange", (viewsize)=> {})
|
|
276
|
+
* 实体选择状态发生改变的事件.
|
|
277
|
+
* Mx.MxFun.getCurrentDraw().addEvent("MxEntitySelectChange", (aryId:Array<number>)=> {})
|
|
276
278
|
* ```
|
|
277
279
|
*/
|
|
278
280
|
MxDrawObject.prototype.addEvent = function (eventNaem, fun) {
|
|
@@ -304,7 +306,7 @@ var MxDrawObject = /** @class */ (function () {
|
|
|
304
306
|
return this._mxdrawObj.screenCoord2World(x, y, z);
|
|
305
307
|
};
|
|
306
308
|
/**
|
|
307
|
-
* ThreeJS
|
|
309
|
+
* ThreeJS坐标到屏幕坐标,屏幕坐标的Y轴向下。坐标原点在左上角.
|
|
308
310
|
* @returns THREE.Vector3
|
|
309
311
|
* @example
|
|
310
312
|
* ```typescript
|
|
@@ -497,6 +499,30 @@ var MxDrawObject = /** @class */ (function () {
|
|
|
497
499
|
MxDrawObject.prototype.getMxCurrentSelect = function () {
|
|
498
500
|
return this._mxdrawObj.getMxAllSelect();
|
|
499
501
|
};
|
|
502
|
+
/**
|
|
503
|
+
* 把对象添加到当前选择中.
|
|
504
|
+
* @returns void
|
|
505
|
+
* @example
|
|
506
|
+
* ```typescript
|
|
507
|
+
*
|
|
508
|
+
*
|
|
509
|
+
* ```
|
|
510
|
+
*/
|
|
511
|
+
MxDrawObject.prototype.addMxCurrentSelect = function (id) {
|
|
512
|
+
return this._mxdrawObj.addMxCurrentSelect(id);
|
|
513
|
+
};
|
|
514
|
+
/**
|
|
515
|
+
* 清除当前所有选择
|
|
516
|
+
* @returns void
|
|
517
|
+
* @example
|
|
518
|
+
* ```typescript
|
|
519
|
+
*
|
|
520
|
+
*
|
|
521
|
+
* ```
|
|
522
|
+
*/
|
|
523
|
+
MxDrawObject.prototype.clearMxCurrentSelect = function () {
|
|
524
|
+
return this._mxdrawObj.clearMxCurrentSelect();
|
|
525
|
+
};
|
|
500
526
|
/**
|
|
501
527
|
*通过id获取绘制的对象.
|
|
502
528
|
* @param id 返回对象的id
|
|
@@ -508,7 +534,7 @@ var MxDrawObject = /** @class */ (function () {
|
|
|
508
534
|
* ```
|
|
509
535
|
*/
|
|
510
536
|
MxDrawObject.prototype.getMxEntity = function (id) {
|
|
511
|
-
return this._mxdrawObj.
|
|
537
|
+
return this._mxdrawObj.getMxEntityUserObject(id);
|
|
512
538
|
};
|
|
513
539
|
/**
|
|
514
540
|
* 查找某点位置处的用户自绘对象.
|
|
@@ -589,7 +615,71 @@ var MxDrawObject = /** @class */ (function () {
|
|
|
589
615
|
MxDrawObject.prototype.enablePan = function (isEnable) {
|
|
590
616
|
return this._mxdrawObj.enablePan(isEnable);
|
|
591
617
|
};
|
|
618
|
+
/**
|
|
619
|
+
* 删除MxEntity
|
|
620
|
+
* @param id 实体id.
|
|
621
|
+
* @returns
|
|
622
|
+
* @example
|
|
623
|
+
* ```typescript
|
|
624
|
+
*
|
|
625
|
+
*
|
|
626
|
+
* ```
|
|
627
|
+
*/
|
|
628
|
+
MxDrawObject.prototype.eraseMxEntity = function (id) {
|
|
629
|
+
return this._mxdrawObj.eraseMxEntity(id);
|
|
630
|
+
};
|
|
631
|
+
/**
|
|
632
|
+
* 移除安视图坐标绘制的对象.
|
|
633
|
+
* @param obj 对象.
|
|
634
|
+
* @returns
|
|
635
|
+
* @example
|
|
636
|
+
* ```typescript
|
|
637
|
+
*
|
|
638
|
+
*
|
|
639
|
+
* ```
|
|
640
|
+
*/
|
|
641
|
+
MxDrawObject.prototype.removeViewObject = function (obj) {
|
|
642
|
+
this._mxdrawObj.removeViewObject(obj);
|
|
643
|
+
};
|
|
644
|
+
/**
|
|
645
|
+
* 保存所有MxEntity的数据到json字符串.
|
|
646
|
+
* @param
|
|
647
|
+
* @returns json字符串
|
|
648
|
+
* @example
|
|
649
|
+
* ```typescript
|
|
650
|
+
*
|
|
651
|
+
*
|
|
652
|
+
* ```
|
|
653
|
+
*/
|
|
654
|
+
MxDrawObject.prototype.saveMxEntityToJson = function () {
|
|
655
|
+
return this._mxdrawObj.saveMxEntityToJson();
|
|
656
|
+
};
|
|
657
|
+
/**
|
|
658
|
+
* 从json字符串恢复MxEntity
|
|
659
|
+
* @param dataString json字符串.
|
|
660
|
+
* @returns
|
|
661
|
+
* @example
|
|
662
|
+
* ```typescript
|
|
663
|
+
*
|
|
664
|
+
*
|
|
665
|
+
* ```
|
|
666
|
+
*/
|
|
667
|
+
MxDrawObject.prototype.loadMxEntityFromJson = function (dataString) {
|
|
668
|
+
return this._mxdrawObj.loadMxEntityFromJson(dataString);
|
|
669
|
+
};
|
|
670
|
+
/**
|
|
671
|
+
* 删除所有对MxEntity
|
|
672
|
+
* @param
|
|
673
|
+
* @returns
|
|
674
|
+
* @example
|
|
675
|
+
* ```typescript
|
|
676
|
+
*
|
|
677
|
+
*
|
|
678
|
+
* ```
|
|
679
|
+
*/
|
|
680
|
+
MxDrawObject.prototype.eraseAllMxEntity = function () {
|
|
681
|
+
return this._mxdrawObj.eraseAllMxEntity();
|
|
682
|
+
};
|
|
592
683
|
return MxDrawObject;
|
|
593
684
|
}());
|
|
594
685
|
exports.default = MxDrawObject;
|
|
595
|
-
//# sourceMappingURL=MxDrawObject.js.map
|
|
@@ -30,7 +30,7 @@ var MxFun = /** @class */ (function () {
|
|
|
30
30
|
* 创建图纸展示控件实例
|
|
31
31
|
* @param canvasId 提供一个canvas元素或者唯一的ID或者class类亦或者Jquery选中的元素
|
|
32
32
|
* @paramType string | HTMLCanvasElement | JQuery<HTMLElement>
|
|
33
|
-
* @param
|
|
33
|
+
* @param cadFile 提供要展示的图纸名称
|
|
34
34
|
* @paramType string
|
|
35
35
|
* @param callback 图纸展示控件创建完成后的回调函数 回调参数mxDraw和dom
|
|
36
36
|
* @paramType function
|
|
@@ -41,7 +41,7 @@ var MxFun = /** @class */ (function () {
|
|
|
41
41
|
* ``` typescript
|
|
42
42
|
* Mx.MxFun.createMxObject({
|
|
43
43
|
* canvasId: "my-app",
|
|
44
|
-
*
|
|
44
|
+
* cadFile: "test2.dwg",
|
|
45
45
|
* callback(mxDraw, { canvas, canvasParent }) {
|
|
46
46
|
* console.log(mxDraw, canvas, canvasParent)
|
|
47
47
|
* },
|
|
@@ -50,7 +50,7 @@ var MxFun = /** @class */ (function () {
|
|
|
50
50
|
* ```
|
|
51
51
|
*/
|
|
52
52
|
MxFun.prototype.createMxObject = function (_a) {
|
|
53
|
-
var _b = _a.canvasId, canvasId = _b === void 0 ? (0, random_1.createReandomId)() : _b, _c = _a.
|
|
53
|
+
var _b = _a.canvasId, canvasId = _b === void 0 ? (0, random_1.createReandomId)() : _b, _c = _a.cadFile, cadFile = _c === void 0 ? 'test2.dwg' : _c, callback = _a.callback, _d = _a.isNewFile, isNewFile = _d === void 0 ? true : _d;
|
|
54
54
|
// 获取canvas和其父级
|
|
55
55
|
var canvas = (0, create_1.createCanvas)(canvasId);
|
|
56
56
|
var canvasParent = (0, create_1.createCanvasParent)(canvas);
|
|
@@ -64,7 +64,7 @@ var MxFun = /** @class */ (function () {
|
|
|
64
64
|
// canvasParent.style.position = 'relative';
|
|
65
65
|
// 创建实例
|
|
66
66
|
;
|
|
67
|
-
store_1.default.state.MxFun.createMxObject(canvasId,
|
|
67
|
+
store_1.default.state.MxFun.createMxObject(canvasId, cadFile, function (mxDraw) {
|
|
68
68
|
var mxdrawObj = new MxDrawObject_1.default(mxDraw);
|
|
69
69
|
mxDraw.setMouseRightRotate(false);
|
|
70
70
|
mxDraw.setIniset({ EnableOsnapFunction: true });
|
|
@@ -166,7 +166,7 @@ var MxFun = /** @class */ (function () {
|
|
|
166
166
|
* @example
|
|
167
167
|
* ``` typescript
|
|
168
168
|
* Mx.MxFun.call("getDrawObject", {
|
|
169
|
-
*
|
|
169
|
+
* cadFile: "test.dwg"
|
|
170
170
|
* }, (res)=> {
|
|
171
171
|
* console.log(res)
|
|
172
172
|
* })
|
|
@@ -213,6 +213,18 @@ var MxFun = /** @class */ (function () {
|
|
|
213
213
|
MxFun.prototype.worldCoordLong2Doc = function (len) {
|
|
214
214
|
return store_1.default.state.MxFun.worldCoordLong2Doc(len);
|
|
215
215
|
};
|
|
216
|
+
/**
|
|
217
|
+
* DWG文档坐标长度到ThreeJS坐标长度
|
|
218
|
+
* @returns number
|
|
219
|
+
* @example
|
|
220
|
+
* ```typescript
|
|
221
|
+
*
|
|
222
|
+
*
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
MxFun.prototype.docCoordLong2World = function (l) {
|
|
226
|
+
return store_1.default.state.MxFun.docCoordLong2World(l);
|
|
227
|
+
};
|
|
216
228
|
/**
|
|
217
229
|
* 屏幕坐标转THREE.JS坐标.
|
|
218
230
|
* @param x 坐标x
|
|
@@ -229,7 +241,7 @@ var MxFun = /** @class */ (function () {
|
|
|
229
241
|
return store_1.default.state.MxFun.screenCoord2World(x, y, z);
|
|
230
242
|
};
|
|
231
243
|
/**
|
|
232
|
-
* THREE.JS
|
|
244
|
+
* THREE.JS坐标转屏幕坐标.,屏幕坐标的Y轴向下。坐标原点在左上角.
|
|
233
245
|
* @param x 坐标x
|
|
234
246
|
* @param y 坐标y
|
|
235
247
|
* @param z 坐标z
|
|
@@ -245,6 +257,7 @@ var MxFun = /** @class */ (function () {
|
|
|
245
257
|
};
|
|
246
258
|
/**
|
|
247
259
|
* 文档坐标转THREE.JS坐标
|
|
260
|
+
* 说明: 文档坐标,THREE.JS坐标的X轴都是从左到右,Y轴是下到上,但是屏幕像素坐标系:X轴都是从左到右,Y轴是上到下
|
|
248
261
|
* @param x 坐标x
|
|
249
262
|
* @param y 坐标y
|
|
250
263
|
* @param z 坐标z
|
|
@@ -463,7 +476,7 @@ var MxFun = /** @class */ (function () {
|
|
|
463
476
|
return 5 + 6;
|
|
464
477
|
};
|
|
465
478
|
/**
|
|
466
|
-
*
|
|
479
|
+
* 加载一个图片对象,返回Three.js材质对象,该函数具有缓存功能,下次加载同样的图片,可以直接返回.
|
|
467
480
|
* @param p
|
|
468
481
|
* @return any
|
|
469
482
|
* @example
|
|
@@ -471,10 +484,40 @@ var MxFun = /** @class */ (function () {
|
|
|
471
484
|
*
|
|
472
485
|
* ```
|
|
473
486
|
*/
|
|
474
|
-
MxFun.prototype.
|
|
475
|
-
return store_1.default.state.MxFun.
|
|
487
|
+
MxFun.prototype.loadImageMaterial = function (imageUrlPath, callResult) {
|
|
488
|
+
return store_1.default.state.MxFun.loadImageMaterial(imageUrlPath, callResult);
|
|
489
|
+
};
|
|
490
|
+
/**
|
|
491
|
+
* 判断点是否在一个闭合的多边形区域。
|
|
492
|
+
* @param p
|
|
493
|
+
* @return any
|
|
494
|
+
* @example
|
|
495
|
+
* ``` typescript
|
|
496
|
+
* let aryPoint:Array<THREE.Vector3> = [];
|
|
497
|
+
* aryPoint.push(new THREE.Vector3(0,0,0));
|
|
498
|
+
* aryPoint.push(new THREE.Vector3(0,100,0));
|
|
499
|
+
* aryPoint.push(new THREE.Vector3(100,100,0));
|
|
500
|
+
* aryPoint.push(new THREE.Vector3(100,0,0));
|
|
501
|
+
* let pt:THREE.Vector3 = new THREE.Vector3(150,150);
|
|
502
|
+
* if(MxFun.pointInPolyline(pt,aryPoint) ){
|
|
503
|
+
* console.log("in");
|
|
504
|
+
* }
|
|
505
|
+
* ```
|
|
506
|
+
*/
|
|
507
|
+
MxFun.prototype.pointInPolyline = function (pt, vecPolyline) {
|
|
508
|
+
return store_1.default.state.MxFun.pointInPolyline(pt, vecPolyline);
|
|
509
|
+
};
|
|
510
|
+
/**
|
|
511
|
+
* 计算多边形区域的面积
|
|
512
|
+
* @param p
|
|
513
|
+
* @return any
|
|
514
|
+
* @example
|
|
515
|
+
* ``` typescript
|
|
516
|
+
* ```
|
|
517
|
+
*/
|
|
518
|
+
MxFun.prototype.calcArea = function (aryPoint) {
|
|
519
|
+
return store_1.default.state.MxFun.calcArea(aryPoint);
|
|
476
520
|
};
|
|
477
521
|
return MxFun;
|
|
478
522
|
}());
|
|
479
523
|
exports.default = MxFun;
|
|
480
|
-
//# sourceMappingURL=MxFun.js.map
|
|
@@ -139,8 +139,8 @@ var MxThreeJS = /** @class */ (function () {
|
|
|
139
139
|
context.font = sFont;
|
|
140
140
|
context.textAlign = 'center';
|
|
141
141
|
context.textBaseline = 'middle';
|
|
142
|
-
|
|
143
|
-
|
|
142
|
+
context.fillStyle = (0, formatting_1.formatString)('rgba({0}, {1}, {2}, 1.0)', ((iColor >> 16) & 0xff) + "", ((iColor >> 8) & 0xff) + "", (iColor & 0xff) + "");
|
|
143
|
+
//const sColor = formatString('#{0}', iColor.toString(16))
|
|
144
144
|
context.fillText(message, textWidth / 2, textHeight / 2);
|
|
145
145
|
var texture = new three_1.Texture(canvas);
|
|
146
146
|
texture.needsUpdate = true;
|
|
@@ -241,7 +241,7 @@ var MxThreeJS = /** @class */ (function () {
|
|
|
241
241
|
};
|
|
242
242
|
/**
|
|
243
243
|
* 创建Image
|
|
244
|
-
* @param pos
|
|
244
|
+
* @param pos 图片中心点位置,屏幕坐标,屏幕坐标的Y轴向上。坐标原点在左下角.
|
|
245
245
|
* @param w 图片宽度
|
|
246
246
|
* @param h 图片高度
|
|
247
247
|
* @param imageUrlPath 图片URl地址
|
|
@@ -255,38 +255,9 @@ var MxThreeJS = /** @class */ (function () {
|
|
|
255
255
|
* ```
|
|
256
256
|
*/
|
|
257
257
|
MxThreeJS.prototype.createImage = function (pos, w, h, imageUrlPath, callResult) { };
|
|
258
|
-
// createImage(pos:Vector3,w:number,h:number,imageUrlPath:string,callResult:(mesh:Mesh | null)=>void): void{
|
|
259
|
-
// new TextureLoader().load(
|
|
260
|
-
// imageUrlPath,
|
|
261
|
-
// function (texture) {
|
|
262
|
-
// let geometry = new PlaneGeometry(w, w);
|
|
263
|
-
// // 测试 transparent: true,打开,renderOrder才管用。
|
|
264
|
-
// let materialTexture = new MeshLambertMaterial({
|
|
265
|
-
// map: texture,
|
|
266
|
-
// transparent: true,
|
|
267
|
-
// side: DoubleSide
|
|
268
|
-
// });
|
|
269
|
-
// if(materialTexture.map)
|
|
270
|
-
// materialTexture.map.needsUpdate = true;
|
|
271
|
-
// setGeometryPostion(geometry,pos);
|
|
272
|
-
// //var mesh = new Mesh(geometry, material);
|
|
273
|
-
// let mesh:any = new Mesh(geometry, materialTexture);
|
|
274
|
-
// mesh.material["depthTest"]=false;
|
|
275
|
-
// //mesh.renderOrder = renderOrder;
|
|
276
|
-
// callResult(mesh);
|
|
277
|
-
// },
|
|
278
|
-
// undefined,
|
|
279
|
-
// function (err) {
|
|
280
|
-
// console.log(err)
|
|
281
|
-
// callResult(null);
|
|
282
|
-
// });
|
|
283
|
-
// }
|
|
284
258
|
/**
|
|
285
259
|
* 加载SVG
|
|
286
|
-
* @param url SVG
|
|
287
|
-
* @param x X轴位置
|
|
288
|
-
* @param y Y轴位置
|
|
289
|
-
* @param scale 缩放比
|
|
260
|
+
* @param url SVG路径地址,该函数具有缓存功能,下次加载同样的图片,可以直接返回.
|
|
290
261
|
* @param color 颜色
|
|
291
262
|
* @param callResult SVG加载完成的回调 回调参数:THREE.Object3D和Array<THREE.MeshBasicMaterial>
|
|
292
263
|
* @returns void
|
|
@@ -297,8 +268,7 @@ var MxThreeJS = /** @class */ (function () {
|
|
|
297
268
|
* })
|
|
298
269
|
* ```
|
|
299
270
|
*/
|
|
300
|
-
MxThreeJS.prototype.loadSVG = function (url,
|
|
271
|
+
MxThreeJS.prototype.loadSVG = function (url, color, callResult) { };
|
|
301
272
|
return MxThreeJS;
|
|
302
273
|
}());
|
|
303
274
|
exports.default = MxThreeJS;
|
|
304
|
-
//# sourceMappingURL=MxThreeJS.js.map
|