Browse Source

Some more tweaks on OBJLoader. Hopefully it can now serve as a good reference.

Mr.doob 13 years ago
parent
commit
a4eae2daac
1 changed files with 9 additions and 5 deletions
  1. 9 5
      examples/js/loaders/OBJLoader.js

+ 9 - 5
examples/js/loaders/OBJLoader.js

@@ -4,8 +4,12 @@
 
 
 THREE.OBJLoader = function () {};
 THREE.OBJLoader = function () {};
 
 
+THREE.OBJLoader.prototype = new THREE.Loader();
+THREE.OBJLoader.prototype.constructor = THREE.OBJLoader;
+
 THREE.OBJLoader.prototype.load = function ( url, callback ) {
 THREE.OBJLoader.prototype.load = function ( url, callback ) {
 
 
+	var that = this;
 	var xhr = new XMLHttpRequest();
 	var xhr = new XMLHttpRequest();
 
 
 	xhr.onreadystatechange = function () {
 	xhr.onreadystatechange = function () {
@@ -14,7 +18,9 @@ THREE.OBJLoader.prototype.load = function ( url, callback ) {
 
 
 			if ( xhr.status == 200 || xhr.status == 0 ) {
 			if ( xhr.status == 200 || xhr.status == 0 ) {
 
 
-				callback( THREE.OBJLoader.prototype.parse( xhr.responseText ) );
+				callback( that.parse( xhr.responseText ) );
+
+				that.onLoadComplete();
 
 
 			} else {
 			} else {
 
 
@@ -29,14 +35,14 @@ THREE.OBJLoader.prototype.load = function ( url, callback ) {
 	xhr.open( "GET", url, true );
 	xhr.open( "GET", url, true );
 	xhr.send( null );
 	xhr.send( null );
 
 
+	that.onLoadStart();
+
 };
 };
 
 
 THREE.OBJLoader.prototype.parse = function ( data ) {
 THREE.OBJLoader.prototype.parse = function ( data ) {
 
 
 	var geometry = new THREE.Geometry();
 	var geometry = new THREE.Geometry();
 
 
-	console.time( 'THREE.OBJLoader.parse()' );
-
 	function vertex( a, b, c ) {
 	function vertex( a, b, c ) {
 
 
 		return new THREE.Vector3( parseFloat( a ), parseFloat( b ), parseFloat( 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();
 	geometry.computeCentroids();
 
 
 	return geometry;
 	return geometry;