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
