Sidebar.Geometry.BufferGeometry.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /**
  2. * @author mrdoob / http://mrdoob.com/
  3. */
  4. Sidebar.Geometry.BufferGeometry = function ( editor ) {
  5. var signals = editor.signals;
  6. var container = new UI.Row();
  7. function update( object ) {
  8. if ( object === null ) return; // objectSelected.dispatch( null )
  9. if ( object === undefined ) return;
  10. var geometry = object.geometry;
  11. if ( geometry instanceof THREE.BufferGeometry ) {
  12. container.clear();
  13. container.setDisplay( 'block' );
  14. var index = geometry.index;
  15. if ( index !== null ) {
  16. var panel = new UI.Row();
  17. panel.add( new UI.Text( 'index' ).setWidth( '90px' ) );
  18. panel.add( new UI.Text( ( index.count ).format() ).setFontSize( '12px' ) );
  19. container.add( panel );
  20. }
  21. var attributes = geometry.attributes;
  22. for ( var name in attributes ) {
  23. var attribute = attributes[ name ];
  24. var panel = new UI.Row();
  25. panel.add( new UI.Text( name ).setWidth( '90px' ) );
  26. panel.add( new UI.Text( ( attribute.count ).format() + ' (' + attribute.itemSize + ')' ).setFontSize( '12px' ) );
  27. container.add( panel );
  28. }
  29. } else {
  30. container.setDisplay( 'none' );
  31. }
  32. }
  33. signals.objectSelected.add( update );
  34. signals.geometryChanged.add( update );
  35. return container;
  36. };