From fc02f2d3ebebb1f1cb1684b33990e152b45bbda7 Mon Sep 17 00:00:00 2001 From: liteng <930372551@qq.com> Date: Thu, 23 Aug 2018 07:53:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=84=E7=A7=8D=E5=8A=A0=E8=BD=BD=E5=99=A8?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ShadowEditor.Web/src/loader/MD2Loader.js | 32 ++++++++++++++++++++++++ ShadowEditor.Web/src/loader/OBJLoader.js | 24 ++++++++++++++++++ ShadowEditor.Web/src/loader/PLYLoader.js | 26 +++++++++++++++++++ ShadowEditor.Web/src/loader/STLLoader.js | 26 +++++++++++++++++++ ShadowEditor.Web/src/loader/VTKLoader.js | 26 +++++++++++++++++++ 5 files changed, 134 insertions(+) create mode 100644 ShadowEditor.Web/src/loader/MD2Loader.js create mode 100644 ShadowEditor.Web/src/loader/OBJLoader.js create mode 100644 ShadowEditor.Web/src/loader/PLYLoader.js create mode 100644 ShadowEditor.Web/src/loader/STLLoader.js create mode 100644 ShadowEditor.Web/src/loader/VTKLoader.js diff --git a/ShadowEditor.Web/src/loader/MD2Loader.js b/ShadowEditor.Web/src/loader/MD2Loader.js new file mode 100644 index 00000000..0c20efe1 --- /dev/null +++ b/ShadowEditor.Web/src/loader/MD2Loader.js @@ -0,0 +1,32 @@ +import BaseLoader from './BaseLoader'; + +/** + * MD2Loader + * @param {*} app + */ +function MD2Loader(app) { + BaseLoader.call(this, app); +} + +MD2Loader.prototype = Object.create(BaseLoader.prototype); +MD2Loader.prototype.constructor = MD2Loader; + +MD2Loader.prototype.load = function (url) { + return new Promise(resolve => { + var loader = new THREE.MD2Loader(); + + loader.load(url, geometry => { + var material = new THREE.MeshStandardMaterial({ + morphTargets: true, + morphNormals: true + }); + + var mesh = new THREE.Mesh(geometry, material); + mesh.mixer = new THREE.AnimationMixer(mesh); + + resolve(mesh); + }); + }); +}; + +export default MD2Loader; \ No newline at end of file diff --git a/ShadowEditor.Web/src/loader/OBJLoader.js b/ShadowEditor.Web/src/loader/OBJLoader.js new file mode 100644 index 00000000..bd10d308 --- /dev/null +++ b/ShadowEditor.Web/src/loader/OBJLoader.js @@ -0,0 +1,24 @@ +import BaseLoader from './BaseLoader'; + +/** + * OBJLoader + * @param {*} app + */ +function OBJLoader(app) { + BaseLoader.call(this, app); +} + +OBJLoader.prototype = Object.create(BaseLoader.prototype); +OBJLoader.prototype.constructor = OBJLoader; + +OBJLoader.prototype.load = function (url) { + return new Promise(resolve => { + var loader = new THREE.OBJLoader(); + + loader.load(url, obj => { + resolve(obj); + }); + }); +}; + +export default OBJLoader; \ No newline at end of file diff --git a/ShadowEditor.Web/src/loader/PLYLoader.js b/ShadowEditor.Web/src/loader/PLYLoader.js new file mode 100644 index 00000000..01aec560 --- /dev/null +++ b/ShadowEditor.Web/src/loader/PLYLoader.js @@ -0,0 +1,26 @@ +import BaseLoader from './BaseLoader'; + +/** + * PLYLoader + * @param {*} app + */ +function PLYLoader(app) { + BaseLoader.call(this, app); +} + +PLYLoader.prototype = Object.create(BaseLoader.prototype); +PLYLoader.prototype.constructor = PLYLoader; + +PLYLoader.prototype.load = function (url) { + return new Promise(resolve => { + var loader = new THREE.PLYLoader(); + + loader.load(url, geometry => { + var material = new THREE.MeshStandardMaterial(); + var mesh = new THREE.Mesh(geometry, material); + resolve(mesh); + }); + }); +}; + +export default PLYLoader; \ No newline at end of file diff --git a/ShadowEditor.Web/src/loader/STLLoader.js b/ShadowEditor.Web/src/loader/STLLoader.js new file mode 100644 index 00000000..e83bd453 --- /dev/null +++ b/ShadowEditor.Web/src/loader/STLLoader.js @@ -0,0 +1,26 @@ +import BaseLoader from './BaseLoader'; + +/** + * STLLoader + * @param {*} app + */ +function STLLoader(app) { + BaseLoader.call(this, app); +} + +STLLoader.prototype = Object.create(BaseLoader.prototype); +STLLoader.prototype.constructor = STLLoader; + +STLLoader.prototype.load = function (url) { + return new Promise(resolve => { + var loader = new THREE.STLLoader(); + + loader.load(url, geometry => { + var material = new THREE.MeshStandardMaterial(); + var mesh = new THREE.Mesh(geometry, material); + resolve(mesh); + }); + }); +}; + +export default STLLoader; \ No newline at end of file diff --git a/ShadowEditor.Web/src/loader/VTKLoader.js b/ShadowEditor.Web/src/loader/VTKLoader.js new file mode 100644 index 00000000..d46d00c6 --- /dev/null +++ b/ShadowEditor.Web/src/loader/VTKLoader.js @@ -0,0 +1,26 @@ +import BaseLoader from './BaseLoader'; + +/** + * VTKLoader + * @param {*} app + */ +function VTKLoader(app) { + BaseLoader.call(this, app); +} + +VTKLoader.prototype = Object.create(BaseLoader.prototype); +VTKLoader.prototype.constructor = VTKLoader; + +VTKLoader.prototype.load = function (url) { + return new Promise(resolve => { + var loader = new THREE.VTKLoader(); + + loader.load(url, geometry => { + var material = new THREE.MeshStandardMaterial(); + var mesh = new THREE.Mesh(geometry, material); + resolve(mesh); + }); + }); +}; + +export default VTKLoader; \ No newline at end of file