diff options
author | Steve <steveb9@u.washington.edu> | 2011-02-17 09:42:03 +0000 |
---|---|---|
committer | Steve <steveb9@u.washington.edu> | 2011-02-17 09:42:03 +0000 |
commit | a16191ccf45d2639feb8cc9350b51f78befeef31 (patch) | |
tree | e88ad10fa837163de02d6ffe12cde808397f3d7b | |
parent | 180bf56774e9dabca31d69a6e0c29dcd76dab372 (diff) |
Attempted menu fix, needs redesign
Toroid now works (donut)
-rw-r--r-- | src/tesseract/menuitems/DonutMenuItem.java | 84 | ||||
-rw-r--r-- | src/tesseract/menuitems/TesseractMenuItem.java | 2 |
2 files changed, 63 insertions, 23 deletions
diff --git a/src/tesseract/menuitems/DonutMenuItem.java b/src/tesseract/menuitems/DonutMenuItem.java index fb4a79a..990e0fd 100644 --- a/src/tesseract/menuitems/DonutMenuItem.java +++ b/src/tesseract/menuitems/DonutMenuItem.java @@ -1,22 +1,17 @@ package tesseract.menuitems;
-import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JCheckBox;
-import javax.swing.JColorChooser;
import javax.swing.JFrame;
-import javax.swing.JOptionPane;
-import javax.vecmath.Color3f;
+import javax.swing.JLabel;
+import javax.swing.JTextField;
import javax.vecmath.Vector3f;
import tesseract.World;
-import tesseract.objects.ChainLink;
-import tesseract.objects.ChainLink2;
-import tesseract.objects.Icosahedron;
-import tesseract.objects.PlanarPolygon;
+import tesseract.objects.Toroid;
/**
* Icosahedron Menu Item.
@@ -29,6 +24,12 @@ public class DonutMenuItem extends TesseractMenuItem { * Serial ID.
*/
private static final long serialVersionUID = 1L;
+
+ private float scale = 1f;
+ private float sliceRadius = .06f; //inside whole
+ private int sliceDivisions = 50;
+ private float arcRadius = .08f; //outside whole
+ private int arcDivisions = 30;
/**
* Constructor for the menu item.
@@ -45,23 +46,49 @@ public class DonutMenuItem extends TesseractMenuItem { * @param arg0 Unused event info.
*/
public void actionPerformed(final ActionEvent arg0) {
- createParameterMenu();
- final float scale = 0.5f;
- final float sliceRadius = .06f; //inside whole
- final int sliceDivisions = 50;
- final float arcRadius = .08f; //outside whole
- final int arcDivisions = 30;
+ createParameterMenu();
//If the default button is checked, the frame will close.
final JCheckBox defaultButton = getDefaultButton();
final JFrame params = getParamFrame();
- //final JButton enterButton = getEnterButton();
-
+ /* final JButton enterButton = getEnterButton();
+
+ final JTextField scale_input = new JTextField(10);
+ scale_input.setText("1");
+ final JTextField sliceRadiusInput = new JTextField(10);
+ sliceRadiusInput.setText(".06");
+ final JTextField sliceDivisionsInput = new JTextField(10);
+ sliceDivisionsInput.setText("50");
+ final JTextField arcRadiusInput = new JTextField(10);
+ arcRadiusInput.setText(".08");
+ final JTextField arcDivisionsInput = new JTextField(10);
+ arcDivisionsInput.setText("30");
+
+ JLabel scale_label = new JLabel("scale: ");
+ JLabel slice_radius_label = new JLabel("sliceRadius: ");
+ JLabel slice_divs_label = new JLabel("sliceDivs: ");
+ JLabel arc_radius_label = new JLabel("arcRadius: ");
+ JLabel arc_divs_label = new JLabel("arcDivs: ");
+
+ params.add(scale_label);
+ params.add(scale_input);
+ params.add(slice_radius_label);
+ params.add(sliceRadiusInput);
+ params.add(slice_divs_label);
+ params.add(sliceDivisionsInput);
+ params.add(arc_radius_label);
+ params.add(arcRadiusInput);
+ params.add(arc_divs_label);
+ params.add(arcDivisionsInput);
+
+
+ params.add(enterButton);*/
+
defaultButton.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
if (defaultButton.isSelected()) {
- myWorld.addObject(new ChainLink(getDefaultPosition(), 1, scale,
+ myWorld.addObject(new Toroid(getDefaultPosition(), 1, scale,
sliceRadius, sliceDivisions, arcRadius, arcDivisions));
params.dispose();
}
@@ -70,20 +97,33 @@ public class DonutMenuItem extends TesseractMenuItem { /*enterButton.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent event) {
+
String string = getPositionField().getText();
Vector3f pos = parseVector(string);
setPosition(pos);
- String string2 = getRadiusField().getText();
- float radius = Float.parseFloat(string2);
- setRadius(radius);
-
String string3 = getMassField().getText();
float mass = Float.parseFloat(string3);
setMass(mass);
+
+ String string4 = getMassField().getText();
+ scale = Float.parseFloat(string4);
+
+ String string5 = getMassField().getText();
+ sliceRadius = Float.parseFloat(string5);
+
+ String string6 = getMassField().getText();
+ sliceDivisions = Integer.parseInt(string6);
+
+ String string7 = getMassField().getText();
+ arcRadius = Float.parseFloat(string7);
+
+ String string8 = getMassField().getText();
+ arcDivisions = Integer.parseInt(string8);
if (event.getSource() == enterButton) {
- myWorld.addObject(new ChainLink(getPosition(), getRadius()));
+ myWorld.addObject(new Toroid(pos, 1, scale,
+ sliceRadius, sliceDivisions, arcRadius, arcDivisions));
params.dispose();
}
}
diff --git a/src/tesseract/menuitems/TesseractMenuItem.java b/src/tesseract/menuitems/TesseractMenuItem.java index 5c79ba3..b1d3d8c 100644 --- a/src/tesseract/menuitems/TesseractMenuItem.java +++ b/src/tesseract/menuitems/TesseractMenuItem.java @@ -130,7 +130,7 @@ public abstract class TesseractMenuItem my_param_frame = new JFrame("Parameters"); my_param_frame.setBackground(Color.GRAY); - my_param_frame.setLayout(new GridLayout(5,1)); + my_param_frame.setLayout(new GridLayout(5,2)); Toolkit tk = Toolkit.getDefaultToolkit(); Dimension screenSize = tk.getScreenSize(); |