Sidebar.Geometry.LatheGeometry.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /**
  2. * @author rfm1201
  3. */
  4. Sidebar.Geometry.LatheGeometry = function ( editor, object ) {
  5. var strings = editor.strings;
  6. var signals = editor.signals;
  7. var container = new UI.Row();
  8. var geometry = object.geometry;
  9. var parameters = geometry.parameters;
  10. // segments
  11. var segmentsRow = new UI.Row();
  12. var segments = new UI.Integer( parameters.segments ).onChange( update );
  13. segmentsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/lathe_geometry/segments' ) ).setWidth( '90px' ) );
  14. segmentsRow.add( segments );
  15. container.add( segmentsRow );
  16. // phiStart
  17. var phiStartRow = new UI.Row();
  18. var phiStart = new UI.Number( parameters.phiStart * 180 / Math.PI ).onChange( update );
  19. phiStartRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/lathe_geometry/phistart' ) ).setWidth( '90px' ) );
  20. phiStartRow.add( phiStart );
  21. container.add( phiStartRow );
  22. // phiLength
  23. var phiLengthRow = new UI.Row();
  24. var phiLength = new UI.Number( parameters.phiLength * 180 / Math.PI ).onChange( update );
  25. phiLengthRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/lathe_geometry/philength' ) ).setWidth( '90px' ) );
  26. phiLengthRow.add( phiLength );
  27. container.add( phiLengthRow );
  28. // points
  29. var pointsRow = new UI.Row();
  30. pointsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/lathe_geometry/points' ) ).setWidth( '90px' ) );
  31. var points = new UI.Points2().setValue( parameters.points ).onChange( update );
  32. pointsRow.add( points );
  33. container.add( pointsRow );
  34. function update() {
  35. editor.execute( new SetGeometryCommand( editor, object, new THREE[ geometry.type ](
  36. points.getValue(),
  37. segments.getValue(),
  38. phiStart.getValue() / 180 * Math.PI,
  39. phiLength.getValue() / 180 * Math.PI
  40. ) ) );
  41. }
  42. return container;
  43. };
  44. Sidebar.Geometry.LatheBufferGeometry = Sidebar.Geometry.LatheGeometry;