Sidebar.Geometry.BufferGeometry.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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;
  9. var geometry = object.geometry;
  10. if ( geometry instanceof THREE.BufferGeometry ) {
  11. container.clear();
  12. container.setDisplay( 'block' );
  13. var index = geometry.index;
  14. if ( index !== null ) {
  15. var panel = new UI.Row();
  16. panel.add( new UI.Text( 'index' ).setWidth( '90px' ) );
  17. panel.add( new UI.Text( ( index.count ).format() ).setFontSize( '12px' ) );
  18. container.add( panel );
  19. }
  20. var attributes = geometry.attributes;
  21. for ( var name in attributes ) {
  22. var panel = new UI.Row();
  23. panel.add( new UI.Text( name ).setWidth( '90px' ) );
  24. panel.add( new UI.Text( ( attributes[ name ].count ).format() ).setFontSize( '12px' ) );
  25. container.add( panel );
  26. }
  27. } else {
  28. container.setDisplay( 'none' );
  29. }
  30. };
  31. signals.objectSelected.add( update );
  32. signals.geometryChanged.add( update );
  33. return container;
  34. }