summaryrefslogtreecommitdiff
path: root/src/tesseract/TesseractUI.java
diff options
context:
space:
mode:
authorSteve <steveb9@u.washington.edu>2011-02-12 08:09:38 +0000
committerSteve <steveb9@u.washington.edu>2011-02-12 08:09:38 +0000
commitd1df88907d55240e79ee8597f6032a4c0de6b957 (patch)
treebe36bc4395e2c6b407ae5da43bd4080d5b41e9d0 /src/tesseract/TesseractUI.java
parente258cf11dc077ee2addb748636481c3ad8a27c72 (diff)
Added a gravity submenu (doesn't turn off yet)
Added empty ChainLinkMenuItem class set the planar Poly to pos infinte mass for testing Particles fall through but others don't, if particles are big enough they collide though
Diffstat (limited to 'src/tesseract/TesseractUI.java')
-rw-r--r--src/tesseract/TesseractUI.java37
1 files changed, 20 insertions, 17 deletions
diff --git a/src/tesseract/TesseractUI.java b/src/tesseract/TesseractUI.java
index e6eb330..7b1a180 100644
--- a/src/tesseract/TesseractUI.java
+++ b/src/tesseract/TesseractUI.java
@@ -24,6 +24,7 @@ import javax.swing.Timer;
import javax.vecmath.Point3d;
import javax.vecmath.Vector3f;
+import tesseract.forces.Force;
import tesseract.forces.Gravity;
import tesseract.menuitems.EllipsoidMenuItem;
import tesseract.menuitems.GravityMenuItem;
@@ -89,20 +90,23 @@ public class TesseractUI extends JFrame {
private JMenuItem[] myObjectMenuItems;
/**
- * Forces Menu Items.
+ * World Timer.
*/
- private JMenuItem[] myForcesMenuItems;
+ private Timer myTimer;
/**
- * World Timer.
+ * The gravity of the world
*/
- private Timer myTimer;
+ private Gravity my_gravity;
/**
* UI Constructor.
*/
public TesseractUI() {
super("Tesseract Project");
+
+ my_gravity = new Gravity(-.5f);
+
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myWorld = new World(
@@ -116,11 +120,6 @@ public class TesseractUI extends JFrame {
new EllipsoidMenuItem(myWorld),
new IcosahedronMenuItem(myWorld)
};
-
- myForcesMenuItems = new JMenuItem[] {
- new GravityMenuItem(myWorld)};
-
-
createMenu();
setupCanvas();
pack();
@@ -173,10 +172,18 @@ public class TesseractUI extends JFrame {
menuBar.add(objectsMenu);
//Forces
- JMenu forcesMenu = new JMenu("Add Force");
- for (JMenuItem item : myForcesMenuItems) {
- forcesMenu.add(item);
- }
+ JMenu forcesMenu = new JMenu("Add Forces");
+ JMenuItem gravity = new JCheckBoxMenuItem("Gravity", false);
+ gravity.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ if (((JCheckBoxMenuItem) e.getSource()).isSelected()) {
+ myWorld.addForce(my_gravity);
+ } else {
+ myWorld.addForce(my_gravity = new Gravity(-.5f));
+ }
+ }
+ });
+ forcesMenu.add(gravity);
menuBar.add(forcesMenu);
/*
@@ -200,10 +207,6 @@ public class TesseractUI extends JFrame {
menu.add(cMenuItem);
}
*/
-
-
-
-
// Exit Menu Item
JMenuItem exit = new JMenuItem("Exit");
exit.addActionListener(new ActionListener() {