123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- Sidebar.Properties.Object3D = function ( signals ) {
- var container = new UI.Panel();
- container.setDisplay( 'none' );
- container.add( new UI.Text().setValue( 'OBJECT' ).setColor( '#666' ) );
- container.add( new UI.Break(), new UI.Break() );
- // name
- var objectNameRow = new UI.Panel();
- var objectName = new UI.Text( 'absolute' ).setLeft( '90px' ).setColor( '#444' );
- objectNameRow.add( new UI.Text().setValue( 'Name' ).setColor( '#666' ) );
- objectNameRow.add( objectName );
- container.add( objectNameRow );
- // position
- var objectPositionRow = new UI.Panel();
- var objectPositionX = new UI.Number( 'absolute' ).setLeft( '90px' ).setWidth( '50px' ).onChange( update );
- var objectPositionY = new UI.Number( 'absolute' ).setLeft( '150px' ).setWidth( '50px' ).onChange( update );
- var objectPositionZ = new UI.Number( 'absolute' ).setLeft( '210px' ).setWidth( '50px' ).onChange( update );
- objectPositionRow.add( new UI.HorizontalRule(), new UI.Text().setValue( 'Position' ).setColor( '#666' ) );
- objectPositionRow.add( objectPositionX, objectPositionY, objectPositionZ );
- container.add( objectPositionRow );
- // rotation
- var objectRotationRow = new UI.Panel();
- var objectRotationX = new UI.Number( 'absolute' ).setLeft( '90px' ).setWidth( '50px' ).onChange( update );
- var objectRotationY = new UI.Number( 'absolute' ).setLeft( '150px' ).setWidth( '50px' ).onChange( update );
- var objectRotationZ = new UI.Number( 'absolute' ).setLeft( '210px' ).setWidth( '50px' ).onChange( update );
- objectRotationRow.add( new UI.HorizontalRule(), new UI.Text().setValue( 'Rotation' ).setColor( '#666' ) );
- objectRotationRow.add( objectRotationX, objectRotationY, objectRotationZ );
- container.add( objectRotationRow );
- // scale
- var objectScaleRow = new UI.Panel();
- var objectScaleX = new UI.Number( 'absolute' ).setValue( 1 ).setLeft( '90px' ).setWidth( '50px' ).onChange( update );
- var objectScaleY = new UI.Number( 'absolute' ).setValue( 1 ).setLeft( '150px' ).setWidth( '50px' ).onChange( update );
- var objectScaleZ = new UI.Number( 'absolute' ).setValue( 1 ).setLeft( '210px' ).setWidth( '50px' ).onChange( update );
- objectScaleRow.add( new UI.HorizontalRule(), new UI.Text().setValue( 'Scale' ).setColor( '#666' ) );
- objectScaleRow.add( objectScaleX, objectScaleY, objectScaleZ );
- container.add( objectScaleRow );
- // visible
- var objectVisibleRow = new UI.Panel();
- var objectVisible = new UI.Boolean( 'absolute' ).setLeft( '90px' ).setWidth( '50px' ).onChange( update );
- objectVisibleRow.add( new UI.HorizontalRule(), new UI.Text().setValue( 'Visible' ).setColor( '#666' ) );
- objectVisibleRow.add( objectVisible );
- container.add( objectVisibleRow );
- container.add( new UI.Break(), new UI.Break() );
- //
- var selected = null;
- function update() {
- if ( selected ) {
- selected.position.x = objectPositionX.getValue();
- selected.position.y = objectPositionY.getValue();
- selected.position.z = objectPositionZ.getValue();
- selected.rotation.x = objectRotationX.getValue();
- selected.rotation.y = objectRotationY.getValue();
- selected.rotation.z = objectRotationZ.getValue();
- selected.scale.x = objectScaleX.getValue();
- selected.scale.y = objectScaleY.getValue();
- selected.scale.z = objectScaleZ.getValue();
- selected.visible = objectVisible.getValue();
- signals.objectChanged.dispatch( selected );
- }
- }
- // events
- signals.objectSelected.add( function ( object ) {
- selected = object;
- if ( object ) {
- container.setDisplay( 'block' );
- objectName.setValue( object.name );
- objectPositionX.setValue( object.position.x );
- objectPositionY.setValue( object.position.y );
- objectPositionZ.setValue( object.position.z );
- objectRotationX.setValue( object.rotation.x );
- objectRotationY.setValue( object.rotation.y );
- objectRotationZ.setValue( object.rotation.z );
- objectScaleX.setValue( object.scale.x );
- objectScaleY.setValue( object.scale.y );
- objectScaleZ.setValue( object.scale.z );
- objectVisible.setValue( object.visible );
- } else {
- container.setDisplay( 'none' );
- }
- } );
- return container;
- }
|