From c41288c7f20ed16d4f42aa3be2cab0c85c016f4d Mon Sep 17 00:00:00 2001 From: alteredq Date: Thu, 6 Sep 2012 18:48:02 +0200 Subject: [PATCH] Refactored CTMLoader parameters passing to make it easier to handle in SceneLoader. --- examples/js/loaders/ctm/CTMLoader.js | 17 +++++++++-------- examples/webgl_loader_ctm.html | 10 ++++------ examples/webgl_loader_ctm_materials.html | 5 ++--- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/examples/js/loaders/ctm/CTMLoader.js b/examples/js/loaders/ctm/CTMLoader.js index 2a627ea3c5..c5be449dbd 100644 --- a/examples/js/loaders/ctm/CTMLoader.js +++ b/examples/js/loaders/ctm/CTMLoader.js @@ -18,13 +18,13 @@ THREE.CTMLoader.prototype = Object.create( THREE.Loader.prototype ); // 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 xhr = new XMLHttpRequest(); - basePath = basePath ? basePath : this.extractUrlBase( url ); + var basePath = parameters.basePath ? parameters.basePath : this.extractUrlBase( url ); xhr.onreadystatechange = function() { @@ -62,7 +62,8 @@ THREE.CTMLoader.prototype.loadParts = function( url, callback, useWorker, useBuf // load joined CTM file 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 // - url (required) // - callback (required) -THREE.CTMLoader.prototype.load = function( url, callback, useWorker, useBuffers, offsets ) { +THREE.CTMLoader.prototype.load = function( url, callback, parameters ) { var scope = this; - offsets = offsets !== undefined ? offsets : [ 0 ]; + var offsets = parameters.offsets !== undefined ? parameters.offsets : [ 0 ]; var xhr = new XMLHttpRequest(), callbackProgress = null; @@ -103,7 +104,7 @@ THREE.CTMLoader.prototype.load = function( url, callback, useWorker, useBuffers, //var s = Date.now(); - if ( useWorker ) { + if ( parameters.useWorker ) { var worker = new Worker( "js/loaders/ctm/CTMWorker.js" ); @@ -115,7 +116,7 @@ THREE.CTMLoader.prototype.load = function( url, callback, useWorker, useBuffers, var ctmFile = files[ i ]; - if ( useBuffers ) { + if ( parameters.useBuffers ) { scope.createModelBuffers( ctmFile, callback ); @@ -144,7 +145,7 @@ THREE.CTMLoader.prototype.load = function( url, callback, useWorker, useBuffers, var ctmFile = new CTM.File( stream ); - if ( useBuffers ) { + if ( parameters.useBuffers ) { scope.createModelBuffers( ctmFile, callback ); diff --git a/examples/webgl_loader_ctm.html b/examples/webgl_loader_ctm.html index e63373a828..9faa60e916 100644 --- a/examples/webgl_loader_ctm.html +++ b/examples/webgl_loader_ctm.html @@ -155,9 +155,7 @@ } - var useWorker = true; - var useBuffers = true; - + var parameters = { useWorker: true, useBuffers: true }; var loader = new THREE.CTMLoader(); loader.load( "models/ctm/ben.ctm", function( geometry ) { @@ -166,7 +164,7 @@ callbackModel( geometry, 450, material, 0, -200, 0, 0, 0 ); checkTime(); - }, useWorker, useBuffers ); + }, parameters ); loader.load( "models/ctm/WaltHead.ctm", function( geometry ) { @@ -180,7 +178,7 @@ checkTime(); - }, useWorker, useBuffers ); + }, parameters ); loader.load( "models/ctm/LeePerry.ctm", function( geometry ) { @@ -222,7 +220,7 @@ callbackModel( geometry, 1300, material, 200, 50, 0, 0, 0 ); checkTime(); - }, useWorker, useBuffers ); + }, parameters ); } diff --git a/examples/webgl_loader_ctm_materials.html b/examples/webgl_loader_ctm_materials.html index bdc60c3556..b64350b199 100644 --- a/examples/webgl_loader_ctm_materials.html +++ b/examples/webgl_loader_ctm_materials.html @@ -196,8 +196,7 @@ */ // new way via CTMLoader and separate parts - var useWorker = true, - useBuffers = true; + var parameters = { useWorker: true, useBuffers: true }; loaderCTM = new THREE.CTMLoader( true ); document.body.appendChild( loaderCTM.statusDomElement ); @@ -224,7 +223,7 @@ console.log( "load time:", end - start, "ms" ); - }, useWorker, useBuffers ); + }, parameters ); } -- GitLab