From a4eae2daac30c7e290afc3e6482fa57c12a298c8 Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Tue, 17 Apr 2012 21:43:04 +0200 Subject: [PATCH] Some more tweaks on OBJLoader. Hopefully it can now serve as a good reference. --- examples/js/loaders/OBJLoader.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/examples/js/loaders/OBJLoader.js b/examples/js/loaders/OBJLoader.js index 206b303516..982816c065 100644 --- a/examples/js/loaders/OBJLoader.js +++ b/examples/js/loaders/OBJLoader.js @@ -4,8 +4,12 @@ THREE.OBJLoader = function () {}; +THREE.OBJLoader.prototype = new THREE.Loader(); +THREE.OBJLoader.prototype.constructor = THREE.OBJLoader; + THREE.OBJLoader.prototype.load = function ( url, callback ) { + var that = this; var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { @@ -14,7 +18,9 @@ THREE.OBJLoader.prototype.load = function ( url, callback ) { if ( xhr.status == 200 || xhr.status == 0 ) { - callback( THREE.OBJLoader.prototype.parse( xhr.responseText ) ); + callback( that.parse( xhr.responseText ) ); + + that.onLoadComplete(); } else { @@ -29,14 +35,14 @@ THREE.OBJLoader.prototype.load = function ( url, callback ) { xhr.open( "GET", url, true ); xhr.send( null ); + that.onLoadStart(); + }; THREE.OBJLoader.prototype.parse = function ( data ) { var geometry = new THREE.Geometry(); - console.time( 'THREE.OBJLoader.parse()' ); - function vertex( a, b, c ) { return new THREE.Vector3( parseFloat( a ), parseFloat( b ), parseFloat( c ) ); @@ -128,8 +134,6 @@ THREE.OBJLoader.prototype.parse = function ( data ) { } - console.timeEnd( 'THREE.OBJLoader.parse()' ); - geometry.computeCentroids(); return geometry; -- GitLab