Sidebar.Geometry.Geometry.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. Sidebar.Geometry.Geometry = function ( signals ) {
  2. var container = new UI.Panel();
  3. // vertices
  4. var verticesRow = new UI.Panel();
  5. var vertices = new UI.Text().setColor( '#444' ).setFontSize( '12px' );
  6. verticesRow.add( new UI.Text( 'Vertices' ).setWidth( '90px' ) );
  7. verticesRow.add( vertices );
  8. container.add( verticesRow );
  9. // faces
  10. var facesRow = new UI.Panel();
  11. var faces = new UI.Text().setColor( '#444' ).setFontSize( '12px' );
  12. facesRow.add( new UI.Text( 'Faces' ).setWidth( '90px' ) );
  13. facesRow.add( faces );
  14. container.add( facesRow );
  15. //
  16. var update = function ( object ) {
  17. if ( object === null ) return;
  18. var geometry = object.geometry;
  19. if ( geometry instanceof THREE.Geometry ) {
  20. container.setDisplay( 'block' );
  21. vertices.setValue( ( geometry.vertices.length ).format() );
  22. faces.setValue( ( geometry.faces.length ).format() );
  23. } else {
  24. container.setDisplay( 'none' );
  25. }
  26. };
  27. signals.objectSelected.add( update );
  28. signals.geometryChanged.add( update );
  29. return container;
  30. }