提交 5958803c 编写于 作者: M Mr.doob

GUI: Exporting vertices by now. Fun hack for downloading "geometry.js" file ^^

上级 9ff4e3e7
......@@ -39,6 +39,9 @@
<script>
window.URL = window.URL || window.webkitURL;
window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder;
var SIGNALS = signals;
var signals = {
......@@ -52,6 +55,11 @@
//
var menubar = new MenuBar( signals );
menubar.setWidth( '100%' );
menubar.setHeight( '32px' );
document.body.appendChild( menubar.dom );
var viewport = new Viewport( signals );
viewport.setTop( '32px' );
viewport.setWidth( '-webkit-calc(100% - 300px)', '-moz-calc(100% - 300px)', 'calc(100% - 300px)' );
......@@ -64,11 +72,6 @@
sidebar.setHeight( '-webkit-calc(100% - 32px)', '-moz-calc(100% - 32px)', 'calc(100% - 32px)' );
document.body.appendChild( sidebar.dom );
var menubar = new MenuBar( signals );
menubar.setWidth( '100%' );
menubar.setHeight( '32px' );
document.body.appendChild( menubar.dom );
document.addEventListener( 'drop', function ( event ) {
event.preventDefault();
......
......@@ -5,7 +5,9 @@ Sidebar.Properties.Geometry = function ( signals ) {
container.add( new UI.Text().setText( 'GEOMETRY' ).setColor( '#666' ) );
container.add( new UI.Button( 'absolute' ).setRight( '0px' ).setText( 'Export' ).onClick( exportGeometry ) );
var button = new UI.Button( 'absolute' ).setRight( '0px' ).setText( 'Export' ).onClick( exportGeometry );
button.download = 'test.js';
container.add( button );
container.add( new UI.Break(), new UI.Break() );
......@@ -91,7 +93,33 @@ Sidebar.Properties.Geometry = function ( signals ) {
function exportGeometry() {
console.log( selected );
var geometry = selected;
var json = { "metadata": { "formatVersion" : 3 } };
json.vertices = [];
for ( var i = 0; i < geometry.vertices.length; i ++ ) {
var vertex = geometry.vertices[ i ];
json.vertices.push( vertex.x, vertex.y, vertex.z );
}
var file = new BlobBuilder();
file.append( JSON.stringify( json ) );
var objectURL = URL.createObjectURL( file.getBlob( 'text/json' ) );
var clickEvent = document.createEvent( 'MouseEvent' );
clickEvent.initMouseEvent( 'click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null );
var download = document.createElement( 'a' );
download.href = objectURL;
download.download = 'geometry.js';
download.dispatchEvent( clickEvent );
URL.revokeObjectURL( objectURL );
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册