diff --git a/editor/js/Menubar.Edit.js b/editor/js/Menubar.Edit.js index b2f2873f414a51984279e32c7ae705e8e5355b89..1bcc300dd03de2589e36ad34156391e57cab804d 100644 --- a/editor/js/Menubar.Edit.js +++ b/editor/js/Menubar.Edit.js @@ -49,32 +49,6 @@ Menubar.Edit = function ( editor ) { options.add( new UI.HorizontalRule() ); - // Convert - - var option = new UI.Panel(); - option.setClass( 'option' ); - option.setTextContent( 'Convert' ); - option.onClick( function () { - - // convert to BufferGeometry - - var object = editor.selected; - - if ( object.geometry instanceof THREE.Geometry ) { - - if ( object.parent === undefined ) return; // avoid flattening the camera or scene - - if ( confirm( 'Convert ' + object.name + ' to BufferGeometry?' ) === false ) return; - - object.geometry = new THREE.BufferGeometry().fromGeometry( object.geometry ); - - editor.signals.objectChanged.dispatch( object ); - - } - - } ); - options.add( option ); - // Flatten var option = new UI.Panel(); diff --git a/editor/js/Sidebar.Geometry.Modifiers.js b/editor/js/Sidebar.Geometry.Modifiers.js index 6ba1e2e4badffdf5006a33f4f505c1e65e3f07ac..2683bc9b12d8a6e9fbe38eaa1205746c442e4300 100644 --- a/editor/js/Sidebar.Geometry.Modifiers.js +++ b/editor/js/Sidebar.Geometry.Modifiers.js @@ -27,6 +27,40 @@ Sidebar.Geometry.Modifiers = function ( signals, object ) { container.add( button ); + // Convert to Geometry/BufferGeometry + + var isBufferGeometry = geometry instanceof THREE.BufferGeometry; + + if ( geometry instanceof THREE.BufferGeometry ) { + + var button = new UI.Button( 'Convert to Geometry' ); + button.onClick( function () { + + if ( confirm( 'Are you sure?' ) === false ) return; + + object.geometry = new THREE.Geometry().fromBufferGeometry( object.geometry ); + + signals.objectChanged.dispatch( object ); + + } ); + container.add( button ); + + } else { + + var button = new UI.Button( 'Convert to BufferGeometry' ); + button.onClick( function () { + + if ( confirm( 'Are you sure?' ) === false ) return; + + object.geometry = new THREE.BufferGeometry().fromGeometry( object.geometry ); + + signals.objectChanged.dispatch( object ); + + } ); + container.add( button ); + + } + // return container;