Sidebar.Geometry.Geometry.js 1.1 KB

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