diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2011-02-16 08:12:56 +0000 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2011-02-16 08:12:56 +0000 |
commit | 350a482b32512191596daad55104beec98af9981 (patch) | |
tree | 34967e2dd86b18a78a3ea0f8316a502a1e8637d3 /src/tesseract/TesseractUI.java | |
parent | 5e9f617bdfea01d0bd5e66daf7a5e55f8f94dbf0 (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.java | 20 |
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; + } + } } } |