Browse Source

SceneLoader: fixed passing of object parameters to custom object loaders.

See #2700
alteredq 12 years ago
parent
commit
33b81e72b0
3 changed files with 244 additions and 234 deletions
  1. 8 3
      build/three.js
  2. 230 230
      build/three.min.js
  3. 6 1
      src/loaders/SceneLoader.js

+ 8 - 3
build/three.js

@@ -8825,13 +8825,18 @@ THREE.SceneLoader.prototype.parse = function ( json, callbackFinished, url ) {
 
 
 				if ( o.type && ( o.type in scope.hierarchyHandlerMap ) && o.loading === undefined ) {
 				if ( o.type && ( o.type in scope.hierarchyHandlerMap ) && o.loading === undefined ) {
 
 
+					var reservedTypes = { "type": 1, "url": 1, "material": 1,
+										  "position": 1, "rotation": 1, "scale" : 1,
+										  "visible": 1, "children": 1, "properties": 1,
+										  "skin": 1, "morph": 1, "mirroredLoop": 1, "duration": 1 };
+
 					var loaderParameters = {};
 					var loaderParameters = {};
 
 
-					for ( var parType in g ) {
+					for ( var parType in o ) {
 
 
-						if ( parType !== "type" && parType !== "url" ) {
+						if ( ! ( parType in reservedTypes ) ) {
 
 
-							loaderParameters[ parType ] = g[ parType ];
+							loaderParameters[ parType ] = o[ parType ];
 
 
 						}
 						}
 
 

File diff suppressed because it is too large
+ 230 - 230
build/three.min.js


+ 6 - 1
src/loaders/SceneLoader.js

@@ -183,11 +183,16 @@ THREE.SceneLoader.prototype.parse = function ( json, callbackFinished, url ) {
 
 
 				if ( o.type && ( o.type in scope.hierarchyHandlerMap ) && o.loading === undefined ) {
 				if ( o.type && ( o.type in scope.hierarchyHandlerMap ) && o.loading === undefined ) {
 
 
+					var reservedTypes = { "type": 1, "url": 1, "material": 1,
+										  "position": 1, "rotation": 1, "scale" : 1,
+										  "visible": 1, "children": 1, "properties": 1,
+										  "skin": 1, "morph": 1, "mirroredLoop": 1, "duration": 1 };
+
 					var loaderParameters = {};
 					var loaderParameters = {};
 
 
 					for ( var parType in o ) {
 					for ( var parType in o ) {
 
 
-						if ( parType !== "type" && parType !== "url" ) {
+						if ( ! ( parType in reservedTypes ) ) {
 
 
 							loaderParameters[ parType ] = o[ parType ];
 							loaderParameters[ parType ] = o[ parType ];
 
 

Some files were not shown because too many files changed in this diff