mirror of
https://github.com/tengge1/ShadowEditor.git
synced 2026-01-25 15:08:11 +00:00
44 lines
1.3 KiB
JavaScript
44 lines
1.3 KiB
JavaScript
import BaseLoader from './BaseLoader';
|
|
|
|
/**
|
|
* NRRDLoader
|
|
* @author tengge / https://github.com/tengge1
|
|
*/
|
|
function NRRDLoader() {
|
|
BaseLoader.call(this);
|
|
}
|
|
|
|
NRRDLoader.prototype = Object.create(BaseLoader.prototype);
|
|
NRRDLoader.prototype.constructor = NRRDLoader;
|
|
|
|
NRRDLoader.prototype.load = function (url, options) {
|
|
return new Promise(resolve => {
|
|
this.require('NRRDLoader').then(() => {
|
|
var loader = new THREE.NRRDLoader();
|
|
loader.load(url, result => {
|
|
var loader = new THREE.NRRDLoader();
|
|
loader.load(url, volume => {
|
|
var obj = new THREE.Object3D();
|
|
|
|
// x plane
|
|
var sliceX = volume.extractSlice('x', Math.floor(volume.RASDimensions[0] / 2));
|
|
obj.add(sliceX.mesh);
|
|
|
|
//y plane
|
|
var sliceY = volume.extractSlice('y', Math.floor(volume.RASDimensions[1] / 2));
|
|
obj.add(sliceY.mesh);
|
|
|
|
//z plane
|
|
var sliceZ = volume.extractSlice('z', Math.floor(volume.RASDimensions[2] / 4));
|
|
obj.add(sliceZ.mesh);
|
|
|
|
resolve(obj);
|
|
});
|
|
}, undefined, () => {
|
|
resolve(null);
|
|
});
|
|
});
|
|
});
|
|
};
|
|
|
|
export default NRRDLoader; |