Browse Source

Editor: setting drag-and-dropped object names according to file names.

Still need to figure out how to make them show in the outliner.
alteredq 13 years ago
parent
commit
7b209a23d9
1 changed files with 14 additions and 3 deletions
  1. 14 3
      editor/index.html

+ 14 - 3
editor/index.html

@@ -97,13 +97,16 @@
 				event.preventDefault();
 				event.preventDefault();
 
 
 				var file = event.dataTransfer.files[ 0 ];
 				var file = event.dataTransfer.files[ 0 ];
-				var extension = file.name.split( '.' ).pop().toLowerCase();
 
 
-				parseFile( file, extension );
+				var chunks = file.name.split( '.' );
+				var extension = chunks.pop().toLowerCase();
+				var filename = chunks.join( '.' );
+
+				parseFile( file, filename, extension );
 
 
 			}, false );
 			}, false );
 
 
-			var parseFile = function ( file, extension ) {
+			var parseFile = function ( file, filename, extension ) {
 
 
 				switch ( extension ) {
 				switch ( extension ) {
 
 
@@ -121,6 +124,7 @@
 							loader.createModelClassic( new CTM.File( stream ), function( geometry ) {
 							loader.createModelClassic( new CTM.File( stream ), function( geometry ) {
 
 
 								var mesh = new THREE.Mesh( geometry, createDummyMaterial( geometry ) );
 								var mesh = new THREE.Mesh( geometry, createDummyMaterial( geometry ) );
+								mesh.name = filename;
 
 
 								signals.objectAdded.dispatch( mesh );
 								signals.objectAdded.dispatch( mesh );
 								signals.objectSelected.dispatch( mesh );
 								signals.objectSelected.dispatch( mesh );
@@ -145,6 +149,7 @@
 							var loader = new THREE.ColladaLoader();
 							var loader = new THREE.ColladaLoader();
 							loader.parse( xml, function ( collada ) {
 							loader.parse( xml, function ( collada ) {
 
 
+								collada.scene.name = filename;
 								applyDummyTexture( collada.scene );
 								applyDummyTexture( collada.scene );
 
 
 								signals.objectAdded.dispatch( collada.scene );
 								signals.objectAdded.dispatch( collada.scene );
@@ -197,6 +202,7 @@
 
 
 								var geometry = new THREE.GeometryLoader().parse( data );
 								var geometry = new THREE.GeometryLoader().parse( data );
 								var mesh = new THREE.Mesh( geometry, createDummyMaterial( geometry ) );
 								var mesh = new THREE.Mesh( geometry, createDummyMaterial( geometry ) );
+								mesh.name = filename;
 
 
 								signals.objectAdded.dispatch( mesh );
 								signals.objectAdded.dispatch( mesh );
 								signals.objectSelected.dispatch( mesh );
 								signals.objectSelected.dispatch( mesh );
@@ -205,6 +211,8 @@
 
 
 								new THREE.SceneLoader().parse( data, function ( scene ) {
 								new THREE.SceneLoader().parse( data, function ( scene ) {
 
 
+									scene.name = filename;
+
 									signals.objectAdded.dispatch( scene );
 									signals.objectAdded.dispatch( scene );
 									signals.objectSelected.dispatch( scene );
 									signals.objectSelected.dispatch( scene );
 
 
@@ -225,6 +233,7 @@
 							var contents = event.target.result;
 							var contents = event.target.result;
 
 
 							var object = new THREE.OBJLoader().parse( contents );
 							var object = new THREE.OBJLoader().parse( contents );
+							object.name = filename;
 							applyDummyTexture( object );
 							applyDummyTexture( object );
 
 
 							signals.objectAdded.dispatch( object );
 							signals.objectAdded.dispatch( object );
@@ -244,6 +253,7 @@
 
 
 							var geometry = new THREE.STLLoader().parse( contents );
 							var geometry = new THREE.STLLoader().parse( contents );
 							var mesh = new THREE.Mesh( geometry, createDummyMaterial( geometry ) );
 							var mesh = new THREE.Mesh( geometry, createDummyMaterial( geometry ) );
+							mesh.name = filename;
 
 
 							signals.objectAdded.dispatch( mesh );
 							signals.objectAdded.dispatch( mesh );
 							signals.objectSelected.dispatch( mesh );
 							signals.objectSelected.dispatch( mesh );
@@ -284,6 +294,7 @@
 
 
 							var geometry = new THREE.VTKLoader().parse( contents );
 							var geometry = new THREE.VTKLoader().parse( contents );
 							var mesh = new THREE.Mesh( geometry, createDummyMaterial( geometry ) );
 							var mesh = new THREE.Mesh( geometry, createDummyMaterial( geometry ) );
+							mesh.name = filename;
 
 
 							signals.objectAdded.dispatch( mesh );
 							signals.objectAdded.dispatch( mesh );
 							signals.objectSelected.dispatch( mesh );
 							signals.objectSelected.dispatch( mesh );