Sidebar.Geometry.BufferGeometry.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. Sidebar.Geometry.BufferGeometry = 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. var geometry = object.geometry;
  18. if ( geometry instanceof THREE.BufferGeometry ) {
  19. container.setDisplay( 'block' );
  20. vertices.setValue( geometry.attributes.position.array.length / 3 );
  21. if ( geometry.attributes.index !== undefined ) {
  22. faces.setValue( geometry.attributes.index.array.length / 3 );
  23. } else {
  24. faces.setValue( geometry.attributes.position.array.length / 9 );
  25. }
  26. } else {
  27. container.setDisplay( 'none' );
  28. }
  29. };
  30. signals.objectSelected.add( update );
  31. signals.objectChanged.add( update );
  32. return container;
  33. }
粤ICP备19079148号