[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Selecting objects and PickData problem

Richard Tyc (richt@sbrc.umanitoba.ca) writes:

> I am trying to get object selection (and ultimately manipulation
> interactively)  to work properly without much success.
> I understand from previous postings and David Fannings example that the
> method first requires:
> 1) perform a  selObj = oWIndow->Select ( oView, [sEvent.x,sEvent.y] )
> operation to get the list of objects which could be picked from.
> 2) Assuming my object of choice is in the list (I check on the NAME property
> for each object which I have previously assigned), I can then do something
> like
>  pick = oWindow->PickData( oView, pickObj, [sEvent.x,sEvent.y], dataxyz)
> My problem is that the PickData method does work ( ie. the right pickObj is
> found from the original selection list) but the actual data in dataxyz makes
> no sense!!  My object of choice, an IDLgrPolyLine, is part of oModel
> contained in oView which has been transformed.  I display the X,Yand Z axis
> on screen when I manipulate the Model (using oTrackball type interaction)
> but the PickData returns data outside my bounds ie. the entire polyline is
> within positive X,Y,Z but yet dataxyz returns negative positions ?
> Does dataxyz not have the correct transformed data ? Is there a bug here ?
> I am trying to allow the user to interactively grap the end point of a line
> and modify its position by moving the mouse.

I don't know, Richard. I haven't tried this particular
thing. But I do see a lot of caveats in the on-line help
for the PickData method, including caveats that you may
have to apply your own data transformations to these
values. Have you read the documentation carefully?



David Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438 E-Mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155