Forráskód Böngészése

STLLoader: Fix computation of groups data.

Mugen87 5 éve
szülő
commit
97660b9820
2 módosított fájl, 8 hozzáadás és 24 törlés
  1. 4 12
      examples/js/loaders/STLLoader.js
  2. 4 12
      examples/jsm/loaders/STLLoader.js

+ 4 - 12
examples/js/loaders/STLLoader.js

@@ -273,7 +273,6 @@ THREE.STLLoader.prototype = Object.assign( Object.create( THREE.Loader.prototype
 
 			var result;
 
-			var groupVertexes = [];
 			var groupCount = 0;
 			var startVertex = 0;
 			var endVertex = 0;
@@ -329,7 +328,10 @@ THREE.STLLoader.prototype = Object.assign( Object.create( THREE.Loader.prototype
 
 				}
 
-				groupVertexes.push( { startVertex: startVertex, endVertex: endVertex } );
+				var start = startVertex;
+				var count = endVertex - startVertex;
+
+				geometry.addGroup( start, count, groupCount );
 				groupCount ++;
 
 			}
@@ -337,16 +339,6 @@ THREE.STLLoader.prototype = Object.assign( Object.create( THREE.Loader.prototype
 			geometry.setAttribute( 'position', new THREE.Float32BufferAttribute( vertices, 3 ) );
 			geometry.setAttribute( 'normal', new THREE.Float32BufferAttribute( normals, 3 ) );
 
-			if ( groupCount > 0 ) {
-
-				for ( var i = 0; i < groupVertexes.length; i ++ ) {
-
-					geometry.addGroup( groupVertexes[ i ].startVertex, groupVertexes[ i ].endVertex, i );
-
-				}
-
-			}
-
 			return geometry;
 
 		}

+ 4 - 12
examples/jsm/loaders/STLLoader.js

@@ -283,7 +283,6 @@ STLLoader.prototype = Object.assign( Object.create( Loader.prototype ), {
 
 			var result;
 
-			var groupVertexes = [];
 			var groupCount = 0;
 			var startVertex = 0;
 			var endVertex = 0;
@@ -339,7 +338,10 @@ STLLoader.prototype = Object.assign( Object.create( Loader.prototype ), {
 
 				}
 
-				groupVertexes.push( { startVertex: startVertex, endVertex: endVertex } );
+				var start = startVertex;
+				var count = endVertex - startVertex;
+
+				geometry.addGroup( start, count, groupCount );
 				groupCount ++;
 
 			}
@@ -347,16 +349,6 @@ STLLoader.prototype = Object.assign( Object.create( Loader.prototype ), {
 			geometry.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );
 			geometry.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );
 
-			if ( groupCount > 0 ) {
-
-				for ( var i = 0; i < groupVertexes.length; i ++ ) {
-
-					geometry.addGroup( groupVertexes[ i ].startVertex, groupVertexes[ i ].endVertex, i );
-
-				}
-
-			}
-
 			return geometry;
 
 		}