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 +10 -9
- package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js +13 -1
- package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js.map +1 -1
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js +109 -133
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js.map +1 -1
- package/dist/lib/MxModule/useCoreCode/mxfun.es5.js +6643 -6641
- 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 +12 -2
- package/dist/types/MxModule/MxThreeJS/MxThreeJS.d.ts +52 -16
- package/package.json +3 -3
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
|
-
|
|
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](
|
|
213
|
-
* [status](
|
|
214
|
-
* [McEdGetPointWorldDrawObjectClass | pWorldDraw](
|
|
215
|
-
* [MxThreeJS](
|
|
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](
|
|
271
|
-
* [MxFun.sendStringToExecute](
|
|
272
|
-
* [MxFun.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模块集](
|
|
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,
|
|
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
|
-
*
|
|
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":";;AAAA
|
|
1
|
+
{"version":3,"file":"MxThreeJS.js","sourceRoot":"","sources":["../../../../src/MxModule/MxThreeJS/MxThreeJS.ts"],"names":[],"mappings":"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"}
|