Sidebar.Geometry.ExtrudeGeometry.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /**
  2. * @author Temdog007 / http://github.com/Temdog007
  3. */
  4. Sidebar.Geometry.BoxGeometry = 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. var options = parameters.options || {
  11. curveSegments : 12,
  12. steps : 1,
  13. depth : 100,
  14. bevelEnabled : true,
  15. bevelThickness : 6,
  16. bevelSize : 4,
  17. bevelOffset : 0,
  18. bevelSegments : 3
  19. };
  20. // curveSegments
  21. var curveSegmentsRow = new UI.Row();
  22. var curveSegments = new UI.Number( options.curveSegments ).onChange( update ).setRange(1, Infinity);
  23. curveSegmentsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/extrude_geometry/curveSegments' ) ).setWidth( '90px' ) );
  24. curveSegmentsRow.add( curveSegments );
  25. container.add( curveSegmentsRow );
  26. // steps
  27. var stepsRow = new UI.Row();
  28. var steps = new UI.Number( options.steps ).onChange( update ).setRange(1, Infinity);
  29. stepsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/extrude_geometry/steps' ) ).setWidth( '90px' ) );
  30. stepsRow.add( steps );
  31. container.add( stepsRow );
  32. //
  33. function update() {
  34. editor.execute( new SetGeometryCommand( object, new THREE[ geometry.type ](
  35. parameters.shapes,
  36. {
  37. curveSegments : curveSegments.getValue(),
  38. steps : steps.getValue()
  39. }
  40. ) ) );
  41. }
  42. return container;
  43. };
  44. Sidebar.Geometry.BoxBufferGeometry = Sidebar.Geometry.BoxGeometry;