Browse Source

CmdSetGeometry now uses THREE.ObjectLoader().parseGeometries()

Daniel 10 years ago
parent
commit
e152c2bc2a
3 changed files with 4 additions and 120 deletions
  1. 1 0
      editor/js/CmdAddObject.js
  2. 1 0
      editor/js/CmdRemoveObject.js
  3. 2 120
      editor/js/CmdSetGeometry.js

+ 1 - 0
editor/js/CmdAddObject.js

@@ -32,6 +32,7 @@ CmdAddObject = function ( object ) {
 
 			this.objectJSON.materials = [];
 			this.objectJSON.materials.push( object.material.toJSON( meta ) );
+
 		}
 
 	}

+ 1 - 0
editor/js/CmdRemoveObject.js

@@ -33,6 +33,7 @@ CmdRemoveObject = function ( object ) {
 
 			this.objectJSON.materials = [];
 			this.objectJSON.materials.push( object.material.toJSON( meta ) );
+
 		}
 
 	}

+ 2 - 120
editor/js/CmdSetGeometry.js

@@ -76,126 +76,8 @@ CmdSetGeometry.prototype = {
 
 	parseGeometry: function ( data ) {
 
-		var geometryLoader = new THREE.JSONLoader();
-		var bufferGeometryLoader = new THREE.BufferGeometryLoader();
-
-		var geometry;
-
-		switch ( data.type ) {
-
-			case 'PlaneGeometry':
-			case 'PlaneBufferGeometry':
-
-				geometry = new THREE[ data.type ](
-					data.width,
-					data.height,
-					data.widthSegments,
-					data.heightSegments
-				);
-
-				break;
-
-			case 'BoxGeometry':
-			case 'CubeGeometry': // backwards compatible
-
-				geometry = new THREE.BoxGeometry(
-					data.width,
-					data.height,
-					data.depth,
-					data.widthSegments,
-					data.heightSegments,
-					data.depthSegments
-				);
-
-				break;
-
-			case 'CircleGeometry':
-
-				geometry = new THREE.CircleGeometry(
-					data.radius,
-					data.segments
-				);
-
-				break;
-
-			case 'CylinderGeometry':
-
-				geometry = new THREE.CylinderGeometry(
-					data.radiusTop,
-					data.radiusBottom,
-					data.height,
-					data.radialSegments,
-					data.heightSegments,
-					data.openEnded
-				);
-
-				break;
-
-			case 'SphereGeometry':
-
-				geometry = new THREE.SphereGeometry(
-					data.radius,
-					data.widthSegments,
-					data.heightSegments,
-					data.phiStart,
-					data.phiLength,
-					data.thetaStart,
-					data.thetaLength
-				);
-
-				break;
-
-			case 'IcosahedronGeometry':
-
-				geometry = new THREE.IcosahedronGeometry(
-					data.radius,
-					data.detail
-				);
-
-				break;
-
-			case 'TorusGeometry':
-
-				geometry = new THREE.TorusGeometry(
-					data.radius,
-					data.tube,
-					data.radialSegments,
-					data.tubularSegments,
-					data.arc
-				);
-
-				break;
-
-			case 'TorusKnotGeometry':
-
-				geometry = new THREE.TorusKnotGeometry(
-					data.radius,
-					data.tube,
-					data.radialSegments,
-					data.tubularSegments,
-					data.p,
-					data.q,
-					data.heightScale
-				);
-
-				break;
-
-			case 'BufferGeometry':
-
-				geometry = bufferGeometryLoader.parse( data );
-
-				break;
-
-			case 'Geometry':
-
-				geometry = geometryLoader.parse( data.data ).geometry;
-
-				break;
-
-		}
-		geometry.uuid = data.uuid;
-		geometry.name = data.name !== undefined ? data.name : '';
-		return geometry;
+		var loader = new THREE.ObjectLoader();
+		return loader.parseGeometries( [data] )[ data.uuid ];
 
 	}