各种加载器。

This commit is contained in:
liteng 2018-08-23 07:53:17 +08:00
parent 98c20d4ff2
commit fc02f2d3eb
5 changed files with 134 additions and 0 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;