[Bf-committers] 6DOF devices branch -state of affairs

Ettore Pasquini ettore_pasquini at 3dconnexion.com
Thu Jun 21 02:23:28 CEST 2007


On 6/12/07 1:32 PM, "Jean-Luc Peurière" <jlp at nerim.net> wrote:

> I committed working code (crudely)  for Os X on the branch :
> 
> you will need the plug-in code too. As we cannot host it in svn, you
> will find it here : http://jlp.nerim.net/dev/6dof/3Dcnxplug-mac.c

I am finally back from other duties and I can dedicate myself to blender...
Well I hope so :-)

I built the code from ndof using scons (on OS X), not without hiccups. I had
to resort to gcc3.3 because some std lib symbols were not being found.
Probably because of ABI incompatibilities of some of the pre-built libs. I
am still not sure if I can assume that the libraries under
darwin-6.1-powerpc were compiled with gcc3.3, and that the libs under
darwin-8.0-powerpc were compiled with gcc4.0. The assumption seems correct
for the darwin-6.1 tree...

> There is some fundamental changes from the original patch.
> 
> First, polling is gone and we use system events to signal blender new
> values are available for NDOF.
> the plug-in write values to a memory place furnished at init by main
> code. (this could be packaged in the system event, but works ok like
> that)
> 
> This has 2 advantages, the plug-in use no more a callback which could
> be seen as linking, and blend nicely with how other events are handled.
> The API is so down to 3 functions. It is compatible also with how i
> plan to do HID.

I agree. The resulting code is much cleaner too.

> I hope we will be able to do the same on windows and linux, it is
> imho much better than polling.

I still have to review my one-month old implementation code for Windows
(still pretty crude), but I remember it was using something very similar  to
what you did.


> We will now have to define the features we want for this device :
> 
> * Only view and cameras, or also objects transforms ?
> * if the latter, how we link with manipulators (same functionality) ?

Do you mean using the device to modify (strech, etc) the object? I don't
think we normally do that with our devices.

Camera mode should be included. However, how important is it in the typical
blender workflow? How often is it used compared to the other views?

> * which centering modes make sense ?

Not sure I understand this one.

> * Dominant modes, translation, rotations only ?

The dominant mode and other switches come free from our Pref Pane, once you
add a Blender config.

> * Can we find meaningful uses for the 2D views ?

We could disable some degrees of freedom depending which view you're in.
E.g. If you are in the Top view, you would still be able to pan and zoom and
rotate along the orthogonal axis, but the other rotations could be disabled.
Just an idea.

> * settings go in preferences or in a button pane (i would prefer the
> latter) ?

This can probably be a P2.


Ettore



More information about the Bf-committers mailing list