Browse Source

Editor: Added support for .wrl files.

Mr.doob 12 years ago
parent
commit
277c6dbaa7
2 changed files with 17 additions and 8 deletions
  1. 1 0
      editor/index.html
  2. 16 8
      editor/js/Loader.js

+ 1 - 0
editor/index.html

@@ -89,6 +89,7 @@
 		<script src="../examples/js/loaders/PLYLoader.js"></script>
 		<script src="../examples/js/loaders/PLYLoader.js"></script>
 		<script src="../examples/js/loaders/STLLoader.js"></script>
 		<script src="../examples/js/loaders/STLLoader.js"></script>
 		<script src="../examples/js/loaders/UTF8Loader.js"></script>
 		<script src="../examples/js/loaders/UTF8Loader.js"></script>
+		<script src="../examples/js/loaders/VRMLLoader.js"></script>
 		<script src="../examples/js/loaders/VTKLoader.js"></script>
 		<script src="../examples/js/loaders/VTKLoader.js"></script>
 		<script src="../examples/js/loaders/ctm/lzma.js"></script>
 		<script src="../examples/js/loaders/ctm/lzma.js"></script>
 		<script src="../examples/js/loaders/ctm/ctm.js"></script>
 		<script src="../examples/js/loaders/ctm/ctm.js"></script>

+ 16 - 8
editor/js/Loader.js

@@ -104,7 +104,6 @@ var Loader = function ( signals ) {
 			mesh.name = filename;
 			mesh.name = filename;
 
 
 			signals.objectAdded.dispatch( mesh );
 			signals.objectAdded.dispatch( mesh );
-			signals.objectSelected.dispatch( mesh );
 
 
 		} else if ( data.metadata.type === 'object' ) {
 		} else if ( data.metadata.type === 'object' ) {
 
 
@@ -168,7 +167,6 @@ var Loader = function ( signals ) {
 						mesh.name = filename;
 						mesh.name = filename;
 
 
 						signals.objectAdded.dispatch( mesh );
 						signals.objectAdded.dispatch( mesh );
-						signals.objectSelected.dispatch( mesh );
 
 
 					} );
 					} );
 
 
@@ -193,7 +191,6 @@ var Loader = function ( signals ) {
 						collada.scene.name = filename;
 						collada.scene.name = filename;
 
 
 						signals.objectAdded.dispatch( collada.scene );
 						signals.objectAdded.dispatch( collada.scene );
-						signals.objectSelected.dispatch( collada.scene );
 
 
 					} );
 					} );
 
 
@@ -266,7 +263,6 @@ var Loader = function ( signals ) {
 					object.name = filename;
 					object.name = filename;
 
 
 					signals.objectAdded.dispatch( object );
 					signals.objectAdded.dispatch( object );
-					signals.objectSelected.dispatch( object );
 
 
 				}, false );
 				}, false );
 				reader.readAsText( file );
 				reader.readAsText( file );
@@ -292,7 +288,6 @@ var Loader = function ( signals ) {
 					mesh.name = filename;
 					mesh.name = filename;
 
 
 					signals.objectAdded.dispatch( mesh );
 					signals.objectAdded.dispatch( mesh );
-					signals.objectSelected.dispatch( mesh );
 
 
 				}, false );
 				}, false );
 				reader.readAsText( file );
 				reader.readAsText( file );
@@ -316,7 +311,6 @@ var Loader = function ( signals ) {
 					mesh.name = filename;
 					mesh.name = filename;
 
 
 					signals.objectAdded.dispatch( mesh );
 					signals.objectAdded.dispatch( mesh );
-					signals.objectSelected.dispatch( mesh );
 
 
 				}, false );
 				}, false );
 
 
@@ -346,7 +340,6 @@ var Loader = function ( signals ) {
 					var mesh = new THREE.Mesh( geometry, material );
 					var mesh = new THREE.Mesh( geometry, material );
 
 
 					signals.objectAdded.dispatch( mesh );
 					signals.objectAdded.dispatch( mesh );
-					signals.objectSelected.dispatch( mesh );
 
 
 				}, false );
 				}, false );
 				reader.readAsBinaryString( file );
 				reader.readAsBinaryString( file );
@@ -371,7 +364,22 @@ var Loader = function ( signals ) {
 					mesh.name = filename;
 					mesh.name = filename;
 
 
 					signals.objectAdded.dispatch( mesh );
 					signals.objectAdded.dispatch( mesh );
-					signals.objectSelected.dispatch( mesh );
+
+				}, false );
+				reader.readAsText( file );
+
+				break;
+
+			case 'wrl':
+
+				var reader = new FileReader();
+				reader.addEventListener( 'load', function ( event ) {
+
+					var contents = event.target.result;
+
+					var result = new THREE.VRMLLoader().parse( contents );
+
+					signals.sceneAdded.dispatch( result );
 
 
 				}, false );
 				}, false );
 				reader.readAsText( file );
 				reader.readAsText( file );