浏览代码

Geometry browser - WireframeGeometry + removed switch

Greg Tatum 10 年之前
父节点
当前提交
c78e8c8a0a
共有 2 个文件被更改,包括 31 次插入101 次删除
  1. 23 20
      docs/scenes/geometry-browser.html
  2. 8 81
      docs/scenes/js/geometry.js

+ 23 - 20
docs/scenes/geometry-browser.html

@@ -80,30 +80,33 @@
 			scene.add( lights[1] );
 			scene.add( lights[2] );
 
-			var mesh = THREE.SceneUtils.createMultiMaterialObject(
+			var mesh = new THREE.Object3D()
+			
+			mesh.add( new THREE.LineSegments(
+				
+				new THREE.Geometry(),
+				
+				new THREE.LineBasicMaterial({
+					color: 0xffffff,
+					side: THREE.DoubleSide,
+					transparent: true,
+					opacity: 0.5
+				})
+				
+			));
+			
+			mesh.add( new THREE.Mesh(
 				
 				new THREE.Geometry(),
 				
-				[
-					
-					new THREE.MeshBasicMaterial({
-						color: 0xffffff,
-						side: THREE.DoubleSide,
-						wireframe: true,
-						transparent: true,
-						opacity: 0.5
-					}),
-					
-					new THREE.MeshPhongMaterial({
-						color: 0x156289,
-						emissive: 0x072534,
-						side: THREE.DoubleSide,
-						shading: THREE.FlatShading
-					})
-					
-				]
+				new THREE.MeshPhongMaterial({
+					color: 0x156289,
+					emissive: 0x072534,
+					side: THREE.DoubleSide,
+					shading: THREE.FlatShading
+				})
 				
-			);
+			));
 			
 			var options = chooseFromHash( mesh );
 			

+ 8 - 81
docs/scenes/js/geometry.js

@@ -85,8 +85,8 @@ function updateGroupGeometry( mesh, geometry ) {
 	mesh.children[0].geometry.dispose();
 	mesh.children[1].geometry.dispose();
 	
-	mesh.children[0].geometry = geometry
-	mesh.children[1].geometry = geometry.clone()
+	mesh.children[0].geometry = new THREE.WireframeGeometry( geometry );
+	mesh.children[1].geometry = geometry;
 	
 	//these do not update nicely together if shared
 }
@@ -531,91 +531,18 @@ function chooseFromHash ( mesh ) {
 
 	var selectedGeometry = window.location.hash.substring(1) || "TorusGeometry";
 
-	switch (selectedGeometry) {
+	if ( guis[ selectedGeometry ] !== undefined ) {
 
-	case "BoxGeometry" :
+	    guis[ selectedGeometry ]( mesh );
 
-		guis.BoxGeometry( mesh )
-
-		break;
-
-	case "CircleGeometry" :
-
-		guis.CircleGeometry( mesh )
-
-		break;
-
-	case "CylinderGeometry" :
-
-		guis.CylinderGeometry( mesh )
-
-		break;
-	
-	case "PlaneGeometry" :
-
-		guis.PlaneGeometry( mesh )
-
-		break;
-	
-	case "RingGeometry" :
-
-		guis.RingGeometry( mesh )
-
-		break;
-
-	case "SphereGeometry" :
-
-		guis.SphereGeometry( mesh )
-
-		break;
-
-	case "TextGeometry" :
-
-		guis.TextGeometry( mesh )
-
-		return {
-			fixed : true
-		};
-		
-		break;
-	
-	case "TorusGeometry" :
-
-		guis.TorusGeometry( mesh )
-
-		break;
-		
-	case "TorusKnotGeometry" :
-
-		guis.TorusKnotGeometry( mesh )
-
-		break;
-		
-	case "DodecahedronGeometry" :
-
-		guis.DodecahedronGeometry( mesh )
-
-		break;
-		
-	case "IcosahedronGeometry" :
-
-		guis.IcosahedronGeometry( mesh )
-
-		break;
-		
-	case "OctahedronGeometry" :
-
-		guis.OctahedronGeometry( mesh )
+	}
 
-		break;
-		
-	case "TetrahedronGeometry" :
+	if ( selectedGeometry === 'TextGeometry' ) {
 
-		guis.TetrahedronGeometry( mesh )
+	    return { fixed : true };
 
-		break;
 	}
-	
+
 	//No configuration options
 	return {};