瀏覽代碼

Merge pull request #7246 from tamarintech/fix/force_load_elements_in_order

Enforce order of x, y, z and v1, v2, v3 elements
Mr.doob 9 年之前
父節點
當前提交
b521f8bd1d
共有 1 個文件被更改,包括 13 次插入28 次删除
  1. 13 28
      examples/js/loaders/AMFLoader.js

+ 13 - 28
examples/js/loaders/AMFLoader.js

@@ -246,21 +246,13 @@ THREE.AMFLoader.prototype = {
 
 				} else if ( currVolumeNode.nodeName === "triangle" ) {
 
-					var triangleNode = currVolumeNode.firstElementChild;
+					var v1 = currVolumeNode.getElementsByTagName("v1")[0].textContent;
+					var v2 = currVolumeNode.getElementsByTagName("v2")[0].textContent;
+					var v3 = currVolumeNode.getElementsByTagName("v3")[0].textContent;
 
-					while ( triangleNode ) {
-
-						if ( triangleNode.nodeName === "v1" ||
-								triangleNode.nodeName === "v2" ||
-								triangleNode.nodeName === "v3" ) {
-
-							volume.triangles.push( triangleNode.textContent );
-
-						}
-
-						triangleNode = triangleNode.nextElementSibling;
-
-					}
+					volume.triangles.push( v1 );
+					volume.triangles.push( v2 );
+					volume.triangles.push( v3 );
 
 				}
 
@@ -275,6 +267,7 @@ THREE.AMFLoader.prototype = {
 		function loadMeshVertices( node ) {
 
 			var vertArray = [];
+
 			var currVerticesNode = node.firstElementChild;
 
 			while ( currVerticesNode ) {
@@ -287,21 +280,13 @@ THREE.AMFLoader.prototype = {
 
 						if ( vNode.nodeName === "coordinates" ) {
 
-							var coordNode = vNode.firstElementChild;
-
-							while ( coordNode ) {
-
-								if ( coordNode.nodeName === "x" ||
-										 coordNode.nodeName === "y" ||
-										 coordNode.nodeName === "z" ) {
-
-									vertArray.push( coordNode.textContent );
-
-								}
-
-								coordNode = coordNode.nextElementSibling;
+							var x = vNode.getElementsByTagName("x")[0].textContent;
+							var y = vNode.getElementsByTagName("y")[0].textContent;
+							var z = vNode.getElementsByTagName("z")[0].textContent;
 
-							}
+							vertArray.push(x);
+							vertArray.push(y);
+							vertArray.push(z);
 
 						}
 						vNode = vNode.nextElementSibling;