summaryrefslogtreecommitdiff
path: root/src/tesseract/TesseractUI.java
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2011-02-16 08:12:56 +0000
committerJesse Morgan <jesse@jesterpm.net>2011-02-16 08:12:56 +0000
commit350a482b32512191596daad55104beec98af9981 (patch)
tree34967e2dd86b18a78a3ea0f8316a502a1e8637d3 /src/tesseract/TesseractUI.java
parent5e9f617bdfea01d0bd5e66daf7a5e55f8f94dbf0 (diff)
Added alden's code, moved his objects into the object class and made them extend physical object. Fixed a node selection problem in TesseractUI.
Diffstat (limited to 'src/tesseract/TesseractUI.java')
-rw-r--r--src/tesseract/TesseractUI.java20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/tesseract/TesseractUI.java b/src/tesseract/TesseractUI.java
index 1e8ff9c..ca882e2 100644
--- a/src/tesseract/TesseractUI.java
+++ b/src/tesseract/TesseractUI.java
@@ -12,6 +12,7 @@ import java.awt.event.MouseWheelListener;
import javax.media.j3d.BoundingBox;
import javax.media.j3d.Canvas3D;
+import javax.media.j3d.Node;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import javax.swing.JCheckBoxMenuItem;
@@ -39,6 +40,7 @@ import tesseract.menuitems.IcosahedronMenuItem;
import tesseract.menuitems.ParticleEmitterMenuItem;
import tesseract.menuitems.ParticleMenuItem;
import tesseract.menuitems.PlanarPolygonMenuItem;
+import tesseract.objects.Box;
import tesseract.objects.ChainLink2;
import tesseract.objects.PhysicalObject;
@@ -149,6 +151,7 @@ public class TesseractUI extends JFrame {
ChainLink2 o = new ChainLink2(new Vector3f(), 1);
o.setRotation();
myWorld.addObject(o);
+ myWorld.addObject(new Box(0.20f, 0.09f, 0.10f, new Vector3f(0, 0.25f, 0)));
}
/**
@@ -342,11 +345,18 @@ public class TesseractUI extends JFrame {
pc.setShapeLocation(e);
PickResult r = pc.pickClosest();
- if (r != null && r.getObject().getUserData() instanceof PhysicalObject) {
- myCurrentObject =
- (PhysicalObject) r.getObject().getUserData();
-
- myCurrentObject.selected(true);
+ if (r != null) {
+ for (int i = r.getSceneGraphPath().nodeCount() - 1;
+ i > 0; i--) {
+ Node n = r.getSceneGraphPath().getNode(i);
+ if (n.getUserData() instanceof PhysicalObject) {
+ myCurrentObject =
+ (PhysicalObject) n.getUserData();
+ myCurrentObject.selected(true);
+
+ break;
+ }
+ }
}
}