Re: Editor GUI design

Uffe Friis Lichtenberg (uffefl@diku.dk)
Sun, 9 Jun 1996 21:19:53 +0200 (METDST)

Date: Sun, 9 Jun 1996 21:19:53 +0200 (METDST)
From: Uffe Friis Lichtenberg <uffefl@diku.dk>
To: quake-dev@gamers.org
Subject: Re: Editor GUI design
In-Reply-To: <199606082021.WAA18652@marvin.nero.uni-bonn.de>

On Sat, 8 Jun 1996, Bernd Kreimeier wrote:

> a) is an editing mode with polyhedra-polyhedra
> 3D collision detection worth the hassle?

Hm. Possibly. But it will be a bitch to code efficiently. Let's
concentrate on functions that will allow us to align objects first, like
(b). Then work from that.

> b) here is a next interaction: pick two facets of
> two brushes. Now press "glue". One brush will
> be rotated and translated to stick to the
> other, selected facet on selected facet. Now
> there are only 3 degrees of freedom left:
> in the plane defined by the two parallel facets,
> move in x,y, or rotate by some angle.

Ooh I like that. I hadn't really given much thought to alignment
functions yet... What about (I assume a work-plane and work-line has
been defined):

c) `Snap to plane'. Translate selected object along work-plane normal
so the center of the object (ie. (0,0,0) in object coordinates) lies
on the work-plane.

d) `Snap to line'. Translate selected object along a normal to
the work-line, where the normal used goes through the center of the
object. The center of the object ends up on the work-line.

e) `Rotate about line'. Using the work-line as axis, rotate selected
object any amount.

f) `Move parallel to plane'. View switches so the view-plane is parallel
to the work-plane. Objects can then be moved parallel (in screen XY)
to the work plane. Moving the object along a work-plane normal (in
screen Z) could possibly be achieved using another set of keys or a
held mouse-button or something.

g) `Drop object'. Place object in 3-space and let go. Object falls (along
gravity vector) to the floor. (Option: if the floor is tilted the
object migh slide until it comes to rest???)

h) Work-plane must be translatable and rotatable (around work-line). Also
it must be settable to any face in the scene or to a span of any
three vertices.

i) Work-line must be translateable and rotatable (around another
work-line?). Also it must be settable to any edge in the scene or to a
span of any two vertices.

j) `Hang object'. Place object in 3-space and let go. An invisible wire
is connected between the work-line (arbitrarily placed or closest
point) and the center of the object. Then the object is transformed as
if it was hanging in that wire from the work-line.

k) I could go on... ;)

Zonk,
Uffe. [uphfe]
uffefl@diku.dk

--
"This .signature hasn't been left unintentionally void of blankness"