mxdraw 0.0.10 → 0.0.14
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 +126 -11
- package/dist/lib/MxModule/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js +1 -2
- package/dist/lib/MxModule/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js.map +1 -1
- package/dist/lib/MxModule/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.js +1 -2
- package/dist/lib/MxModule/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.js.map +1 -1
- package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js +16 -0
- package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js.map +1 -1
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js +102 -7
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js.map +1 -1
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js +7 -6
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js.map +1 -1
- package/dist/lib/MxModule/MxThreeJS/SVGLoader.js +1863 -0
- package/dist/lib/MxModule/MxThreeJS/SVGLoader.js.map +1 -0
- package/dist/lib/MxModule/useCoreCode/mxfun.es5.js +6642 -6632
- package/dist/lib/MxModule/useCoreCode/mxfun.es5.js.map +1 -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/MxDrawObject/MxDrawObject.d.ts +15 -1
- package/dist/types/MxModule/MxThreeJS/MxThreeJS.d.ts +52 -16
- package/dist/types/MxModule/MxThreeJS/SVGLoader.d.ts +22 -0
- package/package.json +6 -4
package/README.md
CHANGED
|
@@ -1,13 +1,29 @@
|
|
|
1
|
-
|
|
1
|
+
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
|
2
|
+
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
|
3
|
+
目录
|
|
2
4
|
|
|
5
|
+
- [简介](#%E7%AE%80%E4%BB%8B)
|
|
6
|
+
- [mxdraw 是什么?](#mxdraw-%E6%98%AF%E4%BB%80%E4%B9%88)
|
|
7
|
+
- [项目应用构建](#%E9%A1%B9%E7%9B%AE%E5%BA%94%E7%94%A8%E6%9E%84%E5%BB%BA)
|
|
8
|
+
- [基于Vue-cli构建Vue单页面应用程序](#%E5%9F%BA%E4%BA%8Evue-cli%E6%9E%84%E5%BB%BAvue%E5%8D%95%E9%A1%B5%E9%9D%A2%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F)
|
|
9
|
+
- [安装](#%E5%AE%89%E8%A3%85)
|
|
10
|
+
- [npm](#npm)
|
|
11
|
+
- [用法](#%E7%94%A8%E6%B3%95)
|
|
12
|
+
- [引入](#%E5%BC%95%E5%85%A5)
|
|
13
|
+
- [加载](#%E5%8A%A0%E8%BD%BD)
|
|
14
|
+
- [如何实现一个画线的功能命令?](#%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E7%94%BB%E7%BA%BF%E7%9A%84%E5%8A%9F%E8%83%BD%E5%91%BD%E4%BB%A4)
|
|
15
|
+
- [按需引入配置](#%E6%8C%89%E9%9C%80%E5%BC%95%E5%85%A5%E9%85%8D%E7%BD%AE)
|
|
16
|
+
- [License](#license)
|
|
17
|
+
|
|
18
|
+
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
|
3
19
|
## 简介
|
|
4
20
|
### mxdraw 是什么?
|
|
5
|
-
是一套用于构建CAD在线绘图的JS库,可以方便快捷构建起一个网页界面,实现CAD图纸预览和编辑功能的一套解决方案
|
|
21
|
+
> 是一套用于构建CAD在线绘图的JS库,可以方便快捷构建起一个网页界面,实现CAD图纸预览和编辑功能的一套解决方案
|
|
6
22
|
### 浏览器兼容
|
|
7
|
-
支持大部分现代主流浏览器比如Chrome、Edge等, 不支持IE浏览器
|
|
23
|
+
> 支持大部分现代主流浏览器比如Chrome、Edge等, 不支持IE浏览器
|
|
8
24
|
### 使用人群
|
|
9
|
-
面向前端开发者 熟悉了解`JavaScript` 并且会使用 `three.js`框架。
|
|
10
|
-
如从未接触过three.js建议先阅读[three.js中文文档](http://www.yanhuangxueyuan.com/threejs/docs/index.html#manual/zh/) 后再进行开发使用。
|
|
25
|
+
> 面向前端开发者 熟悉了解`JavaScript` 并且会使用 `three.js`框架。
|
|
26
|
+
> 如从未接触过three.js建议先阅读[three.js中文文档](http://www.yanhuangxueyuan.com/threejs/docs/index.html#manual/zh/) 后再进行开发使用。
|
|
11
27
|
|
|
12
28
|
|
|
13
29
|
## 项目应用构建
|
|
@@ -102,7 +118,12 @@ vue create mxdraw-test-vue3
|
|
|
102
118
|
# 是否保存当前选择的配置项,如果当前配置是经常用到的配置,建议选择y存储一下当前配置项
|
|
103
119
|
? Save this as a preset for future projects? (y/N)
|
|
104
120
|
# 选择n之后则会直接开始创建项目了,选择y之后则会输入一个存储当前配置项的名称:
|
|
105
|
-
? Save preset as:
|
|
121
|
+
? Save preset as:
|
|
122
|
+
```
|
|
123
|
+
#### 3.运行项目
|
|
124
|
+
``` sh
|
|
125
|
+
cd mxdraw-test-vue3
|
|
126
|
+
yarn serve
|
|
106
127
|
```
|
|
107
128
|
|
|
108
129
|
<!-- > 选择Manually select features自定义选项
|
|
@@ -137,16 +158,19 @@ vue create mxdraw-test-vue3
|
|
|
137
158
|
|
|
138
159
|
|
|
139
160
|
## 安装
|
|
140
|
-
|
|
161
|
+
### npm
|
|
162
|
+
``` sh
|
|
141
163
|
yarn add mxdraw 或 npm install mxdraw
|
|
142
164
|
```
|
|
143
165
|
|
|
144
166
|
## 用法
|
|
145
167
|
|
|
146
168
|
### 引入
|
|
169
|
+
|
|
147
170
|
``` javascript
|
|
148
171
|
import Mx from "mxdraw"
|
|
149
172
|
```
|
|
173
|
+
|
|
150
174
|
### 加载
|
|
151
175
|
> html
|
|
152
176
|
``` html
|
|
@@ -157,27 +181,118 @@ import Mx from "mxdraw"
|
|
|
157
181
|
> js
|
|
158
182
|
``` javascript
|
|
159
183
|
import Mx from "mxdraw"
|
|
160
|
-
//
|
|
161
|
-
Mx.useCoreCode().then((
|
|
184
|
+
// 动态加载 js库核心代码
|
|
185
|
+
Mx.useCoreCode().then(()=> {
|
|
186
|
+
// 设置服务器地址
|
|
162
187
|
Mx.MxFun.setMxServer("服务器地址")
|
|
188
|
+
// 创建控件对象
|
|
163
189
|
Mx.MxFun.createMxObject({
|
|
164
|
-
canvasId: "mxcad", // canvas
|
|
190
|
+
canvasId: "mxcad", // canvas元素的id
|
|
165
191
|
drawName:"test2.dwg", // 服务器中图纸名称
|
|
166
192
|
callback: (mxDraw, {
|
|
167
193
|
canvas,
|
|
168
194
|
canvasParent
|
|
169
195
|
}) => {
|
|
196
|
+
// 可以拿到canvas元素和它的父级元素
|
|
170
197
|
console.log(canvas, canvasParent)
|
|
171
198
|
console.log(mxDraw)
|
|
199
|
+
// 拿到图层数据
|
|
172
200
|
mxDraw.addEvent('uiSetLayerData', (listLayer) => {
|
|
173
201
|
console.log(listLayer)
|
|
174
202
|
})
|
|
175
203
|
},
|
|
176
|
-
isNewFile: true
|
|
204
|
+
isNewFile: true // 是否新建文件
|
|
177
205
|
})
|
|
178
206
|
})
|
|
179
207
|
```
|
|
180
208
|
|
|
209
|
+
|
|
210
|
+
### 如何实现一个画线的功能命令?
|
|
211
|
+
#### 1.实现画线功能
|
|
212
|
+
参考资料:
|
|
213
|
+
* [MrxDbgUiPrPointClass | getPoint](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MrxDbgUiPrPointClass.html) 构建取点对象
|
|
214
|
+
* [status](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/enums/MrxDbgUiPrBaseReturn.html) MrxDbgUiPrBaseReturn 表示对应状态
|
|
215
|
+
* [McEdGetPointWorldDrawObjectClass | pWorldDraw](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/McEdGetPointWorldDrawObjectClass.html) 用于构建一个动态绘制回调对象
|
|
216
|
+
* [MxThreeJS](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxThreeJS.html) three.js基础封装的一些功能
|
|
217
|
+
* [pt1 | pt2 | lastPt](http://www.yanhuangxueyuan.com/threejs/docs/index.html#api/zh/math/Vector3) THREE.Vector3 数据类型
|
|
218
|
+
|
|
219
|
+
``` javascript
|
|
220
|
+
import Mx from "mxdraw"
|
|
221
|
+
// 画线的函数
|
|
222
|
+
function BR_Line() {
|
|
223
|
+
// 构建取点对象
|
|
224
|
+
const getPoint = new Mx.MrxDbgUiPrPointClass();
|
|
225
|
+
// 构建动态绘制对象
|
|
226
|
+
const worldDrawComment = new Mx.McEdGetPointWorldDrawObjectClass();
|
|
227
|
+
// 开始动态拖动 行为: 鼠标点击画布时只执行一次回调函数,后续点击无效
|
|
228
|
+
getPoint.go((status) => {
|
|
229
|
+
if (status !== 0) {
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
// 获取鼠标在画布上的第一个点
|
|
233
|
+
const pt1 = getPoint.value();
|
|
234
|
+
// 将第一个点作为起始点
|
|
235
|
+
let lastPt = pt1.clone();
|
|
236
|
+
// 设置动态绘制的回调函数
|
|
237
|
+
worldDrawComment.setDraw((currentPoint, pWorldDraw) => {
|
|
238
|
+
// 绘制当前鼠标移动点到起始点的线段
|
|
239
|
+
pWorldDraw.drawLine(currentPoint, lastPt);
|
|
240
|
+
});
|
|
241
|
+
// 设置取点对象交互过程中的动态绘制调用对象
|
|
242
|
+
getPoint.setUserDraw(worldDrawComment)
|
|
243
|
+
|
|
244
|
+
// 开启动态拖动,连续取点,直到ESC退出。 行为: 鼠标点击一下执行一次回调函数
|
|
245
|
+
getPoint.goWhile((status) => {
|
|
246
|
+
if (status === 0) {
|
|
247
|
+
// 获取第二个点的位置
|
|
248
|
+
const pt2 = getPoint.value();
|
|
249
|
+
|
|
250
|
+
// 拿到Three的场景对象
|
|
251
|
+
let sence = Mx.MxFun.getCurrentDraw().getScene();
|
|
252
|
+
|
|
253
|
+
// 创建一条 从起始点到 当前点击位置的线段
|
|
254
|
+
let line = Mx.MxThreeJS.createLine(lastPt, pt2, 0xffffff);
|
|
255
|
+
|
|
256
|
+
// 将线段添加到场景中
|
|
257
|
+
sence.add(line);
|
|
258
|
+
|
|
259
|
+
// 将第二点作为起始点
|
|
260
|
+
lastPt = pt2
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
#### 2.注册使用命名
|
|
270
|
+
参考资料:
|
|
271
|
+
* [MxFun.addCommand](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxFun.html#addCommand) 注册命名方法
|
|
272
|
+
* [MxFun.sendStringToExecute](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxFun.html#sendStringToExecute) 执行命名方法
|
|
273
|
+
* [MxFun.isRunningCommand](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/classes/MxFun.html#isRunningCommand) 检查是否有命令在运行
|
|
274
|
+
|
|
275
|
+
``` javascript
|
|
276
|
+
import Mx from "mxdraw"
|
|
277
|
+
// 注册命名
|
|
278
|
+
Mx.MxFun.addCommand("BR_Line", ()=> {
|
|
279
|
+
if(Mx.MxFun.isRunningCommand()) {
|
|
280
|
+
return
|
|
281
|
+
}
|
|
282
|
+
BR_Line()
|
|
283
|
+
})
|
|
284
|
+
// 执行命令
|
|
285
|
+
Mx.MxFun.sendStringToExecute("BR_Line")
|
|
286
|
+
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
> 更多Api使用说明请参考[Mx模块集](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/modules.html)对应模块中的Api接口说明
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
181
296
|
## 按需引入配置
|
|
182
297
|
> 使用`babel` 插件`babel-plugin-import` 实现按需引入
|
|
183
298
|
> 需要安装 `npm i babel-plugin-import -D` 然后找到或创建项目根目录的`.babelrc`文件新增如下内容
|
package/dist/lib/MxModule/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js
CHANGED
|
@@ -11,8 +11,7 @@ var _McEdGetPointWorldDraw;
|
|
|
11
11
|
*/
|
|
12
12
|
var McEdGetPointWorldDrawObjectClass = /** @class */ (function () {
|
|
13
13
|
function McEdGetPointWorldDrawObjectClass() {
|
|
14
|
-
|
|
15
|
-
_McEdGetPointWorldDraw = new (_MxFun.getMxJigCmdManager().McEdGetPointWorldDrawObjectClass())();
|
|
14
|
+
_McEdGetPointWorldDraw = new (store_1.default.state.MxFun.getMxJigCmdManager().McEdGetPointWorldDrawObjectClass())();
|
|
16
15
|
/** @internal */
|
|
17
16
|
this._get = function () {
|
|
18
17
|
return _McEdGetPointWorldDraw;
|
package/dist/lib/MxModule/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McEdGetPointWorldDrawObjectClass.js","sourceRoot":"","sources":["../../../../src/MxModule/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.ts"],"names":[],"mappings":";AAAA,8CAA8C;;AAG9C,wCAAkC;AAElC,IAAI,sBAAmD,CAAA;AAEvD;;;;;GAKG;AACH;IAEE;QACE,
|
|
1
|
+
{"version":3,"file":"McEdGetPointWorldDrawObjectClass.js","sourceRoot":"","sources":["../../../../src/MxModule/McEdGetPointWorldDrawObjectClass/McEdGetPointWorldDrawObjectClass.ts"],"names":[],"mappings":";AAAA,8CAA8C;;AAG9C,wCAAkC;AAElC,IAAI,sBAAmD,CAAA;AAEvD;;;;;GAKG;AACH;IAEE;QACE,sBAAsB,GAAG,IAAI,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,gCAAgC,EAAE,CAAC,EAAE,CAAA;QAE1G,gBAAgB;QAChB,IAAI,CAAC,IAAI,GAAG;YACV,OAAO,sBAAsB,CAAA;QAC/B,CAAC,CAAA;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,qDAAU,GAAV,UAAW,GAAkB,EAAE,OAAe;QAC5C,OAAO,sBAAsB,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC;IACD;;;;;;;;;;OAUG;IACH,mDAAQ,GAAR,UAAS,GAAkB,EAAE,GAAkB;QAC7C,OAAO,sBAAsB,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAClD,CAAC;IAED;;;;;;;;;OASG;IACH,qDAAU,GAAV,UAAW,GAA0B;QACnC,OAAO,sBAAsB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAC/C,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,mDAAQ,GAAR,UAAS,KAAa,EAAE,KAAa,EAAE,MAAc,EAAE,EAAiB;QACtE,OAAO,sBAAsB,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;IAClE,CAAC;IAED;;;;;;;;;;OAUG;IACH,kDAAO,GAAP,UACE,IAAyF;QAEzF,OAAO,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC;IACH,uCAAC;AAAD,CAAC,AAvFD,IAuFC"}
|
|
@@ -11,8 +11,7 @@ var _MrxDbgUiPrPoint;
|
|
|
11
11
|
*/
|
|
12
12
|
var MrxDbgUiPrPointClass = /** @class */ (function () {
|
|
13
13
|
function MrxDbgUiPrPointClass() {
|
|
14
|
-
|
|
15
|
-
_MrxDbgUiPrPoint = new (_MxFun.getMxJigCmdManager().getMrxDbgUiPrPointClass())();
|
|
14
|
+
_MrxDbgUiPrPoint = new (store_1.default.state.MxFun.getMxJigCmdManager().getMrxDbgUiPrPointClass())();
|
|
16
15
|
}
|
|
17
16
|
/**
|
|
18
17
|
* 返回关键字列表
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MrxDbgUiPrPointClass.js","sourceRoot":"","sources":["../../../../src/MxModule/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.ts"],"names":[],"mappings":";AAAA,mCAAmC;;AAInC,wCAAkC;
|
|
1
|
+
{"version":3,"file":"MrxDbgUiPrPointClass.js","sourceRoot":"","sources":["../../../../src/MxModule/MrxDbgUiPrPointClass/MrxDbgUiPrPointClass.ts"],"names":[],"mappings":";AAAA,mCAAmC;;AAInC,wCAAkC;AAClC,IAAI,gBAAiC,CAAA;AAErC;;;;;GAKG;AACH;IACE;QACE,gBAAgB,GAAG,IAAI,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAA;IAC7F,CAAC;IACD;;;OAGG;IACH,uCAAQ,GAAR;QACE,OAAO,gBAAgB,CAAC,QAAQ,EAAE,CAAA;IACpC,CAAC;IAED;;;;OAIG;IACH,0CAAW,GAAX,UAAY,WAAmB;QAC7B,OAAO,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IAClD,CAAC;IAED;;;OAGG;IACH,sCAAO,GAAP;QACE,OAAO,gBAAgB,CAAC,OAAO,EAAE,CAAA;IACnC,CAAC;IAED;;;;OAIG;IACH,yCAAU,GAAV,UAAW,OAAe;QACxB,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;IAED;;;OAGG;IACH,4CAAa,GAAb;QACE,OAAO,gBAAgB,CAAC,aAAa,EAAE,CAAA;IACzC,CAAC;IAED;;;;OAIG;IACH,8CAAe,GAAf,UAAgB,YAAoB;QAClC,OAAO,gBAAgB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;IACvD,CAAC;IAED;;;;OAIG;IACH,0CAAW,GAAX,UAAY,KAAkC;QAC5C,OAAO,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACxE,CAAC;IAED;;;OAGG;IACH,oCAAK,GAAL;QACE,OAAO,gBAAgB,CAAC,KAAK,EAAE,CAAA;IACjC,CAAC;IAED;;;OAGG;IACH,4CAAa,GAAb;QACE,OAAO,gBAAgB,CAAC,aAAa,EAAE,CAAA;IACzC,CAAC;IAED;;;OAGG;IACH,qCAAM,GAAN;QACE,OAAO,gBAAgB,CAAC,MAAM,EAAE,CAAA;IAClC,CAAC;IAED;;;;OAIG;IACH,wCAAS,GAAT,UAAU,MAAqB;QAC7B,OAAO,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAED;;;;OAIG;IACH,2CAAY,GAAZ,UAAa,KAAc;QACzB,OAAO,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;IAED;;;;OAIG;IACH,iCAAE,GAAF,UAAG,OAA+C;QAChD,OAAO,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC;IAED;;;;;OAKG;IACH,sCAAO,GAAP,UACE,OAA8C,EAC9C,QAAgD;QAEhD,OAAO,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACpD,CAAC;IAED;;;;OAIG;IACH,0CAAW,GAAX,UAAY,aAA6C;QACvD,OAAO,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;IACpD,CAAC;IACH,2BAAC;AAAD,CAAC,AAxID,IAwIC"}
|
|
@@ -142,6 +142,18 @@ var MxDrawObject = /** @class */ (function () {
|
|
|
142
142
|
if (isAddToSelect === void 0) { isAddToSelect = true; }
|
|
143
143
|
return _mxdrawObj.addObject(obj, isAddToSelect);
|
|
144
144
|
};
|
|
145
|
+
/**
|
|
146
|
+
* 添加THREE.Object3D对象到视区场景,对象坐标系是窗口视区坐标系。0,0点在左下角.
|
|
147
|
+
* @param obj THREE.Object3D
|
|
148
|
+
* @returns void
|
|
149
|
+
* @example
|
|
150
|
+
* ```typescript
|
|
151
|
+
* Mx.MxFun.getCurrentDraw().addViewObject(new THREE.Object3D())
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
MxDrawObject.prototype.addViewObject = function (obj) {
|
|
155
|
+
return _mxdrawObj.addViewObject(obj);
|
|
156
|
+
};
|
|
145
157
|
/**
|
|
146
158
|
* 删除addObject函数添加的THREE.Object3D对象
|
|
147
159
|
* @param obj THREE.Object3D
|
|
@@ -236,6 +248,10 @@ var MxDrawObject = /** @class */ (function () {
|
|
|
236
248
|
* ```typescript
|
|
237
249
|
* Mx.MxFun.getCurrentDraw().addEvent("addResizeEvent", ()=> {})
|
|
238
250
|
* Mx.MxFun.getCurrentDraw().addEvent("viewchange", ()=> {})
|
|
251
|
+
* 视区重绘事件.
|
|
252
|
+
* Mx.MxFun.getCurrentDraw().addEvent("render", (renderer)=> {})
|
|
253
|
+
* 视区大小被修改事件.,viewsize={viewWidth:viewWidth,viewHeight:viewHeight}
|
|
254
|
+
* Mx.MxFun.getCurrentDraw().addEvent("viewsizechange", (viewsize)=> {})
|
|
239
255
|
* ```
|
|
240
256
|
*/
|
|
241
257
|
MxDrawObject.prototype.addEvent = function (eventNaem, fun) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MxDrawObject.js","sourceRoot":"","sources":["../../../../src/MxModule/MxDrawObject/MxDrawObject.ts"],"names":[],"mappings":";AAAA,2BAA2B;;AAI3B,IAAI,UAA4B,CAAA;AAChC;;;;;;;;;GASG;AACH;IACE,sBAAY,MAAwB;QAClC,UAAU,GAAG,MAAM,CAAA;IACrB,CAAC;IAMD;;;OAGG;IACH,+BAAQ,GAAR;QACE,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAA;IAC9B,CAAC;IAED;;;OAGG;IACH,gCAAS,GAAT;QACE,OAAO,UAAU,CAAC,SAAS,EAAE,CAAA;IAC/B,CAAC;IAED;;;OAGG;IACH,kCAAW,GAAX;QACE,OAAO,UAAU,CAAC,QAAQ,CAAA;IAC5B,CAAC;IACD;;;;;;;;;OASG;IACH,0CAAmB,GAAnB,UAAoB,QAAe;QAAf,yBAAA,EAAA,eAAe;QACjC,OAAO,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IACjD,CAAC;IAED;;;;;;;OAOG;IACH,0CAAmB,GAAnB;QACE,OAAO,UAAU,CAAC,mBAAmB,EAAE,CAAA;IACzC,CAAC;IAED;;;OAGG;IACH,gCAAS,GAAT;QACE,OAAO,UAAU,CAAC,SAAS,EAAE,CAAA;IAC/B,CAAC;IAED;;;OAGG;IACH,oCAAa,GAAb;QACE,OAAO,UAAU,CAAC,aAAa,EAAE,CAAA;IACnC,CAAC;IACD;;;;;;;;;;;OAWG;IACH,4CAAqB,GAArB,UAAsB,EAA+B,EAAE,KAAc;QACnE,OAAO,UAAU,CAAC,qBAAqB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC;IAED;;;;;;;;OAQG;IACH,mCAAY,GAAZ,UAAa,KAAa;QACxB,OAAO,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC;IAED;;;;;;;;;OASG;IACH,8BAAO,GAAP,UAAQ,KAAa,EAAE,MAAc;QACnC,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED;;;;;;;;OAQG;IACH,0CAAmB,GAAnB,UAAoB,OAAsB;QACxC,OAAO,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED;;;;;;;;;OASG;IACH,gCAAS,GAAT,UAAU,
|
|
1
|
+
{"version":3,"file":"MxDrawObject.js","sourceRoot":"","sources":["../../../../src/MxModule/MxDrawObject/MxDrawObject.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/** @module MxThreeJS */
|
|
4
3
|
var three_1 = require("three");
|
|
5
4
|
var math_1 = require("../../tools/algorithm/math");
|
|
6
5
|
var formatting_1 = require("../../tools/formatting");
|
|
7
6
|
/**
|
|
8
7
|
* MxThreeJS 模块
|
|
8
|
+
* ##### 使用说明:
|
|
9
|
+
*
|
|
10
|
+
* > 基于three.js实现创建直线对象、加载图片、SVG等功能,以下是使用的流程:
|
|
11
|
+
* - 模块中大部分方法返回的{@link http://www.yanhuangxueyuan.com/threejs/docs/index.html#api/zh/core/Object3D | THREE.Object3D}类型继承创建的对象都可以通过取点对象{@link MrxDbgUiPrPointClass.value} 得到鼠标对应位置
|
|
12
|
+
* - {@link MrxDbgUiPrPointClass.go}和{@link MrxDbgUiPrPointClass.goWhile}方法监听鼠标点击事件回调中通过
|
|
13
|
+
* - {@link MxDrawObject.addObject} 方法添加到场景{@link MxDrawObject.getScene}中
|
|
14
|
+
* - 最后调用{@link MxFun.updateDisplay} 更新视图显示完成
|
|
15
|
+
*
|
|
16
|
+
* > 提示: 在实际开发中MxThreeJS是配合着{@link MxDrawObject} 和 {@link MrxDbgUiPrPointClass} 完成绘制线段、文字、图片等功能,当然你也可以使用{@link http://www.yanhuangxueyuan.com/threejs/docs/index.html | three.js}来完成MxThreeJS模块的这些工作
|
|
17
|
+
*
|
|
18
|
+
* > 该模块导出库时已实例化为对象,只需要调用实例方法 例如:
|
|
9
19
|
*
|
|
10
|
-
* 导出库时已实例化为对象,只需要调用实例方法 例如:
|
|
11
20
|
* ```typescript
|
|
12
|
-
*
|
|
21
|
+
* // html
|
|
22
|
+
* <button id="line">line</button>
|
|
23
|
+
*
|
|
24
|
+
* // js
|
|
25
|
+
* import Mx from "mxdraw"
|
|
26
|
+
* import Three from "three"
|
|
27
|
+
* Mx.useCoreCode().then(()=> {
|
|
28
|
+
* Mx.MxFun.setMxServer()
|
|
29
|
+
* Mx.MxFun.createMxObject({
|
|
30
|
+
* callback(mxDraw, dom) {
|
|
31
|
+
* document.getElementById("line").onclick = ()=> {
|
|
32
|
+
* const getPoint = new Mx.MrxDbgUiPrPointClass()
|
|
33
|
+
* let lastPt, isLine
|
|
34
|
+
* getPoint.goWhile(()=> {
|
|
35
|
+
* const pt1 = getPoint.value()
|
|
36
|
+
* if(isLine) {
|
|
37
|
+
* const line = Mx.MxThreeJS.createLine(pt1, lastPt, 0xffffff)
|
|
38
|
+
* const currentDraw = Mx.MxFun.getCurrentDraw()
|
|
39
|
+
* currentDraw.addObject(line)
|
|
40
|
+
* Mx.MxFun.updateDisplay()
|
|
41
|
+
* }
|
|
42
|
+
* lastPt = pt1.clone()
|
|
43
|
+
* isLine = !isLine
|
|
44
|
+
* })
|
|
45
|
+
* }
|
|
46
|
+
* }
|
|
47
|
+
* })
|
|
48
|
+
* })
|
|
13
49
|
* ```
|
|
14
50
|
*/
|
|
15
51
|
var MxThreeJS = /** @class */ (function () {
|
|
@@ -17,10 +53,10 @@ var MxThreeJS = /** @class */ (function () {
|
|
|
17
53
|
}
|
|
18
54
|
/**
|
|
19
55
|
* 创建Three.js直线对象。
|
|
20
|
-
* @param vPt1 THREE.Vector3 点1
|
|
21
|
-
* @param
|
|
22
|
-
* @param iColor 颜色
|
|
23
|
-
* @returns THREE.Line
|
|
56
|
+
* @param vPt1 {@link http://www.yanhuangxueyuan.com/threejs/docs/index.html#api/zh/math/Vector3 | THREE.Vector3} 点1
|
|
57
|
+
* @param vPt2 {@link http://www.yanhuangxueyuan.com/threejs/docs/index.html#api/zh/math/Vector3 | THREE.Vector3} 点2
|
|
58
|
+
* @param iColor 颜色Color
|
|
59
|
+
* @returns {@link http://www.yanhuangxueyuan.com/threejs/docs/index.html#api/zh/objects/Line |THREE.Line}
|
|
24
60
|
* @example
|
|
25
61
|
* ```typescript
|
|
26
62
|
* Mx.MxThreeJS.createLine(new Three.Vector3(1,10,0), new Three.Vector3(1,300,0), 0)
|
|
@@ -203,6 +239,65 @@ var MxThreeJS = /** @class */ (function () {
|
|
|
203
239
|
line.computeLineDistances();
|
|
204
240
|
return line;
|
|
205
241
|
};
|
|
242
|
+
/**
|
|
243
|
+
* 创建Image
|
|
244
|
+
* @param pos 图片位置
|
|
245
|
+
* @param w 图片宽度
|
|
246
|
+
* @param h 图片高度
|
|
247
|
+
* @param imageUrlPath 图片URl地址
|
|
248
|
+
* @param callResult 图片加载完成的回调 回调参数:THREE.Mesh
|
|
249
|
+
* @returns void
|
|
250
|
+
* @example
|
|
251
|
+
* ```typescript
|
|
252
|
+
* Mx.MxThreeJS.createImage(new THREE.Vector3(12,2,2), 10, 20, "../img/icon.png", (mesh)=> {
|
|
253
|
+
* console.log(mesh)
|
|
254
|
+
* })
|
|
255
|
+
* ```
|
|
256
|
+
*/
|
|
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
|
+
/**
|
|
285
|
+
* 加载SVG
|
|
286
|
+
* @param url SVG路径地址
|
|
287
|
+
* @param x X轴位置
|
|
288
|
+
* @param y Y轴位置
|
|
289
|
+
* @param scale 缩放比
|
|
290
|
+
* @param color 颜色
|
|
291
|
+
* @param callResult SVG加载完成的回调 回调参数:THREE.Object3D和Array<THREE.MeshBasicMaterial>
|
|
292
|
+
* @returns void
|
|
293
|
+
* @example
|
|
294
|
+
* ```typescript
|
|
295
|
+
* Mx.MxThreeJS.loadSVG("../img/icon.svg", 10, 20, 1.5, new THREE.Color(0xff0000), (threeobj, aryMeterial)=> {
|
|
296
|
+
* console.log(threeobj, aryMeterial)
|
|
297
|
+
* })
|
|
298
|
+
* ```
|
|
299
|
+
*/
|
|
300
|
+
MxThreeJS.prototype.loadSVG = function (url, x, y, scale, color, callResult) { };
|
|
206
301
|
return MxThreeJS;
|
|
207
302
|
}());
|
|
208
303
|
exports.default = MxThreeJS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MxThreeJS.js","sourceRoot":"","sources":["../../../../src/MxModule/MxThreeJS/MxThreeJS.ts"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"MxThreeJS.js","sourceRoot":"","sources":["../../../../src/MxModule/MxThreeJS/MxThreeJS.ts"],"names":[],"mappings":";;AAAA,+BAmBc;AACd,mDAA4D;AAC5D,qDAAqD;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH;IAAA;IA0YA,CAAC;IAzYC;;;;;;;;;;OAUG;IAEH,8BAAU,GAAV,UAAW,IAAa,EAAE,IAAa,EAAE,MAA+B;QACtE,IAAM,YAAY,GAAG,IAAI,gBAAQ,EAAE,CAAA;QACnC,IAAM,YAAY,GAAG,IAAI,yBAAiB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7D,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACtC,OAAO,IAAI,YAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IAC7C,CAAC;IACD;;;;;;;;;;OAUG;IACH,gCAAY,GAAZ,UAAa,SAAkB,EAAE,OAAe,EAAE,MAA+B;QAC/E,IAAM,QAAQ,GAAG,IAAI,sBAAc,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QAChE,IAAM,QAAQ,GAAG,IAAI,yBAAiB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QACzD,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACzB,IAAM,IAAI,GAAG,IAAI,gBAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC7C,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,+BAAW,GAAX,UAAY,GAAY,EAAE,MAA+B;QACvD,IAAM,cAAc,GAAG,IAAI,gBAAQ,EAAE,CAAA;QACrC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjC,IAAM,cAAc,GAAG,IAAI,sBAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAA;QACrE,IAAM,MAAM,GAAG,IAAI,cAAM,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;QACzD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,mCAAe,GAAf,UACE,OAAe,EACf,EAAW,EACX,KAAa,EACb,MAAc,EACd,MAA+B;QAE/B,IAAM,UAAU,GAAG,GAAG,CAAA;QACtB,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC/C,IAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,IAAM,KAAK,GAAG,IAAA,yBAAY,EAAC,oBAAoB,EAAE,EAAE,GAAG,UAAU,CAAC,CAAA;QAEjE,0BAA0B;QAC1B,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,0BAA0B;YAC1B,OAAO,IAAI,CAAA;SACZ;QAED,OAAO,CAAC,IAAI,GAAG,KAAK,CAAA;QAEpB,IAAI,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAE1C,eAAe;QACf,SAAS,GAAG,IAAA,sBAAe,EAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAE9C,MAAM,CAAC,KAAK,GAAG,SAAS,CAAA;QACxB,MAAM,CAAC,MAAM,GAAG,UAAU,CAAA;QAE1B,OAAO,CAAC,IAAI,GAAG,KAAK,CAAA;QACpB,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAA;QAC5B,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAA;QAE/B,IAAM,MAAM,GAAG,IAAA,yBAAY,EAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;QACxD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAA;QAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;QAExD,IAAM,OAAO,GAAG,IAAI,eAAO,CAAC,MAAM,CAAC,CAAA;QACnC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAA;QAE1B,IAAM,QAAQ,GAAG,IAAI,sBAAc,CAAC;YAClC,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,OAAO;SACb,CAAC,CAAA;QAEF,+BAA+B;QAC/B,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAA;QAE1B,IAAM,MAAM,GAAG,IAAI,cAAM,CAAC,QAAQ,CAAC,CAAA;QAEnC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAE5D,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAErC,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,kCAAc,GAAd,UACE,MAAsB,EACtB,MAA+B,EAC/B,OAAa;QAAb,wBAAA,EAAA,aAAa;QAEb,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,IAAI,CAAA;SACZ;QACD,IAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAA;QAC1B,IAAM,QAAQ,GAAG,IAAI,gBAAQ,EAAE,CAAA;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;YACpC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YACjC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACrC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAErC,IAAM,IAAI,GAAG,IAAI,aAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;YACvC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC1B;QACD,QAAQ,CAAC,kBAAkB,EAAE,CAAA;QAC7B,QAAQ,CAAC,oBAAoB,EAAE,CAAA;QAE/B,8EAA8E;QAC9E,IAAM,QAAQ,GAAG,IAAI,yBAAiB,CAAC;YACrC,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,kBAAU;YAChB,OAAO,EAAE,OAAO;SACjB,CAAC,CAAA;QACF,IAAM,SAAS,GAAG,IAAI,YAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC9C,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;;;;;;OASG;IACH,+BAAW,GAAX,UAAY,MAAsB,EAAE,MAA+B;QACjE,IAAM,YAAY,GAAG,IAAI,gBAAQ,EAAE,CAAA;QACnC,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAA;QAC9B,6EAA6E;QAC7E,IAAM,YAAY,GAAG,IAAI,yBAAiB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7D,IAAM,IAAI,GAAG,IAAI,YAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;OAWG;IACH,qCAAiB,GAAjB,UACE,MAAsB,EACtB,MAA+B,EAC/B,QAAgB,EAChB,OAAe;QAEf,IAAM,YAAY,GAAG,IAAI,gBAAQ,EAAE,CAAA;QACnC,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAA;QAC9B,IAAM,IAAI,GAAG,IAAI,YAAI,CACnB,YAAY,EACZ,IAAI,0BAAkB,CAAC;YACrB,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,OAAO,CAAC,UAAU;SAC5B,CAAC,CACH,CAAA;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,+BAAW,GAAX,UACE,GAAY,EACZ,CAAS,EACT,CAAS,EACT,YAAoB,EACpB,UAAwC,IACjC,CAAC;IACV,4GAA4G;IAC5G,gCAAgC;IAChC,wBAAwB;IACxB,+BAA+B;IAC/B,sDAAsD;IACtD,yDAAyD;IACzD,8DAA8D;IAC9D,oCAAoC;IACpC,yCAAyC;IACzC,uCAAuC;IACvC,kBAAkB;IAElB,sCAAsC;IACtC,0DAA0D;IAC1D,gDAAgD;IAEhD,yDAAyD;IACzD,kEAAkE;IAClE,gDAAgD;IAChD,gDAAgD;IAChD,gCAAgC;IAChC,aAAa;IACb,qBAAqB;IACrB,2BAA2B;IAC3B,+BAA+B;IAC/B,gCAAgC;IAEhC,cAAc;IACd,IAAI;IAEJ;;;;;;;;;;;;;;;OAeG;IACH,2BAAO,GAAP,UACE,GAAW,EACX,CAAS,EACT,CAAS,EACT,KAAa,EACb,KAA+B,EAC/B,UAAgF,IACzE,CAAC;IAyFZ,gBAAC;AAAD,CAAC,AA1YD,IA0YC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var three_1 = require("three");
|
|
4
|
-
|
|
4
|
+
// import { SVGLoader } from 'three/examples/jsm/loaders/SVGLoader'
|
|
5
|
+
var SVGLoader_1 = require("./SVGLoader");
|
|
5
6
|
var three_2 = require("../../tools/three");
|
|
6
7
|
function default_1(MxThreeJS) {
|
|
7
8
|
MxThreeJS.createImage = function (pos, w, h, imageUrlPath, callResult) {
|
|
@@ -20,10 +21,10 @@ function default_1(MxThreeJS) {
|
|
|
20
21
|
var mesh = new three_1.Mesh(geometry, materialTexture);
|
|
21
22
|
mesh.material['depthTest'] = false;
|
|
22
23
|
//mesh.renderOrder = renderOrder;
|
|
23
|
-
callResult(mesh);
|
|
24
|
+
callResult && callResult(mesh);
|
|
24
25
|
}, undefined, function (err) {
|
|
25
26
|
console.log(err);
|
|
26
|
-
callResult(null);
|
|
27
|
+
callResult && callResult(null);
|
|
27
28
|
});
|
|
28
29
|
};
|
|
29
30
|
MxThreeJS.loadSVG = function (url, x, y, scale, color, callResult) {
|
|
@@ -52,7 +53,8 @@ function default_1(MxThreeJS) {
|
|
|
52
53
|
depthWrite: false,
|
|
53
54
|
wireframe: fillShapesWireframe
|
|
54
55
|
});
|
|
55
|
-
|
|
56
|
+
// const shapes = path.toShapes( true );
|
|
57
|
+
var shapes = SVGLoader_1.SVGLoader.createShapes(path);
|
|
56
58
|
for (var j = 0; j < shapes.length; j++) {
|
|
57
59
|
var shape = shapes[j];
|
|
58
60
|
var geometry = new three_1.ShapeBufferGeometry(shape);
|
|
@@ -82,8 +84,7 @@ function default_1(MxThreeJS) {
|
|
|
82
84
|
aryMeterial.push(material);
|
|
83
85
|
}
|
|
84
86
|
}
|
|
85
|
-
callResult(group, aryMeterial);
|
|
86
|
-
//scene.add( group );
|
|
87
|
+
callResult && callResult(group, aryMeterial);
|
|
87
88
|
});
|
|
88
89
|
};
|
|
89
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MxThreeJS.mixin.js","sourceRoot":"","sources":["../../../../src/MxModule/MxThreeJS/MxThreeJS.mixin.ts"],"names":[],"mappings":";;AAAA,+BAUc;AAEd,
|
|
1
|
+
{"version":3,"file":"MxThreeJS.mixin.js","sourceRoot":"","sources":["../../../../src/MxModule/MxThreeJS/MxThreeJS.mixin.ts"],"names":[],"mappings":"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"}
|