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

Jir(í Hnídek jiri.hnidek at tul.cz
Wed Jun 13 16:23:41 CEST 2007


Hi Jean-Luc,
I tried your "patch" and it works :-). I noticed several build errors,
but I compiled it finaly.

Jean-Luc Peurière 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
> 
> the plug-in goes in the following folder : $ROOT/intern/ghost/intern/ 
> 3dcnx/
> 
> For weak linking to work you need to define the following variable in  
> shell and export it : MACOSX_DEPLOYMENT_TARGET=10.3
> 
> compile from $ROOT with :
> cc -flat_namespace -bundle -bundle_loader ../build/darwin/bin/ 
> blender.app/Contents/MacOS/blender intern/ghost/intern/3dcnx/*.c -I/ 
> library/Frameworks/3DconnexionClient.framework/Headers - 
> weak_framework 3DconnexionClient  -lc -fpascal-strings -o spaceplug.plug
>

intern/ghost/intern/3dcnx/3Dcnxplug-mac.c: In function 'MyMessageHandler':
intern/ghost/intern/3dcnx/3Dcnxplug-mac.c:86: error: 'struct
<anonymous>' has no member named 'address'
intern/ghost/intern/3dcnx/3Dcnxplug-mac.c:103: error: 'struct
<anonymous>' has no member named 'address'

I fixed build errors with uncommenting lines 86 and 103. May be, I have
old SDK.

There were some problem with tools/btools.py too. Newer version from
trunk fixed build problem too (module subprocess).

> 
> 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.
> 
> As the device returns ints values (as will any HID device), we use  
> that in GHOST instead  of floats.
> Floats are still used in ghostwinlay.c
> 
> I hope we will be able to do the same on windows and linux, it is  
> imho much better than polling.
> 
> 
> Only non-camera 3Dview transform works now.
> 
> 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) ?
> * which centering modes make sense ?
> * Dominant modes, translation, rotations only ?
> * Can we find meaningful uses for the 2D views ?
> * settings go in preferences or in a button pane (i would prefer the  
> latter) ?
> 

There should be preferences ... I would expect rotation and movement of
view in different direction. Buttons should have some functionality
(move view to some base view, view all, etc.)

Best regards,

Jiri
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jiri.hnidek.vcf
Type: text/x-vcard
Size: 430 bytes
Desc: not available
Url : http://lists.blender.org/pipermail/bf-committers/attachments/20070613/7265cea8/attachment.vcf 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3241 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.blender.org/pipermail/bf-committers/attachments/20070613/7265cea8/attachment.bin 


More information about the Bf-committers mailing list