oh, there is something wrong with the scenegraph.
i forgot a tg:

     locale-------------------|
       |                      |
  terrain (BG)            objects (BG)
       |                      |
  1-n patches (SHAPE3D)     shipTG (TG)
                              |
                          ship (SHAPE3D)

thnx in advance...

holger


Holger Kral wrote:
> hi all!
>
> i'm having trouble trying to set up picking for my terrain-rendering demo.
> my scenegraph looks as follows:
>
>    locale-------------------|
>      |                      |
> terrain (BG)            objects (BG)
>      |                      |
> 1-n patches (SHAPE3D)      ship (SHAPE3D)
>
>
> i'm using by-ref geometry for the terrain-patches.
> i initialize every patch with:
>
> PickTool.setCapabilities(patch, PickTool.INTERSECT_FULL);
>
> the following code is used inside a behavior which wakes up every frame:
>
>   private void checkCollision(Shape3D ship) {
>     PickTool pickTool = new PickTool(terrain);
>     pickTool.setMode(PickTool.GEOMETRY_INTERSECT_INFO);
>     PickBounds pickBounds = new PickBounds(ship.getCollisionBounds());
>     pickTool.setShape(pickBounds, new Point3d(0, 0, 0));
>
>     PickResult[] resultArray = pickTool.pickAll(); <--------- throws
> exception
>
>     if (resultArray != null && resultArray.length > 0) {
>       System.out.println("got PickResult(s)!");
>     }
>   }
>
>
> the pickAll() method throws the following exception:
>
>
> Exception occurred during Behavior execution:
> java.lang.NullPointerException
>        at
> 
>com.sun.j3d.utils.picking.PickIntersection.setPointCoordinatesVW(PickIntersection.java:376)
>
>        at
> com.sun.j3d.utils.picking.PickResult.intersectTri(PickResult.java:1024)
>        at
> com.sun.j3d.utils.picking.PickResult.intersectTA(PickResult.java:1288)
>        at
> com.sun.j3d.utils.picking.PickResult.intersect(PickResult.java:799)
>        at
> com.sun.j3d.utils.picking.PickResult.generateIntersections(PickResult.java:635)
>
>        at
> com.sun.j3d.utils.picking.PickResult.numIntersections(PickResult.java:422)
>        at
> com.sun.j3d.utils.picking.PickTool.pickGeomAllIntersect(PickTool.java:809)
>        at com.sun.j3d.utils.picking.PickTool.pickAll(PickTool.java:463)
>        at FrameUpdateBehavior.checkCollision(FrameUpdateBehavior.java:70)
>        at FrameUpdateBehavior.updateData(FrameUpdateBehavior.java:125)
>        at
> de.netzkral.j3d.behavior.UpdateBehavior.processStimulus(Unknown Source)
>        at
> javax.media.j3d.BehaviorScheduler.doWork(BehaviorScheduler.java:172)
>        at javax.media.j3d.J3dThread.run(J3dThread.java:250)
>
>
> systemsetup: win xp home-edition, java3d1.3(opengl), jdk1.4.0_01.
>
> any help is welcome,
> thnx in advance......
>
> holger
>
> ===========================================================================
> 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".
>

===========================================================================
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".

Reply via email to