From b4cdaf79518c36e02fc9fd1e815837d6596f2822 Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Mon, 7 Mar 2011 06:25:30 +0000 Subject: Fixed the picking issue. --- src/common/CollidableObject.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/common') diff --git a/src/common/CollidableObject.java b/src/common/CollidableObject.java index 4c5f013..e4a1119 100644 --- a/src/common/CollidableObject.java +++ b/src/common/CollidableObject.java @@ -480,6 +480,8 @@ public abstract class CollidableObject implements Serializable { in.defaultReadObject(); TG = new TransformGroup(); TG.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); + TG.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); + TG.setCapability(TransformGroup.ENABLE_PICK_REPORTING); BG = new BranchGroup(); BG.setCapability(BranchGroup.ALLOW_DETACH); BG.addChild(TG); @@ -495,6 +497,10 @@ public abstract class CollidableObject implements Serializable { for (int i = 0; i < numTGChildren; i++) { bgroup.addChild(readNode(in)); } + bgroup.setCapability(javax.media.j3d.Node.ALLOW_BOUNDS_READ); + bgroup.setCapability(javax.media.j3d.Node.ALLOW_LOCAL_TO_VWORLD_READ); + bgroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); + bgroup.setCapability(TransformGroup.ENABLE_PICK_REPORTING); return bgroup; case NODE_TYPE_TRANSFORM: TransformGroup tgroup = new TransformGroup(); @@ -505,6 +511,10 @@ public abstract class CollidableObject implements Serializable { for (int i = 0; i < numChildren; i++) { tgroup.addChild(readNode(in)); } + tgroup.setCapability(javax.media.j3d.Node.ALLOW_BOUNDS_READ); + tgroup.setCapability(javax.media.j3d.Node.ALLOW_LOCAL_TO_VWORLD_READ); + tgroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); + tgroup.setCapability(TransformGroup.ENABLE_PICK_REPORTING); return tgroup; case NODE_TYPE_PRIMITIVE: BranchGroup bg = new BranchGroup(); @@ -519,6 +529,10 @@ public abstract class CollidableObject implements Serializable { shape.addGeometry(readGeometry(in)); bg.addChild(shape); } + bg.setCapability(javax.media.j3d.Node.ALLOW_BOUNDS_READ); + bg.setCapability(javax.media.j3d.Node.ALLOW_LOCAL_TO_VWORLD_READ); + bg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); + bg.setCapability(TransformGroup.ENABLE_PICK_REPORTING); return bg; case NODE_TYPE_SHAPE: BranchGroup shapeBG = new BranchGroup(); @@ -536,6 +550,11 @@ public abstract class CollidableObject implements Serializable { shape.setAppearance(shapeApp); } shapeBG.addChild(shape); + + shapeBG.setCapability(javax.media.j3d.Node.ALLOW_BOUNDS_READ); + shapeBG.setCapability(javax.media.j3d.Node.ALLOW_LOCAL_TO_VWORLD_READ); + shapeBG.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); + shapeBG.setCapability(TransformGroup.ENABLE_PICK_REPORTING); return shapeBG; default: throw new IllegalArgumentException("Illegal node type for serialization"); -- cgit v1.2.3