mxdraw 0.0.13 → 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 CHANGED
@@ -1,6 +1,6 @@
1
1
  <!-- START doctoc generated TOC please keep comment here to allow auto update -->
2
2
  <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3
- #mxdraw使用文档
3
+ 目录
4
4
 
5
5
  - [简介](#%E7%AE%80%E4%BB%8B)
6
6
  - [mxdraw 是什么?](#mxdraw-%E6%98%AF%E4%BB%80%E4%B9%88)
@@ -206,13 +206,14 @@ Mx.useCoreCode().then(()=> {
206
206
  })
207
207
  ```
208
208
 
209
+
209
210
  ### 如何实现一个画线的功能命令?
210
211
  #### 1.实现画线功能
211
212
  参考资料:
212
- * [MrxDbgUiPrPointClass | getPoint](./classes/MrxDbgUiPrPointClass.html) 构建取点对象
213
- * [status](./enums/MrxDbgUiPrBaseReturn.html) MrxDbgUiPrBaseReturn 表示对应状态
214
- * [McEdGetPointWorldDrawObjectClass | pWorldDraw](./classes/McEdGetPointWorldDrawObjectClass.html) 用于构建一个动态绘制回调对象
215
- * [MxThreeJS](./classes/MxThreeJS.html) three.js基础封装的一些功能
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基础封装的一些功能
216
217
  * [pt1 | pt2 | lastPt](http://www.yanhuangxueyuan.com/threejs/docs/index.html#api/zh/math/Vector3) THREE.Vector3 数据类型
217
218
 
218
219
  ``` javascript
@@ -267,9 +268,9 @@ function BR_Line() {
267
268
 
268
269
  #### 2.注册使用命名
269
270
  参考资料:
270
- * [MxFun.addCommand](./classes/MxFun.html#addCommand) 注册命名方法
271
- * [MxFun.sendStringToExecute](./classes/MxFun.html#sendStringToExecute) 执行命名方法
272
- * [MxFun.isRunningCommand](./classes/MxFun.html#isRunningCommand) 检查是否有命令在运行
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) 检查是否有命令在运行
273
274
 
274
275
  ``` javascript
275
276
  import Mx from "mxdraw"
@@ -286,7 +287,7 @@ Mx.MxFun.sendStringToExecute("BR_Line")
286
287
  ```
287
288
 
288
289
 
289
- > 更多Api使用说明请参考[Mx模块集](./modules.html)对应模块中的Api接口说明
290
+ > 更多Api使用说明请参考[Mx模块集](https://mxtmpweb.mxdraw.f3322.net:3562/mxdrawcloud/modules.html)对应模块中的Api接口说明
290
291
 
291
292
 
292
293
 
@@ -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
@@ -237,7 +249,7 @@ var MxDrawObject = /** @class */ (function () {
237
249
  * Mx.MxFun.getCurrentDraw().addEvent("addResizeEvent", ()=> {})
238
250
  * Mx.MxFun.getCurrentDraw().addEvent("viewchange", ()=> {})
239
251
  * 视区重绘事件.
240
- * Mx.MxFun.getCurrentDraw().addEvent("render", ()=> {})
252
+ * Mx.MxFun.getCurrentDraw().addEvent("render", (renderer)=> {})
241
253
  * 视区大小被修改事件.,viewsize={viewWidth:viewWidth,viewHeight:viewHeight}
242
254
  * Mx.MxFun.getCurrentDraw().addEvent("viewsizechange", (viewsize)=> {})
243
255
  * ```
@@ -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,GAA0B,EAAE,aAAoB;QAApB,8BAAA,EAAA,oBAAoB;QACxD,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;IACjD,CAAC;IACD;;;;;;;;;OASG;IACH,mCAAY,GAAZ,UAAa,GAAmB,EAAE,oBAA2B;QAA3B,qCAAA,EAAA,2BAA2B;QAC3D,OAAO,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAA;IAC3D,CAAC;IAED;;;OAGG;IACH,wCAAiB,GAAjB;QACE,OAAO,UAAU,CAAC,iBAAiB,EAAE,CAAA;IACvC,CAAC;IAED;;;;;;;;OAQG;IACH,gCAAS,GAAT,UAAU,KAAa;QACrB,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACpC,CAAC;IAED;;;;;;;;;;OAUG;IACH,4BAAK,GAAL,UAAM,KAAoB,EAAE,KAAoB,EAAE,OAAiB;QACjE,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC;IAED;;;;;;;;;OASG;IACH,iCAAU,GAAV,UAAW,KAAa,EAAE,KAAa;QACrC,OAAO,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED;;;;;;;;;;OAUG;IACH,gCAAS,GAAT,UAAU,MAAqB,EAAE,MAAqB;QACpD,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED;;;;;;;;;;OAUG;IAEH;;;;;;;;;;;;;;OAcG;IACH,+BAAQ,GAAR,UAAS,SAAiB,EAAE,GAA4B;QACtD,OAAO,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IAC5C,CAAC;IAED;;;;;;;;;OASG;IACH,gCAAS,GAAT,UAAU,OAAyC;QACjD,OAAO,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IACH,mBAAC;AAAD,CAAC,AAzQD,IAyQC"}
1
+ {"version":3,"file":"MxDrawObject.js","sourceRoot":"","sources":["../../../../src/MxModule/MxDrawObject/MxDrawObject.ts"],"names":[],"mappings":"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"}
@@ -1,150 +1,67 @@
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
- * Mx.MxThreeJS.createLine
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 () {
16
52
  function MxThreeJS() {
17
- /**
18
- * 创建Three.js直线对象。
19
- * @param vPt1 THREE.Vector3 点1
20
- * @param vPt1 THREE.Vector3 点2
21
- * @param iColor 颜色
22
- * @returns THREE.Line
23
- * @example
24
- * ```typescript
25
- * Mx.MxThreeJS.createLine(new Three.Vector3(1,10,0), new Three.Vector3(1,300,0), 0)
26
- * ```
27
- */
28
- /**
29
- * 创建Image
30
- * @param pos 图片位置
31
- * @param w 图片宽度
32
- * @param h 图片高度
33
- * @param imageUrlPath 图片URl地址
34
- * @param callResult 图片加载完成的回调 回调参数:THREE.Mesh
35
- * @returns void
36
- * @example
37
- * ```typescript
38
- * Mx.MxThreeJS.createImage(new THREE.Vector3(12,2,2), 10, 20, "../img/icon.png", (mesh)=> {
39
- * console.log(mesh)
40
- * })
41
- * ```
42
- */
43
- this.createImage = function () { };
44
- // createImage(pos:Vector3,w:number,h:number,imageUrlPath:string,callResult:(mesh:Mesh | null)=>void): void{
45
- // new TextureLoader().load(
46
- // imageUrlPath,
47
- // function (texture) {
48
- // let geometry = new PlaneGeometry(w, w);
49
- // // 测试 transparent: true,打开,renderOrder才管用。
50
- // let materialTexture = new MeshLambertMaterial({
51
- // map: texture,
52
- // transparent: true,
53
- // side: DoubleSide
54
- // });
55
- // if(materialTexture.map)
56
- // materialTexture.map.needsUpdate = true;
57
- // setGeometryPostion(geometry,pos);
58
- // //var mesh = new Mesh(geometry, material);
59
- // let mesh:any = new Mesh(geometry, materialTexture);
60
- // mesh.material["depthTest"]=false;
61
- // //mesh.renderOrder = renderOrder;
62
- // callResult(mesh);
63
- // },
64
- // undefined,
65
- // function (err) {
66
- // console.log(err)
67
- // callResult(null);
68
- // });
69
- // }
70
- /**
71
- * 加载SVG
72
- * @param url SVG路径地址
73
- * @param x X轴位置
74
- * @param y Y轴位置
75
- * @param scale 缩放比
76
- * @param color 颜色
77
- * @param callResult SVG加载完成的回调 回调参数:THREE.Object3D和Array<THREE.MeshBasicMaterial>
78
- * @returns void
79
- * @example
80
- * ```typescript
81
- * Mx.MxThreeJS.loadSVG("../img/icon.svg", 10, 20, 1.5, new THREE.Color(0xff0000), (threeobj, aryMeterial)=> {
82
- * console.log(threeobj, aryMeterial)
83
- * })
84
- * ```
85
- */
86
- this.loadSVG = function () { };
87
- // loadSVG( url:string,x:number,y:number,scale:number,color:Color, callResult:(threeobj:Object3D,aryMeterial:Array<MeshBasicMaterial>)=>void ) {
88
- // var loader = new SVGLoader();
89
- // loader.load( url, function ( data: { paths: any; } ) {
90
- // let aryMeterial:Array<MeshBasicMaterial> = [];
91
- // var paths = data.paths;
92
- // var group = new Group();
93
- // group.scale.multiplyScalar( scale );
94
- // group.position.x = x;
95
- // group.position.y = y;
96
- // group.scale.y *= - 1;
97
- // let drawStrokes = true;
98
- // let strokesWireframe = false;
99
- // let drawFillShapes = true;
100
- // let fillShapesWireframe = false;
101
- // for ( var i = 0; i < paths.length; i ++ ) {
102
- // var path:any = paths[ i ];
103
- // var fillColor = path.userData.style.fill;
104
- // if ( drawFillShapes && fillColor !== undefined && fillColor !== 'none' ) {
105
- // var material = new MeshBasicMaterial( {
106
- // color: color? color:new Color().setStyle( fillColor ),
107
- // opacity: path.userData.style.fillOpacity,
108
- // transparent: path.userData.style.fillOpacity < 1,
109
- // side: DoubleSide,
110
- // depthWrite: false,
111
- // wireframe: fillShapesWireframe
112
- // } );
113
- // var shapes = path.toShapes( true );
114
- // for ( var j = 0; j < shapes.length; j ++ ) {
115
- // var shape = shapes[ j ];
116
- // var geometry = new ShapeBufferGeometry( shape );
117
- // var mesh = new Mesh( geometry, material );
118
- // group.add( mesh );
119
- // }
120
- // aryMeterial.push(material);
121
- // }
122
- // var strokeColor = path.userData.style.stroke;
123
- // if ( drawStrokes && strokeColor !== undefined && strokeColor !== 'none' ) {
124
- // var material = new MeshBasicMaterial( {
125
- // color: color? color:new Color().setStyle( strokeColor ),
126
- // opacity: path.userData.style.strokeOpacity,
127
- // transparent: path.userData.style.strokeOpacity < 1,
128
- // side: DoubleSide,
129
- // depthWrite: false,
130
- // wireframe: strokesWireframe
131
- // } );
132
- // for ( var j = 0, jl = path.subPaths.length; j < jl; j ++ ) {
133
- // var subPath = path.subPaths[ j ];
134
- // var geometry = SVGLoader.pointsToStroke( subPath.getPoints(), path.userData.style,12,0.001 ) as ShapeBufferGeometry
135
- // if ( geometry ) {
136
- // var mesh = new Mesh( geometry, material );
137
- // group.add( mesh );
138
- // }
139
- // }
140
- // aryMeterial.push(material);
141
- // }
142
- // }
143
- // callResult(group,aryMeterial);
144
- // //scene.add( group );
145
- // } );
146
- // }
147
53
  }
54
+ /**
55
+ * 创建Three.js直线对象。
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}
60
+ * @example
61
+ * ```typescript
62
+ * Mx.MxThreeJS.createLine(new Three.Vector3(1,10,0), new Three.Vector3(1,300,0), 0)
63
+ * ```
64
+ */
148
65
  MxThreeJS.prototype.createLine = function (vPt1, vPt2, iColor) {
149
66
  var lineGeometry = new three_1.Geometry();
150
67
  var lineMaterial = new three_1.LineBasicMaterial({ color: iColor });
@@ -322,6 +239,65 @@ var MxThreeJS = /** @class */ (function () {
322
239
  line.computeLineDistances();
323
240
  return line;
324
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) { };
325
301
  return MxThreeJS;
326
302
  }());
327
303
  exports.default = MxThreeJS;
@@ -1 +1 @@
1
- {"version":3,"file":"MxThreeJS.js","sourceRoot":"","sources":["../../../../src/MxModule/MxThreeJS/MxThreeJS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MxThreeJS.js","sourceRoot":"","sources":["../../../../src/MxModule/MxThreeJS/MxThreeJS.ts"],"names":[],"mappings":"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"}