From d1df88907d55240e79ee8597f6032a4c0de6b957 Mon Sep 17 00:00:00 2001 From: Steve Date: Sat, 12 Feb 2011 08:09:38 +0000 Subject: 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 --- src/tesseract/TesseractUI.java | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) (limited to 'src/tesseract/TesseractUI.java') 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() { -- cgit v1.2.3