提交 58cb06f4 编写于 作者: M Mr.doob

Editor: Edit/Flatten to Geometry/Actions/Flatten

上级 951c4049
......@@ -53,45 +53,6 @@ Menubar.Edit = function ( editor ) {
} );
options.add( option );
//
options.add( new UI.HorizontalRule() );
// Flatten
var option = new UI.Panel();
option.setClass( 'option' );
option.setTextContent( 'Flatten' );
option.onClick( function () {
var object = editor.selected;
if ( object.parent === undefined ) return; // avoid flattening the camera or scene
if ( object.geometry === undefined ) {
alert( object.name + ' doesn\'t have geometry' );
return;
}
if ( confirm( 'Flatten ' + object.name + '?' ) === false ) return;
var geometry = object.geometry;
geometry.applyMatrix( object.matrix );
geometry.verticesNeedUpdate = true;
geometry.normalsNeedUpdate = true;
object.position.set( 0, 0, 0 );
object.rotation.set( 0, 0, 0 );
object.scale.set( 1, 1, 1 );
editor.signals.objectChanged.dispatch( object );
} );
options.add( option );
return container;
};
......@@ -17,6 +17,56 @@ Sidebar.Geometry = function ( editor ) {
var geometryType = new UI.Text().setTextTransform( 'uppercase' );
container.addStatic( geometryType );
// Actions
var objectActions = new UI.Select().setPosition('absolute').setRight( '8px' ).setFontSize( '11px' );
objectActions.setOptions( {
'Actions': 'Actions',
'Flatten': 'Flatten'
} );
objectActions.onClick( function ( event ) {
event.stopPropagation(); // Avoid panel collapsing
} );
objectActions.onChange( function ( event ) {
var object = editor.selected;
switch ( this.getValue() ) {
case 'Flatten':
var object = editor.selected;
if ( confirm( 'Flatten ' + object.name + '?' ) === false ) return;
var geometry = object.geometry;
geometry.applyMatrix( object.matrix );
geometry.verticesNeedUpdate = true;
geometry.normalsNeedUpdate = true;
object.position.set( 0, 0, 0 );
object.rotation.set( 0, 0, 0 );
object.scale.set( 1, 1, 1 );
editor.signals.objectChanged.dispatch( object );
break;
}
this.setValue( 'Actions' );
signals.objectChanged.dispatch( object );
} );
container.addStatic( objectActions );
container.add( new UI.Break() );
// uuid
......
......@@ -18,6 +18,8 @@ Sidebar.Object3D = function ( editor ) {
var objectType = new UI.Text().setTextTransform( 'uppercase' );
container.addStatic( objectType );
// Actions
var objectActions = new UI.Select().setPosition('absolute').setRight( '8px' ).setFontSize( '11px' );
objectActions.setOptions( {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册