From 75123236924acf5c6cb7b5820fadadc92717d9e1 Mon Sep 17 00:00:00 2001 From: Steve Date: Fri, 11 Feb 2011 23:08:47 +0000 Subject: Ellipsoid to "setShape", created default radio button in TesseractMenuItems & applied to planar Comment out some added objects in UI --- src/tesseract/TesseractUI.java | 6 ++-- src/tesseract/menuitems/EllipsoidMenuItem.java | 4 +++ src/tesseract/menuitems/PlanarPolygonMenuItem.java | 33 ++++++++++++++++-- src/tesseract/menuitems/TesseractMenuItem.java | 39 +++++++++++++++++++++- src/tesseract/objects/PlanarPolygon.java | 2 +- 5 files changed, 76 insertions(+), 8 deletions(-) (limited to 'src/tesseract') diff --git a/src/tesseract/TesseractUI.java b/src/tesseract/TesseractUI.java index 9a85c82..e6eb330 100644 --- a/src/tesseract/TesseractUI.java +++ b/src/tesseract/TesseractUI.java @@ -133,9 +133,9 @@ public class TesseractUI extends JFrame { // THIS IS WHERE OBJECTS ARE FORCED INTO EXISTANCE // TODO: REMOVE TEST CODE - myWorld.addObject(new Particle(new Vector3f(0, 0, 0), null)); - myWorld.addForce(new Gravity()); - myWorld.addObject(new ParticleEmitter(new Vector3f(0, 0.49f, 0), 0.5f, null)); + //myWorld.addObject(new Particle(new Vector3f(0, 0, 0), null)); + //myWorld.addForce(new Gravity()); + //myWorld.addObject(new ParticleEmitter(new Vector3f(0, 0.49f, 0), 0.5f, null)); //myWorld.addObject(new PlanarPolygon(new Vector3f(0, 0.49f, 0), 0.25f)); //myWorld.addObject(new Icosahedron(new Vector3f(), 1, 0.00001f)); } diff --git a/src/tesseract/menuitems/EllipsoidMenuItem.java b/src/tesseract/menuitems/EllipsoidMenuItem.java index 5a12a99..fdab256 100644 --- a/src/tesseract/menuitems/EllipsoidMenuItem.java +++ b/src/tesseract/menuitems/EllipsoidMenuItem.java @@ -40,6 +40,10 @@ public class EllipsoidMenuItem extends TesseractMenuItem { */ public void actionPerformed(final ActionEvent arg0) { //Color c = JColorChooser.showDialog(null, "Ellipsoid", Color.RED); + + + + Vector3f pos = parseVector(JOptionPane.showInputDialog("Enter the position")); float radius = diff --git a/src/tesseract/menuitems/PlanarPolygonMenuItem.java b/src/tesseract/menuitems/PlanarPolygonMenuItem.java index fec7a55..cdb1d3c 100644 --- a/src/tesseract/menuitems/PlanarPolygonMenuItem.java +++ b/src/tesseract/menuitems/PlanarPolygonMenuItem.java @@ -2,9 +2,13 @@ package tesseract.menuitems; import java.awt.Color; import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import javax.swing.JCheckBoxMenuItem; import javax.swing.JColorChooser; +import javax.swing.JFrame; import javax.swing.JOptionPane; +import javax.swing.JRadioButton; import javax.vecmath.Color3f; import javax.vecmath.Vector3f; @@ -22,6 +26,11 @@ public class PlanarPolygonMenuItem extends TesseractMenuItem { * Serial ID. */ private static final long serialVersionUID = 1L; + + /** + * A Default radius. + */ + private static final float DEFAULT_RADIUS = 0.1f; /** * Constructor for the menu item. @@ -38,12 +47,30 @@ public class PlanarPolygonMenuItem extends TesseractMenuItem { * @param arg0 Unused event info. */ public void actionPerformed(final ActionEvent arg0) { - //Color c = JColorChooser.showDialog(null, "Planar Polygon Color", Color.RED); - Vector3f pos = + createParameterMenu(); + final JRadioButton defaultButton = getDefaultButton(); + final JFrame params = getParamFrame(); + + defaultButton.addActionListener(new ActionListener() { + public void actionPerformed(final ActionEvent e) { + if (defaultButton.isSelected()) { + myWorld.addObject(new PlanarPolygon(new Vector3f(0,0,0), DEFAULT_RADIUS)); + params.dispose(); + } + } + }); + + + /*if(arg0. == true) { + myWorld.addObject(new PlanarPolygon(new Vector3f(0,0,0), DEFAULT_RADIUS)); + params.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + }*/ + + /*Vector3f pos = parseVector(JOptionPane.showInputDialog("Enter the position")); float radius = Float.parseFloat(JOptionPane.showInputDialog("Enter the radius")); - myWorld.addObject(new PlanarPolygon(pos, radius)); + myWorld.addObject(new PlanarPolygon(pos, radius));*/ } } diff --git a/src/tesseract/menuitems/TesseractMenuItem.java b/src/tesseract/menuitems/TesseractMenuItem.java index e4529e9..3d73e14 100644 --- a/src/tesseract/menuitems/TesseractMenuItem.java +++ b/src/tesseract/menuitems/TesseractMenuItem.java @@ -1,8 +1,12 @@ package tesseract.menuitems; +import java.awt.Dimension; +import java.awt.Toolkit; import java.awt.event.ActionListener; +import javax.swing.JFrame; import javax.swing.JMenuItem; +import javax.swing.JRadioButton; import javax.vecmath.Vector3f; import tesseract.World; @@ -10,7 +14,7 @@ import tesseract.World; /** * Abstract class for menu items. * - * @author Jesse Morgan + * @author Jesse Morgan, Steve Bradshaw */ public abstract class TesseractMenuItem extends JMenuItem implements ActionListener { @@ -25,6 +29,16 @@ public abstract class TesseractMenuItem */ protected World myWorld; + /** + * The default button + */ + private JRadioButton my_default_button; + + /** + * A Parameter setting Jframe + */ + private JFrame my_param_frame; + /** * Constructor. * @@ -54,4 +68,27 @@ public abstract class TesseractMenuItem return new Vector3f(x, y, z); } + + protected void createParameterMenu() { + my_param_frame= new JFrame("Parameters"); + Toolkit tk = Toolkit.getDefaultToolkit(); + Dimension screenSize = tk.getScreenSize(); + int screenHeight = screenSize.height; + int screenWidth = screenSize.width; + my_param_frame.setSize(screenWidth / 2, screenHeight / 2); + my_param_frame.setLocation(screenWidth / 4, screenHeight / 4); + my_default_button = new JRadioButton("Default Shape"); + my_param_frame.add(my_default_button); + my_param_frame.setAlwaysOnTop(true); + my_param_frame.pack(); + my_param_frame.setVisible(isVisible()); + } + + protected JRadioButton getDefaultButton() { + return my_default_button; + } + + protected JFrame getParamFrame() { + return my_param_frame; + } } diff --git a/src/tesseract/objects/PlanarPolygon.java b/src/tesseract/objects/PlanarPolygon.java index c0613f2..94fb011 100644 --- a/src/tesseract/objects/PlanarPolygon.java +++ b/src/tesseract/objects/PlanarPolygon.java @@ -77,7 +77,7 @@ public class PlanarPolygon extends PhysicalObject { super(position, DEFAULT_MASS); //getTransformGroup().addChild(createShape(radius, DEFAULT_DIVISIONS)); - createShape(radius, DEFAULT_DIVISIONS); + setShape(createShape(radius, DEFAULT_DIVISIONS)); } -- cgit v1.2.3