J-S,

Your view of how the system would work is probably very similar to what I had 
in mind.  The idea is that camera manipulators really define business logic 
behavior and should be used as such.  For example, these are some possible API 
examples (not exhaustive)

FlightManipulator:
//these do not set pitch or roll angles, these accept magnitudes between,
//lets say, [-1,1] and then the implementation decides how strongly that
//"pushes" the pitch angle or roll angle.
pitch(force)
roll(force)
throttle(force)
etc..

FirstPersonManipulator:
lookHor(speed)
lookVert(speed)
walk(speed)
etc...

ModelManipulator (my new name for a TrackballManipulator):
zoom(amount)
rotate(angle)
etc...

Then there would be separate GUIEventAdapters which are just GUI Event 
Handlers, and these handlers map their specific input to calls to the 
manipulator.  Hence, when the joystick handler receives a joystick event, the 
handler figures out what was pressed or pushed, then requests a business logic 
action from the FlightManipulator, or the FirstPersonManipulator, or the 
ModelManipulator...depending on which manipulator is currently in use.  That 
sound good?

I think the fundamental issue is that someone decided to combine the concept of 
a GUI Event Handler and the concept of a Camera Manipulator....the reason this 
is a problem is because, as stated before, a Camera Manipulator is all business 
logic - it deals only with 3D concepts.  The GUI Event Handler on the other 
hand is sitting in the architecture layer where it knows things about IO (and 
therefore hardware).  Hence we've crossed abstraction layers and now its 
limiting extensions of the system.

What do you think?

Also, J-S, I didn't really understand the point you were trying to make in your 
final paragraph:


> 
> I would suggest that axes be mappable to either an analog axis (say 
> mouse up/down or joystick y axis) or a pair of buttons (one for 
> incrementing and one for decrementing the value). 
> 


Thanks.

Matt[/quote]

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=32586#32586





_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to