提交 c41288c7 编写于 作者: A alteredq

Refactored CTMLoader parameters passing to make it easier to handle in SceneLoader.

上级 d0593850
...@@ -18,13 +18,13 @@ THREE.CTMLoader.prototype = Object.create( THREE.Loader.prototype ); ...@@ -18,13 +18,13 @@ THREE.CTMLoader.prototype = Object.create( THREE.Loader.prototype );
// Load multiple CTM parts defined in JSON // Load multiple CTM parts defined in JSON
THREE.CTMLoader.prototype.loadParts = function( url, callback, useWorker, useBuffers, basePath ) { THREE.CTMLoader.prototype.loadParts = function( url, callback, parameters ) {
var scope = this; var scope = this;
var xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();
basePath = basePath ? basePath : this.extractUrlBase( url ); var basePath = parameters.basePath ? parameters.basePath : this.extractUrlBase( url );
xhr.onreadystatechange = function() { xhr.onreadystatechange = function() {
...@@ -62,7 +62,8 @@ THREE.CTMLoader.prototype.loadParts = function( url, callback, useWorker, useBuf ...@@ -62,7 +62,8 @@ THREE.CTMLoader.prototype.loadParts = function( url, callback, useWorker, useBuf
// load joined CTM file // load joined CTM file
var partUrl = basePath + jsonObject.data; var partUrl = basePath + jsonObject.data;
scope.load( partUrl, callbackFinal, useWorker, useBuffers, jsonObject.offsets ); var parametersPart = { useWorker: parameters.useWorker, useBuffers: parameters.useBuffers, offsets: jsonObject.offsets };
scope.load( partUrl, callbackFinal, parametersPart );
} }
...@@ -82,11 +83,11 @@ THREE.CTMLoader.prototype.loadParts = function( url, callback, useWorker, useBuf ...@@ -82,11 +83,11 @@ THREE.CTMLoader.prototype.loadParts = function( url, callback, useWorker, useBuf
// - url (required) // - url (required)
// - callback (required) // - callback (required)
THREE.CTMLoader.prototype.load = function( url, callback, useWorker, useBuffers, offsets ) { THREE.CTMLoader.prototype.load = function( url, callback, parameters ) {
var scope = this; var scope = this;
offsets = offsets !== undefined ? offsets : [ 0 ]; var offsets = parameters.offsets !== undefined ? parameters.offsets : [ 0 ];
var xhr = new XMLHttpRequest(), var xhr = new XMLHttpRequest(),
callbackProgress = null; callbackProgress = null;
...@@ -103,7 +104,7 @@ THREE.CTMLoader.prototype.load = function( url, callback, useWorker, useBuffers, ...@@ -103,7 +104,7 @@ THREE.CTMLoader.prototype.load = function( url, callback, useWorker, useBuffers,
//var s = Date.now(); //var s = Date.now();
if ( useWorker ) { if ( parameters.useWorker ) {
var worker = new Worker( "js/loaders/ctm/CTMWorker.js" ); var worker = new Worker( "js/loaders/ctm/CTMWorker.js" );
...@@ -115,7 +116,7 @@ THREE.CTMLoader.prototype.load = function( url, callback, useWorker, useBuffers, ...@@ -115,7 +116,7 @@ THREE.CTMLoader.prototype.load = function( url, callback, useWorker, useBuffers,
var ctmFile = files[ i ]; var ctmFile = files[ i ];
if ( useBuffers ) { if ( parameters.useBuffers ) {
scope.createModelBuffers( ctmFile, callback ); scope.createModelBuffers( ctmFile, callback );
...@@ -144,7 +145,7 @@ THREE.CTMLoader.prototype.load = function( url, callback, useWorker, useBuffers, ...@@ -144,7 +145,7 @@ THREE.CTMLoader.prototype.load = function( url, callback, useWorker, useBuffers,
var ctmFile = new CTM.File( stream ); var ctmFile = new CTM.File( stream );
if ( useBuffers ) { if ( parameters.useBuffers ) {
scope.createModelBuffers( ctmFile, callback ); scope.createModelBuffers( ctmFile, callback );
......
...@@ -155,9 +155,7 @@ ...@@ -155,9 +155,7 @@
} }
var useWorker = true; var parameters = { useWorker: true, useBuffers: true };
var useBuffers = true;
var loader = new THREE.CTMLoader(); var loader = new THREE.CTMLoader();
loader.load( "models/ctm/ben.ctm", function( geometry ) { loader.load( "models/ctm/ben.ctm", function( geometry ) {
...@@ -166,7 +164,7 @@ ...@@ -166,7 +164,7 @@
callbackModel( geometry, 450, material, 0, -200, 0, 0, 0 ); callbackModel( geometry, 450, material, 0, -200, 0, 0, 0 );
checkTime(); checkTime();
}, useWorker, useBuffers ); }, parameters );
loader.load( "models/ctm/WaltHead.ctm", function( geometry ) { loader.load( "models/ctm/WaltHead.ctm", function( geometry ) {
...@@ -180,7 +178,7 @@ ...@@ -180,7 +178,7 @@
checkTime(); checkTime();
}, useWorker, useBuffers ); }, parameters );
loader.load( "models/ctm/LeePerry.ctm", function( geometry ) { loader.load( "models/ctm/LeePerry.ctm", function( geometry ) {
...@@ -222,7 +220,7 @@ ...@@ -222,7 +220,7 @@
callbackModel( geometry, 1300, material, 200, 50, 0, 0, 0 ); callbackModel( geometry, 1300, material, 200, 50, 0, 0, 0 );
checkTime(); checkTime();
}, useWorker, useBuffers ); }, parameters );
} }
......
...@@ -196,8 +196,7 @@ ...@@ -196,8 +196,7 @@
*/ */
// new way via CTMLoader and separate parts // new way via CTMLoader and separate parts
var useWorker = true, var parameters = { useWorker: true, useBuffers: true };
useBuffers = true;
loaderCTM = new THREE.CTMLoader( true ); loaderCTM = new THREE.CTMLoader( true );
document.body.appendChild( loaderCTM.statusDomElement ); document.body.appendChild( loaderCTM.statusDomElement );
...@@ -224,7 +223,7 @@ ...@@ -224,7 +223,7 @@
console.log( "load time:", end - start, "ms" ); console.log( "load time:", end - start, "ms" );
}, useWorker, useBuffers ); }, parameters );
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册