summaryrefslogtreecommitdiff
path: root/src/tesseract
diff options
context:
space:
mode:
Diffstat (limited to 'src/tesseract')
-rw-r--r--src/tesseract/TesseractUI.java2
-rw-r--r--src/tesseract/menuitems/ParticleEmitterMenuItem.java48
2 files changed, 50 insertions, 0 deletions
diff --git a/src/tesseract/TesseractUI.java b/src/tesseract/TesseractUI.java
index 3eb0aca..cc2f078 100644
--- a/src/tesseract/TesseractUI.java
+++ b/src/tesseract/TesseractUI.java
@@ -27,6 +27,7 @@ import javax.vecmath.Vector3d;
import javax.vecmath.Vector3f;
import tesseract.forces.Gravity;
+import tesseract.menuitems.ParticleEmitterMenuItem;
import tesseract.menuitems.ParticleMenuItem;
import tesseract.objects.Particle;
import tesseract.objects.Physical;
@@ -105,6 +106,7 @@ public class TesseractUI extends JFrame {
new Point3d(UNIT / 2, UNIT / 2, UNIT / 2)));
myObjectMenuItems = new ArrayList<JMenuItem>();
+ myObjectMenuItems.add(new ParticleEmitterMenuItem(myWorld));
myObjectMenuItems.add(new ParticleMenuItem(myWorld));
diff --git a/src/tesseract/menuitems/ParticleEmitterMenuItem.java b/src/tesseract/menuitems/ParticleEmitterMenuItem.java
new file mode 100644
index 0000000..48ad88d
--- /dev/null
+++ b/src/tesseract/menuitems/ParticleEmitterMenuItem.java
@@ -0,0 +1,48 @@
+package tesseract.menuitems;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.JOptionPane;
+import javax.vecmath.Vector3f;
+
+import tesseract.World;
+import tesseract.objects.emitters.ParticleEmitter;
+
+/**
+ * Particle Emitter Menu Item.
+ *
+ * @author Jesse Morgan
+ */
+public class ParticleEmitterMenuItem extends TesseractMenuItem {
+
+ /**
+ * Serial ID.
+ */
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Constructor for the menu item.
+ *
+ * @param theWorld The world into which we add.
+ */
+ public ParticleEmitterMenuItem(final World theWorld) {
+ super(theWorld, "Particle Emitter");
+ }
+
+ /**
+ * Action handler.
+ *
+ * @param arg0 Unused event info.
+ */
+ public void actionPerformed(final ActionEvent arg0) {
+ Vector3f pos =
+ parseVector(JOptionPane.showInputDialog("Enter the position"));
+
+ float freq = Float.parseFloat(
+ JOptionPane.showInputDialog(
+ "Emission Frequency (seconds)", "1"));
+
+ myWorld.addObject(new ParticleEmitter(pos, freq, null));
+ }
+
+}