Oleg Kobchenko wrote:
> Complex manipulation interaction is handled in VRML
> too, as I was mentioning. 

Ok.

It might be interesting to program a VRML layer on top
of J's opengl layer.  Or it might be interesting to plug
in someone else's VRML implementation.  But this is a
much more complex project than what I was suggesting,
in terms of J support.

> They employ special objects: sensors, which kick in
> on certain events, for example selecting a handle object,
> typically providing visual feedback. Sensors constrain movement
> to certain sub-space, such as Plane Sensor would be used
> to move pieces on a game board. The sensor processes
> the window coordinates and responds with it's local
> subspace coordinates. So even if you change position and orientation
> of your board, you still get the same relative board coordinates.

This sounds great for the checkerboard emulation I originally
proposed as a simple example of what I was looking for.  This
sounds significantly less useful for the geometry editor I
proposed as a more elaborate example of what I was looking for.

> If you had a generic 3D cursor, it will still give you unrelated
> absolute coordinates, which you will have to match with your objects.

Maybe.  But I'm not asking for a generic 3D cursor, I'm asking 
for the tools I'd need to build a application specific cursor.

I'm asking for an invisible mouse and a stream of deltaX/deltaY
(plus extra buttons and keys) values which I can wire up to my 
application.

> Things, which can help make a successful editor
> are gluing and alignment guides, local coordinate vectors
> and mesh to give the sense of relativity, position and direction.
> You use one hand to activate keyboard modifiers
> and the other to move the regular mouse within
> corresponding constrained subspace in a predictable way.

> Photoshop is a very good example of such interactivity
> to do various complex manipulations on 2D canvases.

I don't know enough about the VRML abstractions to comment
much on them.  I do know that there are a number of implementations
and versions of VRML just as there are a number of implementations
and versions of openGL.

That said, my impression from the few examples of VRML I've seen
is that VRML is a relatively simplistic physics simulator, with
a fairly flat rendering model.

Also, the cases I've seen use xml as the medium of communication.
So I expect J would need good xml support on which it would need
to base it's VRML support.

Not that this would be particular efficient, but I didn't get
the idea that VRML is particularly efficient.

If I had the option of trying to talk to VRML from inside J, I'd
be happy to try it.

But I think that what I'm asking for is much simpler.  It could
be broken down into two more general operations:

(1) The ability to supply a small image to use as the mouse
cursor (for cross platform portability this would either have
to be a bit map or there would have to be some way of discovering
the limitations of the platform).  Alternatively, it might be
adequate to have a set of (abstractly defined) cursors one of
which is picked by numeric index.  I've seen systems use both
mechanisms, I don't care which is documented as long as I can
make the thing transparent.

(2) The ability to position the mouse at an arbitrary place on
the screen.

Note that many applications use the cursor to provide feedback to
the user -- about what state the application is in (busy processsing?)
or about what kind of thing would happen if the user clicks what
ever is under the mouse at the time.  So it could be generally
useful if J would let me say: when the cursor is over this
graphical element, the cursor looks like (specified value).  And
maybe assign a priority to that to allow the user to implement
different concepts (does the button take priority over the form,
or vice versa?).

The ability to position the mouse seems less useful, but might 
be of value in tutorial or introductory type material. 

Thanks,

-- 
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to