jbickers@templar.actrix.gen.nz (John Bickers) (04/01/91)
Oops, I accidently deleted the article this is a followup to. The question was about selecting a curve, and a proposed solution which involved rendering the curve and checking each point for proximity with the mouse. Another approach, a lot simpler, and the one I'd use (ha, some recommendation, huh? :) is to have a pick box associated with the curve. It's an approach that I've seen used on a couple of large programs - Finale, a Mac scoring program, and Information Engineering Workbench, a PClone software engineering tool. The idea is to draw a little box at some point along the curve, and the user clicks in this to select the thing. You can XOR the box in, so it's optional whether it's displayed or not (for example, if you have several classes of objects, and only want to allow the user to select a particular class, you might only draw the pick boxes for objects in that class). This seems great for allowing the user to pick up control points for curves, endpoints for lines, etc. You can even give the user options for how large these pick boxes should be, use different pick boxes for different things, etc... .....[.] .. [.] . . [.] One nice thing is that it shows the user exactly where they can select, rather than having to have a feel for how close the mouse has to be to an object to select it. You can use this scheme for selecting anything, including those polygon shapes we were talking about before. Using a proper detection scheme is better for things like gadgets, where clicking on rectangles is what you're trying to avoid in the 1st place, but for clicking on objects in a drawing program pick boxes could be nicer. -- *** John Bickers, TAP, NZAmigaUG. jbickers@templar.actrix.gen.nz *** *** "Patterns multiplying, re-direct our view" - Devo. ***
nj@magnolia.Berkeley.EDU (Narciso Jaramillo) (04/03/91)
In article <1804.tnews@templar.actrix.gen.nz> jbickers@templar.actrix.gen.nz (John Bickers) writes:
Oops, I accidently deleted the article this is a followup to. The
question was about selecting a curve, and a proposed solution which
involved rendering the curve and checking each point for proximity
with the mouse.
Another approach, a lot simpler, and the one I'd use (ha, some
recommendation, huh? :) is to have a pick box associated with the
curve.
That certainly is much simpler, and possibly more elegant, depending on
your application. However, I don't plan to adopt it for my object-oriented
drawing program, for several reasons:
1. Pick boxes clutter up the screen, and a pick box for every object would be
rather obtrusive. There are several ways to fix this:
a. Have a toggle between showing pick boxes and not showing pick boxes.
This would cause a lot of redrawing every time the user wanted to see
her diagram without obstruction.
b. Only allow the user to select objects in a special selection mode,
then only show pick boxes in that mode. I want the user to be able
to select objects whenever she wants, though; I plan to have a keyboard
qualifier that drops the user into select mode. As with (a), this would
cause drawing and erasing of pick boxes every time she goes into select
mode.
I'd rather have the user select an object first, then display its control
points for reshaping. That way, only the selected object(s) have their
control points shown. The user can dismiss the control points by
selecting empty space or another object.
2. If you've got a big filled object on the screen, it's going to be very
frustrating if you have to go up to the corners to select a little pick
box rather than just clicking on the object. Similarly, if you've got
a thick line or curve, I'd rather just click near it than move the mouse
all the way to a pick box.
3. While ambiguity is a problem with pick-sensitivity-based selection methods,
it's also a problem with pick boxes, where you often have things connected
to each other at their control points. Of course, this doesn't happen as
often as pick ambiguity in my scheme; but I think that pick ambiguity can
be alleviated by providing some easy method of cycling through possible
selections. (This is kind of a weak argument, I know.)
Of course, all this reasoning would be moot in the face of actual
experiments with real people trying out both types of selection
interface. I haven't done any such experiments, so I'm basically
just designing it to fit the rest of the interface.
If anyone has experience with both selection-by-pick-boxes and
selection-by-object-hit and prefers one over the other, please send me
mail explaining why. I'll summarize the results to the net, if
there's enough response.
--
nj nj@teak.Berkeley.EDU ...!ucbvax!teak!nj