When getting the PickIntersecetions from a PickResult returned from using a
PickBounds shape, the following exception is thrown:
java.lang.NullPointerException
at
com.sun.j3d.utils.picking.PickIntersection.setPointCoordinatesVW(PickIntersection.java:367)
at com.sun.j3d.utils.picking.PickResult.intersectTri(PickResult.java:966)
at com.sun.j3d.utils.picking.PickResult.intersectTA(PickResult.java:1211)
at com.sun.j3d.utils.picking.PickResult.intersect(PickResult.java:758)
at
com.sun.j3d.utils.picking.PickResult.generateIntersections(PickResult.java:600)
at
com.sun.j3d.utils.picking.PickResult.getClosestIntersection(PickResult.java:417)
...
This happens with any type of bounds object (BoundingSphere, BoundingBox,
or BoundingPolytope).
The following code should demonstrate this behavior:
public static void doPick(BranchGroup bg)
{
PickTool picker = new PickTool(bg);
picker.setMode(PickTool.GEOMETRY_INTERSECT_INFO);
PickBounds pickBounds = new PickBounds(new BoundingSphere(new
Point3d(),0.25f));
picker.setShape(pickBounds,new Point3d());
PickResult result = picker.pickClosest();
if (result != null)
{
PickIntersection intersection = result.getClosestIntersection(new
Point3d()); // throws Exception here
} // if
} // doPick()
The BranchGroup should, of course, have something in it to collide with.
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".