Sidebar.Geometry.TorusGeometry.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /**
  2. * @author mrdoob / http://mrdoob.com/
  3. */
  4. Sidebar.Geometry.TorusGeometry = function ( editor, object ) {
  5. var signals = editor.signals;
  6. var container = new UI.Panel();
  7. var parameters = object.geometry.parameters;
  8. // radius
  9. var radiusRow = new UI.Panel();
  10. var radius = new UI.Number( parameters.radius ).onChange( update );
  11. radiusRow.add( new UI.Text( 'Radius' ).setWidth( '90px' ) );
  12. radiusRow.add( radius );
  13. container.add( radiusRow );
  14. // tube
  15. var tubeRow = new UI.Panel();
  16. var tube = new UI.Number( parameters.tube ).onChange( update );
  17. tubeRow.add( new UI.Text( 'Tube' ).setWidth( '90px' ) );
  18. tubeRow.add( tube );
  19. container.add( tubeRow );
  20. // radialSegments
  21. var radialSegmentsRow = new UI.Panel();
  22. var radialSegments = new UI.Integer( parameters.radialSegments ).setRange( 1, Infinity ).onChange( update );
  23. radialSegmentsRow.add( new UI.Text( 'Radial segments' ).setWidth( '90px' ) );
  24. radialSegmentsRow.add( radialSegments );
  25. container.add( radialSegmentsRow );
  26. // tubularSegments
  27. var tubularSegmentsRow = new UI.Panel();
  28. var tubularSegments = new UI.Integer( parameters.tubularSegments ).setRange( 1, Infinity ).onChange( update );
  29. tubularSegmentsRow.add( new UI.Text( 'Tubular segments' ).setWidth( '90px' ) );
  30. tubularSegmentsRow.add( tubularSegments );
  31. container.add( tubularSegmentsRow );
  32. // arc
  33. var arcRow = new UI.Panel();
  34. var arc = new UI.Number( parameters.arc ).onChange( update );
  35. arcRow.add( new UI.Text( 'Arc' ).setWidth( '90px' ) );
  36. arcRow.add( arc );
  37. container.add( arcRow );
  38. //
  39. function update() {
  40. editor.execute( new SetGeometryCommand( object, new THREE.TorusGeometry(
  41. radius.getValue(),
  42. tube.getValue(),
  43. radialSegments.getValue(),
  44. tubularSegments.getValue(),
  45. arc.getValue()
  46. ) ) );
  47. }
  48. return container;
  49. }