summaryrefslogtreecommitdiff
path: root/src/tesseract/menuitems/ChainLinkMenuItem.java
diff options
context:
space:
mode:
authorSteve <steveb9@u.washington.edu>2011-02-12 09:15:58 +0000
committerSteve <steveb9@u.washington.edu>2011-02-12 09:15:58 +0000
commit5659cdbb139a1820b5739553fc331505852a3740 (patch)
tree37fc9d05ff59ea14c8b0a0bc0549453c7cff7995 /src/tesseract/menuitems/ChainLinkMenuItem.java
parentd1df88907d55240e79ee8597f6032a4c0de6b957 (diff)
ChainLink added but not collidible because it looks like it uses a IndexedQuadArray and Alden's code only supports the triangles.
Also added normals to planar poly
Diffstat (limited to 'src/tesseract/menuitems/ChainLinkMenuItem.java')
-rw-r--r--src/tesseract/menuitems/ChainLinkMenuItem.java73
1 files changed, 72 insertions, 1 deletions
diff --git a/src/tesseract/menuitems/ChainLinkMenuItem.java b/src/tesseract/menuitems/ChainLinkMenuItem.java
index 4f99645..e015b42 100644
--- a/src/tesseract/menuitems/ChainLinkMenuItem.java
+++ b/src/tesseract/menuitems/ChainLinkMenuItem.java
@@ -1,5 +1,76 @@
package tesseract.menuitems;
-public class ChainLinkMenuItem {
+import java.awt.Color;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import javax.swing.JCheckBox;
+import javax.swing.JColorChooser;
+import javax.swing.JFrame;
+import javax.swing.JOptionPane;
+import javax.vecmath.Color3f;
+import javax.vecmath.Vector3f;
+
+import tesseract.World;
+import tesseract.objects.ChainLink;
+import tesseract.objects.Icosahedron;
+import tesseract.objects.PlanarPolygon;
+
+/**
+ * Icosahedron Menu Item.
+ *
+ * @author Steve Bradshaw
+ */
+public class ChainLinkMenuItem extends TesseractMenuItem {
+
+ /**
+ * Serial ID.
+ */
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Constructor for the menu item.
+ *
+ * @param theWorld The world into which we add.
+ */
+ public ChainLinkMenuItem(final World theWorld) {
+ super(theWorld, "ChainLink");
+ }
+
+ /**
+ * Action handler.
+ *
+ * @param arg0 Unused event info.
+ */
+ public void actionPerformed(final ActionEvent arg0) {
+ createParameterMenu();
+
+ final float scale = 1f;
+ final float sliceRadius = .06f; //inside whole
+ final int sliceDivisions = 50;
+ final float arcRadius = .08f; //outside whole
+ final int arcDivisions = 30;
+
+ //If the default button is checked, the frame will close.
+ final JCheckBox defaultButton = getDefaultButton();
+ final JFrame params = getParamFrame();
+
+ defaultButton.addActionListener(new ActionListener() {
+ public void actionPerformed(final ActionEvent e) {
+ if (defaultButton.isSelected()) {
+ myWorld.addObject(new ChainLink(getDefaultPosition(), 1, scale,
+ sliceRadius, sliceDivisions, arcRadius, arcDivisions));
+ params.dispose();
+ }
+ }
+ });
+ /*Vector3f pos =
+ parseVector(JOptionPane.showInputDialog("Enter the position"));
+ float radius =
+ Float.parseFloat(JOptionPane.showInputDialog("Enter the radius"));
+
+ myWorld.addObject(new Icosahedron(pos, radius));*/
+ }
}
+
+