Hi Saurabh,


>
>In my application i change the viewingplatform's transform
>and immediately after that use the following piece of code to
>get the world coordinates from the canvas coordinates
>
>pt - any point on canvas
>
>    canvas3d.getPixelLocationInImagePlate(pt.x, pt.y, point3d);
>    Transform3D temp = new Transform3D();
>    canvas3d.getImagePlateToVworld(temp);
>    temp.transform(point3d);
>
>but the points i get are corresponding to the viewingplatform's
>previous transform value.
>
>It seems that there is a time lag in transform update and canvas renderer
>because on introducing a sleep of few seconds the values are evaluated
>correctly.
>
>Now, I have got 3 questions -
>
>1.    Is this due to the slow response of renderer thread ?
>
>2.    Is there any way by which i could get the notification of canvas
>values being
>        updated after viewing platform's transform change ?
>
>3.    Is there any other procedure by which i can evaluate the world
>coordinates
>        corresponding to the canvas coordinates ?
>
>will appreciate any help
>
>
Current architecture use another thread to update the
internal View Canvas coordinate system. So if you
modify the View platform, it will not reflect immediately
in the same thread. A way to work around is to use
wakeupOnElapsedFrame behavior to get back the image
plate coordinate in the next frame.

Thanks.

- Kelvin
---------------
Java 3D Team
Sun Microsystems Inc.

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