Doug, It works! So where do I send the six-pack? Thank you so very much! Regards, Gregory Bradford Doug Gehringer wrote: > > > Now all I want to do is supply a (valid for my canvas) pixel X and Y and > > get back a Point3d which indicates what value the pixel X and Y are in > > my data's coordinate system. > > Here is a solution using some of the cool new stuff in J3D 1.2: Create a non > visible polygon which passes through the center of your data space and then use > the picking utilities to find a point on the polygon which is at the x,y screen > location. > > Create your polygon and make it non-visible using > > RenderingAttributes.setVisible(false); > > If possible, make the rest of your data non-pickable. > > Generate your MC point using the pick utilities. At init: > > PickCanvas pickCanvas = new PickCanvas(canvas, scene); > pickCanvas.setMode(PickTool.GEOMETRY_INTERSECT_INFO); > > Then for your mouse event: > > pickCanvas.setShapeLocation(mouseEvent); > PickResult[] results = pickCanvas.pickAll(); > > The MC point will then be > > Point3d mcPoint = results[0].getIntersection(0).getPointCoordinates(); > > This assumes that the polygon is the only pickable part of your scene. If not, > then you may get back more than one PickResult. You'll need to figure out which > PickResult has your polygon: > > if (results.length > 0) { > for (int i = 0; i < results.length; i++) { > if (results[i].getObject() == <your polygon>) { > mcPoint = results[i].getIntersection(0).getPointCoordinates(); > } > } > } > > If your data space can be rotated to any orientation, then this method may fail > because you rotate the pick polygon so that it is edge-on. You can fix this by > making three polygons through your data space which are aligned with the X, Y > and Z axes, so that you will always get an intersection. You can then use any > of the intersections of the PickRay with your polygons for your MC point. > > Hope this helps, > > Doug Gehringer > Sun Microsystems > > =========================================================================== > 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".
begin:vcard n:Bradford;Gregory tel;fax:408-736-8447 tel;work:408-736-2822 x-mozilla-html:FALSE adr:;;;;;; version:2.1 email;internet:[EMAIL PROTECTED] fn:Gregory Bradford end:vcard