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

Re: Object Graphics Selection



Mark Guagenti (mgenti@evansville.net) writes:

> I'm running into a problem when trying to select an object from my object
> graphics window.  What I have is a image object in its own model that is
> being displayed and then also various other objects, contained in another
> model,  such as text objects or polyline objects that are "on top" of the
> image object.  When I try to select an object it seems that only my image
> object is being selected.  What I want is one of the other objects to be
> selected.  How do I get it so that the image object cannot be
> selected?  This is my first attempt of working with object
> graphics! Thanks for any help!

As always with object graphics, you have a surfeit of
possible solutions. :-)

Let me suggest two. First, I assume you are not rotating
this view in 3D space, so I presume you are looking flat
onto the XY place. Pull the model that does not contain
the image a little closer to your eye. That is, give it
a slightly positive Z value. This won't change the 
appearance of the view (since things are viewed as
"one-on-top-of-the-other" anyway), but it will make sure
that in the selection array the things that are closest
are listed first. In other words, the image now will be
the *last* item in the selection list instead of the
first. If you always deal with the first item (what I
suspect you are doing if this is your first attempt at
object graphics), then this should immediately solve 
your problem.

Another idea is to give each thing you hope to
select a "name". Then, when you want to do something,
look at the selection array for the "name" of the thing
you want to manipulate. If the name is "IMAGE" forget it
and go to the next item in the selection list, etc.

Good luck.

Cheers,

David

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