diff --git a/qgroundcontrol.pri b/qgroundcontrol.pri index 5711d9d..d94bb42 100644 --- a/qgroundcontrol.pri +++ b/qgroundcontrol.pri @@ -34,6 +34,11 @@ release { # DEFINES += QT_NO_WARNING_OUTPUT } +QMAKE_PRE_LINK += echo "Copying files" + +#QMAKE_PRE_LINK += && cp -rf $$BASEDIR/models $$TARGETDIR/debug/. +#QMAKE_PRE_LINK += && cp -rf $$BASEDIR/models $$TARGETDIR/release/. + # MAC OS X macx { @@ -102,8 +107,6 @@ macx { # GNU/Linux linux-g++ { - - CONFIG += debug debug { DESTDIR = $$BUILDDIR/debug @@ -170,7 +173,7 @@ linux-g++ { DEFINES += QGC_LIBFREENECT_ENABLED } - QMAKE_CXXFLAGS += -Wl,-E + #QMAKE_CXXFLAGS += -Wl,-E #-lflite_cmu_us_rms \ #-lflite_cmu_us_slt \ @@ -267,7 +270,9 @@ win32-msvc2008 { QMAKE_PRE_LINK += cp -f $$BASEDIR/lib/sdl/win32/SDL.dll $$TARGETDIR/debug/. && QMAKE_PRE_LINK += cp -f $$BASEDIR/lib/sdl/win32/SDL.dll $$TARGETDIR/release/. && QMAKE_PRE_LINK += cp -rf $$BASEDIR/audio $$TARGETDIR/debug/. && - QMAKE_PRE_LINK += cp -rf $$BASEDIR/audio $$TARGETDIR/release/. + QMAKE_PRE_LINK += cp -rf $$BASEDIR/audio $$TARGETDIR/release/. && + QMAKE_PRE_LINK += cp -rf $$BASEDIR/models $$TARGETDIR/debug/. && + QMAKE_PRE_LINK += cp -rf $$BASEDIR/models $$TARGETDIR/release/. } # Windows (32bit) @@ -300,8 +305,10 @@ win32-g++ { # Copy dependencies QMAKE_PRE_LINK += cp -f $$BASEDIR/lib/sdl/win32/SDL.dll $$BUILDDIR/debug/. && QMAKE_PRE_LINK += cp -f $$BASEDIR/lib/sdl/win32/SDL.dll $$BUILDDIR/release/. && - QMAKE_PRE_LINK += cp -rf $$BASEDIR/audio $$BUILDDIR/debug/. && - QMAKE_PRE_LINK += cp -rf $$BASEDIR/audio $$BUILDDIR/release/. + QMAKE_PRE_LINK += cp -rf $$BASEDIR/audio $$TARGETDIR/debug/. && + QMAKE_PRE_LINK += cp -rf $$BASEDIR/audio $$TARGETDIR/release/. + QMAKE_PRE_LINK += cp -rf $$BASEDIR/models $$TARGETDIR/debug/. && + QMAKE_PRE_LINK += cp -rf $$BASEDIR/models $$TARGETDIR/release/. } # Windows (64bit) @@ -337,4 +344,3 @@ win64-g++ { QMAKE_PRE_LINK += cp -rf $$BASEDIR/audio $$BUILDDIR/debug/. && QMAKE_PRE_LINK += cp -rf $$BASEDIR/audio $$BUILDDIR/release/. } - diff --git a/src/ui/MainWindow.cc b/src/ui/MainWindow.cc index 9acfb99..5f68ef8 100644 --- a/src/ui/MainWindow.cc +++ b/src/ui/MainWindow.cc @@ -136,8 +136,8 @@ void MainWindow::buildWidgets() protocolWidget = new XMLCommProtocolWidget(this); dataplotWidget = new QGCDataPlot2D(this); #ifdef QGC_OSG_ENABLED - _3DWidget = Q3DWidgetFactory::get("PIXHAWK"); - //_3DWidget = Q3DWidgetFactory::get("MAP3D"); + //_3DWidget = Q3DWidgetFactory::get("PIXHAWK"); + _3DWidget = Q3DWidgetFactory::get("MAP3D"); #endif // Dock widgets diff --git a/src/ui/map3D/Pixhawk3DWidget.cc b/src/ui/map3D/Pixhawk3DWidget.cc index 17003e9..5da7529 100644 --- a/src/ui/map3D/Pixhawk3DWidget.cc +++ b/src/ui/map3D/Pixhawk3DWidget.cc @@ -208,7 +208,7 @@ QVector< osg::ref_ptr > Pixhawk3DWidget::findVehicleModels(void) { QDir directory("models"); - QStringList files = directory.entryList(QStringList("*.osg")); + QStringList files = directory.entryList(QStringList("*.osg"), QDir::Files); QVector< osg::ref_ptr > nodes; @@ -221,9 +221,39 @@ Pixhawk3DWidget::findVehicleModels(void) osg::ref_ptr node = osgDB::readNodeFile(directory.absoluteFilePath(files[i]).toStdString().c_str()); + if (node) + { + nodes.push_back(node); + } + else + { + printf(QString("ERROR: Could not load file " + directory.absoluteFilePath(files[i]) + "\n").toStdString().c_str()); + } } +// QStringList dirs = directory.entryList(QDir::Dirs); +// // Add models in subfolders +// for (int i = 0; i < dirs.size(); ++i) +// { +// // Handling the current directory +// QStringList currFiles = QDir(dirs[i]).entryList(QStringList("*.ac"), QDir::Files); + +// // Load the file +// osg::ref_ptr node = +// osgDB::readNodeFile(directory.absoluteFilePath(currFiles.first()).toStdString().c_str()); + +// if (node) +// { + +// nodes.push_back(node); +// } +// else +// { +// printf(QString("ERROR: Could not load file " + directory.absoluteFilePath(files[i]) + "\n").toStdString().c_str()); +// } +// } + return nodes; }