diff --git a/lib/mac32-gcc40/lib/libOpenThreads.dylib b/lib/mac32-gcc40/lib/libOpenThreads.dylib new file mode 100755 index 0000000..759805d Binary files /dev/null and b/lib/mac32-gcc40/lib/libOpenThreads.dylib differ diff --git a/lib/mac32-gcc40/lib/libosg.dylib b/lib/mac32-gcc40/lib/libosg.dylib new file mode 100755 index 0000000..20b19fb Binary files /dev/null and b/lib/mac32-gcc40/lib/libosg.dylib differ diff --git a/lib/mac32-gcc40/lib/libosgAnimation.dylib b/lib/mac32-gcc40/lib/libosgAnimation.dylib new file mode 100755 index 0000000..df4115b Binary files /dev/null and b/lib/mac32-gcc40/lib/libosgAnimation.dylib differ diff --git a/lib/mac32-gcc40/lib/libosgDB.dylib b/lib/mac32-gcc40/lib/libosgDB.dylib new file mode 100755 index 0000000..6c77fa7 Binary files /dev/null and b/lib/mac32-gcc40/lib/libosgDB.dylib differ diff --git a/lib/mac32-gcc40/lib/libosgFX.dylib b/lib/mac32-gcc40/lib/libosgFX.dylib new file mode 100755 index 0000000..01f96e2 Binary files /dev/null and b/lib/mac32-gcc40/lib/libosgFX.dylib differ diff --git a/lib/mac32-gcc40/lib/libosgGA.dylib b/lib/mac32-gcc40/lib/libosgGA.dylib new file mode 100755 index 0000000..e15e502 Binary files /dev/null and b/lib/mac32-gcc40/lib/libosgGA.dylib differ diff --git a/lib/mac32-gcc40/lib/libosgManipulator.dylib b/lib/mac32-gcc40/lib/libosgManipulator.dylib new file mode 100755 index 0000000..ebc4b3f Binary files /dev/null and b/lib/mac32-gcc40/lib/libosgManipulator.dylib differ diff --git a/lib/mac32-gcc40/lib/libosgParticle.dylib b/lib/mac32-gcc40/lib/libosgParticle.dylib new file mode 100755 index 0000000..7bb166c Binary files /dev/null and b/lib/mac32-gcc40/lib/libosgParticle.dylib differ diff --git a/lib/mac32-gcc40/lib/libosgPresentation.dylib b/lib/mac32-gcc40/lib/libosgPresentation.dylib new file mode 100755 index 0000000..7176352 Binary files /dev/null and b/lib/mac32-gcc40/lib/libosgPresentation.dylib differ diff --git a/lib/mac32-gcc40/lib/libosgShadow.dylib b/lib/mac32-gcc40/lib/libosgShadow.dylib new file mode 100755 index 0000000..45a136c Binary files /dev/null and b/lib/mac32-gcc40/lib/libosgShadow.dylib differ diff --git a/lib/mac32-gcc40/lib/libosgSim.dylib b/lib/mac32-gcc40/lib/libosgSim.dylib new file mode 100755 index 0000000..782cf31 Binary files /dev/null and b/lib/mac32-gcc40/lib/libosgSim.dylib differ diff --git a/lib/mac32-gcc40/lib/libosgTerrain.dylib b/lib/mac32-gcc40/lib/libosgTerrain.dylib new file mode 100755 index 0000000..1ee6de1 Binary files /dev/null and b/lib/mac32-gcc40/lib/libosgTerrain.dylib differ diff --git a/lib/mac32-gcc40/lib/libosgText.dylib b/lib/mac32-gcc40/lib/libosgText.dylib new file mode 100755 index 0000000..5b6c38d Binary files /dev/null and b/lib/mac32-gcc40/lib/libosgText.dylib differ diff --git a/lib/mac32-gcc40/lib/libosgUtil.dylib b/lib/mac32-gcc40/lib/libosgUtil.dylib new file mode 100755 index 0000000..412e317 Binary files /dev/null and b/lib/mac32-gcc40/lib/libosgUtil.dylib differ diff --git a/lib/mac32-gcc40/lib/libosgViewer.dylib b/lib/mac32-gcc40/lib/libosgViewer.dylib new file mode 100755 index 0000000..679e970 Binary files /dev/null and b/lib/mac32-gcc40/lib/libosgViewer.dylib differ diff --git a/lib/mac32-gcc40/lib/libosgVolume.dylib b/lib/mac32-gcc40/lib/libosgVolume.dylib new file mode 100755 index 0000000..779c1c5 Binary files /dev/null and b/lib/mac32-gcc40/lib/libosgVolume.dylib differ diff --git a/lib/mac32-gcc40/lib/libosgWidget.dylib b/lib/mac32-gcc40/lib/libosgWidget.dylib new file mode 100755 index 0000000..c4accd7 Binary files /dev/null and b/lib/mac32-gcc40/lib/libosgWidget.dylib differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_3dc.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_3dc.so new file mode 100755 index 0000000..dbdc4c9 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_3dc.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_3ds.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_3ds.so new file mode 100755 index 0000000..5edbc25 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_3ds.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_QTKit.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_QTKit.so new file mode 100755 index 0000000..d8ac69a Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_QTKit.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_ac.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_ac.so new file mode 100755 index 0000000..761d0c5 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_ac.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_bmp.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_bmp.so new file mode 100755 index 0000000..5ca5ae6 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_bmp.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_bsp.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_bsp.so new file mode 100755 index 0000000..aa0ec07 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_bsp.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_bvh.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_bvh.so new file mode 100755 index 0000000..3091b03 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_bvh.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_cfg.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_cfg.so new file mode 100755 index 0000000..8bb07e8 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_cfg.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_curl.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_curl.so new file mode 100755 index 0000000..22212ef Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_curl.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_dds.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_dds.so new file mode 100755 index 0000000..0298a6d Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_dds.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osg.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osg.so new file mode 100755 index 0000000..7826635 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osg.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osganimation.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osganimation.so new file mode 100755 index 0000000..02c8f90 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osganimation.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgfx.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgfx.so new file mode 100755 index 0000000..a310815 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgfx.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgparticle.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgparticle.so new file mode 100755 index 0000000..e25fc66 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgparticle.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgshadow.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgshadow.so new file mode 100755 index 0000000..e9943cd Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgshadow.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgsim.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgsim.so new file mode 100755 index 0000000..ed69cca Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgsim.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgterrain.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgterrain.so new file mode 100755 index 0000000..532bc52 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgterrain.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgtext.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgtext.so new file mode 100755 index 0000000..afad2a9 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgtext.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgviewer.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgviewer.so new file mode 100755 index 0000000..f787a06 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgviewer.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgvolume.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgvolume.so new file mode 100755 index 0000000..79dfb09 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgvolume.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgwidget.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgwidget.so new file mode 100755 index 0000000..6d502b7 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_deprecated_osgwidget.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_dicom.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_dicom.so new file mode 100755 index 0000000..71539ce Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_dicom.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_dot.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_dot.so new file mode 100755 index 0000000..cb781e6 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_dot.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_dw.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_dw.so new file mode 100755 index 0000000..04029ee Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_dw.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_dxf.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_dxf.so new file mode 100755 index 0000000..771ae80 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_dxf.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_freetype.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_freetype.so new file mode 100755 index 0000000..0a14fa4 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_freetype.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_geo.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_geo.so new file mode 100755 index 0000000..65e54a6 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_geo.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_glsl.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_glsl.so new file mode 100755 index 0000000..8188e97 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_glsl.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_gz.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_gz.so new file mode 100755 index 0000000..08462e1 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_gz.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_hdr.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_hdr.so new file mode 100755 index 0000000..45a0a78 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_hdr.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_imageio.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_imageio.so new file mode 100755 index 0000000..0ec723f Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_imageio.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_ive.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_ive.so new file mode 100755 index 0000000..aac8353 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_ive.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_logo.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_logo.so new file mode 100755 index 0000000..fca3d3c Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_logo.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_lwo.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_lwo.so new file mode 100755 index 0000000..7891a58 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_lwo.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_lws.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_lws.so new file mode 100755 index 0000000..5273893 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_lws.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_md2.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_md2.so new file mode 100755 index 0000000..ce0d3fa Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_md2.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_mdl.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_mdl.so new file mode 100755 index 0000000..3e64426 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_mdl.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_normals.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_normals.so new file mode 100755 index 0000000..16c389c Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_normals.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_obj.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_obj.so new file mode 100755 index 0000000..067f960 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_obj.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_openflight.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_openflight.so new file mode 100755 index 0000000..1b1c5fe Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_openflight.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osg.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osg.so new file mode 100755 index 0000000..3efff46 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osg.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osga.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osga.so new file mode 100755 index 0000000..e9cda30 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osga.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osgshadow.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osgshadow.so new file mode 100755 index 0000000..7ac5069 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osgshadow.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osgterrain.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osgterrain.so new file mode 100755 index 0000000..4448973 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osgterrain.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osgtgz.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osgtgz.so new file mode 100755 index 0000000..6342534 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osgtgz.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osgviewer.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osgviewer.so new file mode 100755 index 0000000..e68c27a Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_osgviewer.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_p3d.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_p3d.so new file mode 100755 index 0000000..c0f3d33 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_p3d.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_pic.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_pic.so new file mode 100755 index 0000000..c85c259 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_pic.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_ply.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_ply.so new file mode 100755 index 0000000..a82ad3e Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_ply.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_pnm.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_pnm.so new file mode 100755 index 0000000..d25465b Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_pnm.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_pov.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_pov.so new file mode 100755 index 0000000..0e2bcfb Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_pov.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_pvr.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_pvr.so new file mode 100755 index 0000000..52b60f5 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_pvr.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_qt.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_qt.so new file mode 100755 index 0000000..1569a41 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_qt.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_revisions.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_revisions.so new file mode 100755 index 0000000..764c706 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_revisions.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_rgb.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_rgb.so new file mode 100755 index 0000000..4c3d928 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_rgb.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_rot.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_rot.so new file mode 100755 index 0000000..3514d95 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_rot.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_scale.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_scale.so new file mode 100755 index 0000000..2189979 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_scale.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osg.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osg.so new file mode 100755 index 0000000..abb5bad Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osg.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osganimation.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osganimation.so new file mode 100755 index 0000000..267aaf9 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osganimation.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgfx.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgfx.so new file mode 100755 index 0000000..1f8ebcf Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgfx.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgmanipulator.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgmanipulator.so new file mode 100755 index 0000000..0590b7e Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgmanipulator.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgparticle.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgparticle.so new file mode 100755 index 0000000..efa7756 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgparticle.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgshadow.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgshadow.so new file mode 100755 index 0000000..95d65bc Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgshadow.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgsim.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgsim.so new file mode 100755 index 0000000..57ba67b Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgsim.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgterrain.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgterrain.so new file mode 100755 index 0000000..810942f Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgterrain.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgtext.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgtext.so new file mode 100755 index 0000000..c7ab0dd Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgtext.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgvolume.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgvolume.so new file mode 100755 index 0000000..a1bfe0a Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_serializers_osgvolume.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_shp.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_shp.so new file mode 100755 index 0000000..6cb051b Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_shp.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_stl.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_stl.so new file mode 100755 index 0000000..0de2e65 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_stl.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_tga.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_tga.so new file mode 100755 index 0000000..eb16128 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_tga.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_tgz.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_tgz.so new file mode 100755 index 0000000..dd9aadd Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_tgz.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_trans.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_trans.so new file mode 100755 index 0000000..81f3da7 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_trans.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_txf.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_txf.so new file mode 100755 index 0000000..700faa1 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_txf.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_txp.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_txp.so new file mode 100755 index 0000000..73591f9 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_txp.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_vtf.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_vtf.so new file mode 100755 index 0000000..a381858 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_vtf.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_x.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_x.so new file mode 100755 index 0000000..ae67e6c Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_x.so differ diff --git a/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_zip.so b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_zip.so new file mode 100755 index 0000000..17fbf22 Binary files /dev/null and b/lib/mac32-gcc40/lib/osgPlugins-3.0.1/osgdb_zip.so differ diff --git a/qgroundcontrol.pri b/qgroundcontrol.pri index 2cb71e0..a79da33 100644 --- a/qgroundcontrol.pri +++ b/qgroundcontrol.pri @@ -92,10 +92,12 @@ macx { QMAKE_POST_LINK += && cp -f $$BASEDIR/images/style-outdoor.css $$TARGETDIR/qgroundcontrol.app/Contents/MacOS # Copy parameter tooltip files QMAKE_POST_LINK += && cp -rf $$BASEDIR/files $$TARGETDIR/qgroundcontrol.app/Contents/MacOS + # Copy libraries + QMAKE_POST_LINK += && cp -rf $$BASEDIR/lib/mac32-gcc40/lib/* $$TARGETDIR/qgroundcontrol.app/Contents/MacOS # Copy model files #QMAKE_POST_LINK += && cp -f $$BASEDIR/models/*.dae $$TARGETDIR/qgroundcontrol.app/Contents/MacOs - exists(/Library/Frameworks/osg.framework):exists(/Library/Frameworks/OpenThreads.framework) { + #exists(/Library/Frameworks/osg.framework):exists(/Library/Frameworks/OpenThreads.framework) { # No check for GLUT.framework since it's a MAC default message("Building support for OpenSceneGraph") DEPENDENCIES_PRESENT += osg @@ -103,24 +105,19 @@ macx { # Include OpenSceneGraph libraries INCLUDEPATH += -framework GLUT \ -framework Cocoa \ - -framework OpenThreads \ - -framework osg \ - -framework osgViewer \ - -framework osgGA \ - -framework osgDB \ - -framework osgText \ - -framework osgWidget + $$BASEDIR/lib/mac32-gcc40/include LIBS += -framework GLUT \ -framework Cocoa \ - -framework OpenThreads \ - -framework osg \ - -framework osgViewer \ - -framework osgGA \ - -framework osgDB \ - -framework osgText \ - -framework osgWidget - } + -L$$BASEDIR/lib/mac32-gcc40/lib \ + -lOpenThreads \ + -losg \ + -losgViewer \ + -losgGA \ + -losgDB \ + -losgText \ + -losgWidget + #} exists(/opt/local/include/libfreenect)|exists(/usr/local/include/libfreenect) { message("Building support for libfreenect") @@ -180,15 +177,6 @@ message("Compiling for linux 32") DEFINES += QGC_OSG_ENABLED } - exists(/usr/include/osgEarth):exists(/usr/include/osg) | exists(/usr/local/include/osgEarth):exists(/usr/include/osg) { - message("Building support for osgEarth") - DEPENDENCIES_PRESENT += osgearth - # Include osgEarth libraries - LIBS += -losgEarth \ - -losgEarthUtil - DEFINES += QGC_OSGEARTH_ENABLED - } - exists(/usr/local/include/libfreenect/libfreenect.h) { message("Building support for libfreenect") DEPENDENCIES_PRESENT += libfreenect @@ -257,15 +245,6 @@ linux-g++-64 { DEFINES += QGC_OSG_ENABLED } - exists(/usr/include/osgEarth) { - message("Building support for osgEarth") - DEPENDENCIES_PRESENT += osgearth - # Include osgEarth libraries - LIBS += -losgEarth \ - -losgEarthUtil - DEFINES += QGC_OSGEARTH_ENABLED - } - exists(/usr/local/include/libfreenect) { message("Building support for libfreenect") DEPENDENCIES_PRESENT += libfreenect diff --git a/qgroundcontrol.pro b/qgroundcontrol.pro index 8b79dbc..69d0248 100644 --- a/qgroundcontrol.pro +++ b/qgroundcontrol.pro @@ -361,7 +361,6 @@ contains(DEPENDENCIES_PRESENT, osg) { HEADERS += src/ui/map3D/Q3DWidget.h \ src/ui/map3D/GCManipulator.h \ src/ui/map3D/ImageWindowGeode.h \ - src/ui/map3D/QOSGWidget.h \ src/ui/map3D/PixhawkCheetahGeode.h \ src/ui/map3D/Pixhawk3DWidget.h \ src/ui/map3D/Q3DWidgetFactory.h \ @@ -372,12 +371,6 @@ contains(DEPENDENCIES_PRESENT, osg) { src/ui/map3D/Imagery.h \ src/ui/map3D/HUDScaleGeode.h \ src/ui/map3D/WaypointGroupNode.h - contains(DEPENDENCIES_PRESENT, osgearth) { - message("Including headers for OSGEARTH") - - # Enable only if OpenSceneGraph is available - HEADERS += src/ui/map3D/QMap3D.h - } } contains(DEPENDENCIES_PRESENT, libfreenect) { message("Including headers for libfreenect") @@ -491,7 +484,6 @@ contains(DEPENDENCIES_PRESENT, osg) { SOURCES += src/ui/map3D/Q3DWidget.cc \ src/ui/map3D/ImageWindowGeode.cc \ src/ui/map3D/GCManipulator.cc \ - src/ui/map3D/QOSGWidget.cc \ src/ui/map3D/PixhawkCheetahGeode.cc \ src/ui/map3D/Pixhawk3DWidget.cc \ src/ui/map3D/Q3DWidgetFactory.cc \ diff --git a/src/ui/map3D/PixhawkCheetahGeode.cc b/src/ui/map3D/PixhawkCheetahGeode.cc index 561f111..7853519 100644 --- a/src/ui/map3D/PixhawkCheetahGeode.cc +++ b/src/ui/map3D/PixhawkCheetahGeode.cc @@ -30,9 +30,8 @@ This file is part of the QGROUNDCONTROL project * */ -#include "PixhawkCheetahGeode.h" - #include +#include "PixhawkCheetahGeode.h" struct sample_MATERIAL { GLfloat ambient[3]; diff --git a/src/ui/map3D/QOSGWidget.cc b/src/ui/map3D/QOSGWidget.cc deleted file mode 100644 index 0efaba8..0000000 --- a/src/ui/map3D/QOSGWidget.cc +++ /dev/null @@ -1,289 +0,0 @@ -/* OpenSceneGraph example, osganimate. -* -* Permission is hereby granted, free of charge, to any person obtaining a copy -* of this software and associated documentation files (the "Software"), to deal -* in the Software without restriction, including without limitation the rights -* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -* copies of the Software, and to permit persons to whom the Software is -* furnished to do so, subject to the following conditions: -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -* THE SOFTWARE. -*/ - -#include "QOSGWidget.h" - -#ifdef Q_OS_MACX - -#endif - -QOSGWidget::QOSGWidget( QWidget * parent, const char * name, WindowFlags f, bool overrideTraits): - QWidget(parent, f), _overrideTraits (overrideTraits) -{ - createContext(); - Q_UNUSED(name); - setAttribute(Qt::WA_PaintOnScreen); - setAttribute(Qt::WA_NoSystemBackground); - setFocusPolicy(Qt::ClickFocus); -} - -void QOSGWidget::createContext() -{ - osg::DisplaySettings* ds = osg::DisplaySettings::instance(); - - osg::ref_ptr traits = new osg::GraphicsContext::Traits; - - traits->readDISPLAY(); - if (traits->displayNum<0) traits->displayNum = 0; - - traits->windowName = "osgViewerQt"; - traits->screenNum = 0; - traits->x = x(); - traits->y = y(); - traits->width = width(); - traits->height = height(); - traits->alpha = ds->getMinimumNumAlphaBits(); - traits->stencil = ds->getMinimumNumStencilBits(); - traits->windowDecoration = false; - traits->doubleBuffer = true; - traits->sharedContext = 0; - traits->sampleBuffers = ds->getMultiSamples(); - traits->samples = ds->getNumMultiSamples(); - -#if defined(__APPLE__) - // Extract a WindowPtr from the HIViewRef that QWidget::winId() returns. - // Without this change, the peer tries to call GetWindowPort on the HIViewRef - // which returns 0 and we only render white. - traits->inheritedWindowData = new WindowData(HIViewGetWindow((HIViewRef)winId())); - -#else // all others - traits->inheritedWindowData = new WindowData(winId()); -#endif - - - if (ds->getStereo()) { - switch(ds->getStereoMode()) { - case(osg::DisplaySettings::QUAD_BUFFER): - traits->quadBufferStereo = true; - break; - case(osg::DisplaySettings::VERTICAL_INTERLACE): - case(osg::DisplaySettings::CHECKERBOARD): - case(osg::DisplaySettings::HORIZONTAL_INTERLACE): - traits->stencil = 8; - break; - default: - break; - } - } - - osg::ref_ptr gc = osg::GraphicsContext::createGraphicsContext(traits.get()); - _gw = dynamic_cast(gc.get()); - - // get around dearanged traits on X11 (MTCompositeViewer only) - if (_overrideTraits) { - traits->x = x(); - traits->y = y(); - traits->width = width(); - traits->height = height(); - } - -} - -#ifndef WIN32 -void QOSGWidget::destroyEvent(bool destroyWindow, bool destroySubWindows) -{ - Q_UNUSED(destroyWindow); - Q_UNUSED(destroySubWindows); - _gw->getEventQueue()->closeWindow(); -} - - -void QOSGWidget::closeEvent( QCloseEvent * event ) -{ - event->accept(); - - _gw->getEventQueue()->closeWindow(); -} - - -void QOSGWidget::resizeEvent( QResizeEvent * event ) -{ - const QSize & size = event->size(); - _gw->getEventQueue()->windowResize(0, 0, size.width(), size.height() ); - _gw->resized(0, 0, size.width(), size.height()); -} - -void QOSGWidget::keyPressEvent( QKeyEvent* event ) -{ - _gw->getEventQueue()->keyPress( (osgGA::GUIEventAdapter::KeySymbol) *(event->text().toAscii().data() ) ); -} - -void QOSGWidget::keyReleaseEvent( QKeyEvent* event ) -{ - int c = *event->text().toAscii().data(); - - _gw->getEventQueue()->keyRelease( (osgGA::GUIEventAdapter::KeySymbol) (c) ); -} - -void QOSGWidget::mousePressEvent( QMouseEvent* event ) -{ - int button = 0; - switch(event->button()) { - case(Qt::LeftButton): - button = 1; - break; - case(Qt::MidButton): - button = 2; - break; - case(Qt::RightButton): - button = 3; - break; - case(Qt::NoButton): - button = 0; - break; - default: - button = 0; - break; - } - _gw->getEventQueue()->mouseButtonPress(event->x(), event->y(), button); -} -void QOSGWidget::mouseDoubleClickEvent ( QMouseEvent * event ) -{ - int button = 0; - switch(event->button()) { - case(Qt::LeftButton): - button = 1; - break; - case(Qt::MidButton): - button = 2; - break; - case(Qt::RightButton): - button = 3; - break; - case(Qt::NoButton): - button = 0; - break; - default: - button = 0; - break; - } - _gw->getEventQueue()->mouseDoubleButtonPress(event->x(), event->y(), button); -} -void QOSGWidget::mouseReleaseEvent( QMouseEvent* event ) -{ - int button = 0; - switch(event->button()) { - case(Qt::LeftButton): - button = 1; - break; - case(Qt::MidButton): - button = 2; - break; - case(Qt::RightButton): - button = 3; - break; - case(Qt::NoButton): - button = 0; - break; - default: - button = 0; - break; - } - _gw->getEventQueue()->mouseButtonRelease(event->x(), event->y(), button); -} - -void QOSGWidget::mouseMoveEvent( QMouseEvent* event ) -{ - _gw->getEventQueue()->mouseMotion(event->x(), event->y()); -} -#endif - - - - -void CompositeViewerQOSG::Tile() -{ - int n = getNumViews() - 1; // -1 to account for dummy view - - for ( int i = 0; i < n; ++i ) { - osgViewer::View * view = getView(i+1); // +1 to account for dummy view - view->getCamera()->setViewport( new osg::Viewport( 0, i*height()/n , width(), height()/n ) ); - view->getCamera()->setProjectionMatrixAsPerspective( 30.0f, double( width() ) / double( height()/n ), 1.0f, 10000.0f ); - } -} - - -void CompositeViewerQOSG::AddView( osg::Node * scene ) -{ - osgViewer::View* view = new osgViewer::View; - addView(view); - - view->setSceneData( scene ); - view->setCameraManipulator(new osgGA::TrackballManipulator); - - // add the state manipulator - osg::ref_ptr statesetManipulator = new osgGA::StateSetManipulator; - statesetManipulator->setStateSet(view->getCamera()->getOrCreateStateSet()); - - view->getCamera()->setGraphicsContext( getGraphicsWindow() ); - view->getCamera()->setClearColor( osg::Vec4( 0.08, 0.08, 0.5, 1.0 ) ); - Tile(); -} - -void CompositeViewerQOSG::RemoveView() -{ - if ( getNumViews() > 1 ) { - removeView( getView( getNumViews() - 1 ) ); - } - Tile(); -} - -// we use this wrapper for CompositeViewer ONLY because of the timer -// NOTE: this is a workaround because we're not using QT's moc precompiler here. -// -class QViewerTimer : public QWidget -{ - -public: - - QViewerTimer (int fps = 20, QWidget * parent = 0, WindowFlags f = 0): - QWidget (parent, f) { - _viewer = new osgViewer::CompositeViewer (); - _viewer->setThreadingModel(osgViewer::CompositeViewer::DrawThreadPerContext); - connect(&_timer, SIGNAL(timeout()), this, SLOT(repaint())); - _timer.start(1000.0f/fps); - } - - ~QViewerTimer () { - _timer.stop (); - } - - virtual void paintEvent (QPaintEvent * event) { - Q_UNUSED(event); - _viewer->frame(); - } - - osg::ref_ptr _viewer; - QTimer _timer; - -}; - -void setupHandlers(osgViewer::View * viewer) -{ - // add the state manipulator - viewer->addEventHandler( new osgGA::StateSetManipulator(viewer->getCamera()->getOrCreateStateSet()) ); - - // add the thread model handler - viewer->addEventHandler(new osgViewer::ThreadingHandler); - - // add the window size toggle handler - viewer->addEventHandler(new osgViewer::WindowSizeHandler); - - // add the stats handler - viewer->addEventHandler(new osgViewer::StatsHandler); -} diff --git a/src/ui/map3D/QOSGWidget.h b/src/ui/map3D/QOSGWidget.h deleted file mode 100644 index 85a2128..0000000 --- a/src/ui/map3D/QOSGWidget.h +++ /dev/null @@ -1,197 +0,0 @@ -/* OpenSceneGraph example, osganimate. -* -* Permission is hereby granted, free of charge, to any person obtaining a copy -* of this software and associated documentation files (the "Software"), to deal -* in the Software without restriction, including without limitation the rights -* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -* copies of the Software, and to permit persons to whom the Software is -* furnished to do so, subject to the following conditions: -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -* THE SOFTWARE. -*/ - -#include - -#if defined(_MSC_VER) && defined(OSG_DISABLE_MSVC_WARNINGS) -// disable warning "'QtConcurrent::BlockSizeManager' : assignment operator could not be generated" -#pragma warning( disable : 4512 ) -#endif - -#include -#include -#include -#include -#include -#include -using Qt::WindowFlags; - -#include -#include -#include -#include - -#include - -#if defined(WIN32) && !defined(__CYGWIN__) -#include -typedef HWND WindowHandle; -typedef osgViewer::GraphicsWindowWin32::WindowData WindowData; -#elif defined(__APPLE__) // Assume using Carbon on Mac. -#include -typedef WindowRef WindowHandle; -typedef osgViewer::GraphicsWindowCarbon::WindowData WindowData; -#else // all other unix -#include -typedef Window WindowHandle; -typedef osgViewer::GraphicsWindowX11::WindowData WindowData; -#endif - - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include - -#ifndef QOSGWIDGET_H -#define QOSGWIDGET_H - -class QOSGWidget : public QWidget -{ -public: - - QOSGWidget( QWidget * parent = 0, const char * name = 0, WindowFlags f = 0, bool overrideTraits = false); - - virtual ~QOSGWidget() {} - - osgViewer::GraphicsWindow* getGraphicsWindow() { - return _gw.get(); - } - const osgViewer::GraphicsWindow* getGraphicsWindow() const { - return _gw.get(); - } - -protected: - - void init(); - void createContext(); - - // The GraphincsWindowWin32 implementation already takes care of message handling. - // We don't want to relay these on Windows, it will just cause duplicate messages - // with further problems downstream (i.e. not being able to throw the trackball -#ifndef WIN32 - virtual void mouseDoubleClickEvent ( QMouseEvent * event ); - virtual void closeEvent( QCloseEvent * event ); - virtual void destroyEvent( bool destroyWindow = true, bool destroySubWindows = true); - virtual void resizeEvent( QResizeEvent * event ); - virtual void keyPressEvent( QKeyEvent* event ); - virtual void keyReleaseEvent( QKeyEvent* event ); - virtual void mousePressEvent( QMouseEvent* event ); - virtual void mouseReleaseEvent( QMouseEvent* event ); - virtual void mouseMoveEvent( QMouseEvent* event ); -#endif - osg::ref_ptr _gw; - bool _overrideTraits; -}; - -class ViewerQOSG : public osgViewer::Viewer, public QOSGWidget -{ -public: - - ViewerQOSG(QWidget * parent = 0, const char * name = 0, WindowFlags f = 0, int fps = 20): - QOSGWidget( parent, name, f ) { - setThreadingModel(osgViewer::Viewer::SingleThreaded); - - connect(&_timer, SIGNAL(timeout()), this, SLOT(update())); - _timer.start(1000.0f/fps); - } - - void updateCamera() { - getCamera()->setViewport(new osg::Viewport(0,0,width(),height())); - getCamera()->setProjectionMatrixAsPerspective(30.0f, 1.0f , static_cast(width())/static_cast(height()), 10000.0f); - getCamera()->setGraphicsContext(getGraphicsWindow()); - } - - virtual void paintEvent( QPaintEvent * event ) { - Q_UNUSED(event); - frame(); - } - -protected: - - QTimer _timer; -}; - - -class CompositeViewerQOSG : public osgViewer::CompositeViewer, public QOSGWidget -{ -public: - CompositeViewerQOSG(QWidget * parent = 0, const char * name = 0, WindowFlags f = 0, int fps = 20) - : QOSGWidget( parent, name, f ) { - setThreadingModel(osgViewer::CompositeViewer::SingleThreaded); - - connect(&_timer, SIGNAL(timeout()), this, SLOT(repaint())); - - // The composite viewer needs at least one view to work - // Create a dummy view with a zero sized viewport and no - // scene to keep the viewer alive. - osgViewer::View * pView = new osgViewer::View; - pView->getCamera()->setGraphicsContext( getGraphicsWindow() ); - pView->getCamera()->setViewport( 0, 0, 0, 0 ); - addView( pView ); - - // Clear the viewer of removed views - getGraphicsWindow()->setClearMask( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); - getGraphicsWindow()->setClearColor( osg::Vec4( 0.08, 0.08, 0.5, 1.0 ) ); - - // The app would hang on exit when using start(1). Behaves better with 10 - // like the non-composite viewer. Was this just a typo? - _timer.start(1000.0f/fps); - } - - virtual void paintEvent( QPaintEvent * event ) { - Q_UNUSED(event); - frame(); - } - - void keyPressEvent( QKeyEvent* event ) { - if ( event->text() == "a" ) { - AddView( _scene.get() ); - } - - if ( event->text() == "r" ) { - RemoveView(); - } - - QOSGWidget::keyPressEvent( event ); - } - - - void AddView( osg::Node * scene ); - void RemoveView(); - void Tile(); - - osg::ref_ptr< osg::Node > _scene; - -protected: - QTimer _timer; -}; - -void setupHandlers(osgViewer::View * viewer); - - -#endif // QOSGWIDGET_H -