mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-01-19 04:52:12 +01:00
LP-29 remove modelview sources
This commit is contained in:
parent
80dafbe446
commit
62c8f4c4ad
@ -1,10 +0,0 @@
|
||||
<plugin name="ModelViewGadget" version="1.0.0" compatVersion="1.0.0">
|
||||
<vendor>The OpenPilot Project</vendor>
|
||||
<copyright>(C) 2010 David "Buzz" Carlson</copyright>
|
||||
<license>The GNU Public License (GPL) Version 3</license>
|
||||
<description>A 3D model view gadget</description>
|
||||
<url>http://www.openpilot.org</url>
|
||||
<dependencyList>
|
||||
<dependency name="Core" version="1.0.0"/>
|
||||
</dependencyList>
|
||||
</plugin>
|
Binary file not shown.
Before Width: | Height: | Size: 1.4 KiB |
@ -1,48 +0,0 @@
|
||||
# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
|
||||
# File Created: 14.10.2010 00:38:26
|
||||
|
||||
newmtl red
|
||||
Ns 10.0000
|
||||
Ni 1.5000
|
||||
d 1.0000
|
||||
Tr 0.0000
|
||||
Tf 1.0000 1.0000 1.0000
|
||||
illum 2
|
||||
Ka 1.0000 0.0000 0.0000
|
||||
Kd 1.0000 0.0000 0.0000
|
||||
Ks 0.0000 0.0000 0.0000
|
||||
Ke 0.0000 0.0000 0.0000
|
||||
|
||||
newmtl white
|
||||
Ns 10.0000
|
||||
Ni 1.5000
|
||||
d 1.0000
|
||||
Tr 0.0000
|
||||
Tf 1.0000 1.0000 1.0000
|
||||
illum 2
|
||||
Ka 1.0000 1.0000 1.0000
|
||||
Kd 1.0000 1.0000 1.0000
|
||||
Ks 0.0000 0.0000 0.0000
|
||||
Ke 0.0000 0.0000 0.0000
|
||||
|
||||
newmtl black
|
||||
Ns 10.0000
|
||||
Ni 1.5000
|
||||
d 1.0000
|
||||
Tr 0.0000
|
||||
Tf 1.0000 1.0000 1.0000
|
||||
illum 2
|
||||
Ka 0.0000 0.0000 0.0000
|
||||
Kd 0.0000 0.0000 0.0000
|
||||
Ks 0.0000 0.0000 0.0000
|
||||
Ke 0.0000 0.0000 0.0000
|
||||
|
||||
newmtl wire_000000000
|
||||
Ns 32
|
||||
d 1
|
||||
Tr 0
|
||||
Tf 1 1 1
|
||||
illum 2
|
||||
Ka 0.0000 0.0000 0.0000
|
||||
Kd 0.0000 0.0000 0.0000
|
||||
Ks 0.3500 0.3500 0.3500
|
File diff suppressed because it is too large
Load Diff
@ -1,25 +0,0 @@
|
||||
TEMPLATE = lib
|
||||
TARGET = ModelViewGadget
|
||||
include(../../plugin.pri)
|
||||
include(../../plugins/coreplugin/coreplugin.pri)
|
||||
include(../../libs/glc_lib/glc_lib.pri)
|
||||
include(modelview_dependencies.pri)
|
||||
|
||||
INCLUDEPATH += ../../libs/glc_lib
|
||||
HEADERS += modelviewplugin.h \
|
||||
modelviewgadgetconfiguration.h \
|
||||
modelviewgadget.h \
|
||||
modelviewgadgetwidget.h \
|
||||
modelviewgadgetfactory.h \
|
||||
modelviewgadgetoptionspage.h
|
||||
SOURCES += modelviewplugin.cpp \
|
||||
modelviewgadgetconfiguration.cpp \
|
||||
modelviewgadget.cpp \
|
||||
modelviewgadgetfactory.cpp \
|
||||
modelviewgadgetwidget.cpp \
|
||||
modelviewgadgetoptionspage.cpp
|
||||
OTHER_FILES += ModelViewGadget.pluginspec
|
||||
FORMS += modelviewoptionspage.ui
|
||||
|
||||
RESOURCES += \
|
||||
modelview.qrc
|
@ -1,7 +0,0 @@
|
||||
<RCC>
|
||||
<qresource prefix="/modelview">
|
||||
<file>models/black.jpg</file>
|
||||
<file>models/warning_sign.mtl</file>
|
||||
<file>models/warning_sign.obj</file>
|
||||
</qresource>
|
||||
</RCC>
|
@ -1,3 +0,0 @@
|
||||
include(../../plugins/uavobjects/uavobjects.pri)
|
||||
include(../../plugins/coreplugin/coreplugin.pri)
|
||||
include(../../libs/utils/utils.pri)
|
@ -1,49 +0,0 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file modelviewgadget.cpp
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @addtogroup GCSPlugins GCS Plugins
|
||||
* @{
|
||||
* @addtogroup ModelViewPlugin ModelView Plugin
|
||||
* @{
|
||||
* @brief A gadget that displays a 3D representation of the UAV
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#include "modelviewgadget.h"
|
||||
#include "modelviewgadgetwidget.h"
|
||||
#include "modelviewgadgetconfiguration.h"
|
||||
|
||||
ModelViewGadget::ModelViewGadget(QString classId, ModelViewGadgetWidget *widget, QWidget *parent) :
|
||||
IUAVGadget(classId, parent),
|
||||
m_widget(widget)
|
||||
{}
|
||||
|
||||
ModelViewGadget::~ModelViewGadget()
|
||||
{
|
||||
delete m_widget;
|
||||
}
|
||||
|
||||
void ModelViewGadget::loadConfiguration(IUAVGadgetConfiguration *config)
|
||||
{
|
||||
ModelViewGadgetConfiguration *m = qobject_cast<ModelViewGadgetConfiguration *>(config);
|
||||
|
||||
m_widget->setAcFilename(m->acFilename());
|
||||
m_widget->setBgFilename(m->bgFilename());
|
||||
m_widget->setVboEnable(m->vboEnabled());
|
||||
m_widget->reloadScene();
|
||||
}
|
@ -1,58 +0,0 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file modelviewgadget.h
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @addtogroup GCSPlugins GCS Plugins
|
||||
* @{
|
||||
* @addtogroup ModelViewPlugin ModelView Plugin
|
||||
* @{
|
||||
* @brief A gadget that displays a 3D representation of the UAV
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef MODELVIEWGADGET_H_
|
||||
#define MODELVIEWGADGET_H_
|
||||
|
||||
#include <coreplugin/iuavgadget.h>
|
||||
#include "modelviewgadgetwidget.h"
|
||||
|
||||
class IUAVGadget;
|
||||
class QWidget;
|
||||
class QString;
|
||||
class ModelViewGadgetWidget;
|
||||
|
||||
using namespace Core;
|
||||
|
||||
class ModelViewGadget : public Core::IUAVGadget {
|
||||
Q_OBJECT
|
||||
public:
|
||||
ModelViewGadget(QString classId, ModelViewGadgetWidget *widget, QWidget *parent = 0);
|
||||
~ModelViewGadget();
|
||||
|
||||
QWidget *widget()
|
||||
{
|
||||
return m_widget;
|
||||
}
|
||||
void loadConfiguration(IUAVGadgetConfiguration *config);
|
||||
|
||||
private:
|
||||
ModelViewGadgetWidget *m_widget;
|
||||
};
|
||||
|
||||
|
||||
#endif // MODELVIEWGADGET_H_
|
@ -1,66 +0,0 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file modelviewgadgetconfiguration.cpp
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @addtogroup GCSPlugins GCS Plugins
|
||||
* @{
|
||||
* @addtogroup ModelViewPlugin ModelView Plugin
|
||||
* @{
|
||||
* @brief A gadget that displays a 3D representation of the UAV
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "modelviewgadgetconfiguration.h"
|
||||
#include "utils/pathutils.h"
|
||||
|
||||
ModelViewGadgetConfiguration::ModelViewGadgetConfiguration(QString classId, QSettings *qSettings, QObject *parent) :
|
||||
IUAVGadgetConfiguration(classId, parent),
|
||||
m_acFilename(Utils::GetDataPath() + QString("models/planes/Easystar/EasyStar.3ds")),
|
||||
m_bgFilename(""),
|
||||
m_enableVbo(false)
|
||||
{
|
||||
// if a saved configuration exists load it
|
||||
if (qSettings != 0) {
|
||||
QString modelFile = qSettings->value("acFilename").toString();
|
||||
QString bgFile = qSettings->value("bgFilename").toString();
|
||||
m_enableVbo = qSettings->value("enableVbo").toBool();
|
||||
m_acFilename = Utils::InsertDataPath(modelFile);
|
||||
m_bgFilename = Utils::InsertDataPath(bgFile);
|
||||
}
|
||||
}
|
||||
|
||||
IUAVGadgetConfiguration *ModelViewGadgetConfiguration::clone()
|
||||
{
|
||||
ModelViewGadgetConfiguration *mv = new ModelViewGadgetConfiguration(this->classId());
|
||||
|
||||
mv->m_acFilename = m_acFilename;
|
||||
mv->m_bgFilename = m_bgFilename;
|
||||
mv->m_enableVbo = m_enableVbo;
|
||||
return mv;
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves a configuration.
|
||||
*
|
||||
*/
|
||||
void ModelViewGadgetConfiguration::saveConfig(QSettings *qSettings) const
|
||||
{
|
||||
qSettings->setValue("acFilename", Utils::RemoveDataPath(m_acFilename));
|
||||
qSettings->setValue("bgFilename", Utils::RemoveDataPath(m_bgFilename));
|
||||
qSettings->setValue("enableVbo", m_enableVbo);
|
||||
}
|
@ -1,76 +0,0 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file modelviewgadgetconfiguration.h
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @addtogroup GCSPlugins GCS Plugins
|
||||
* @{
|
||||
* @addtogroup ModelViewPlugin ModelView Plugin
|
||||
* @{
|
||||
* @brief A gadget that displays a 3D representation of the UAV
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef MODELVIEWGADGETCONFIGURATION_H
|
||||
#define MODELVIEWGADGETCONFIGURATION_H
|
||||
|
||||
#include <coreplugin/iuavgadgetconfiguration.h>
|
||||
|
||||
using namespace Core;
|
||||
|
||||
class ModelViewGadgetConfiguration : public IUAVGadgetConfiguration {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ModelViewGadgetConfiguration(QString classId, QSettings *qSettings = 0, QObject *parent = 0);
|
||||
|
||||
void saveConfig(QSettings *settings) const;
|
||||
IUAVGadgetConfiguration *clone();
|
||||
QString acFilename()
|
||||
{
|
||||
return m_acFilename;
|
||||
}
|
||||
void setAcFilename(QString acFile)
|
||||
{
|
||||
m_acFilename = acFile;
|
||||
}
|
||||
QString bgFilename()
|
||||
{
|
||||
return m_bgFilename;
|
||||
}
|
||||
void setBgFilename(QString bgFile)
|
||||
{
|
||||
m_bgFilename = bgFile;
|
||||
}
|
||||
bool vboEnabled()
|
||||
{
|
||||
return m_enableVbo;
|
||||
}
|
||||
void setVboEnabled(bool vboEnable)
|
||||
{
|
||||
m_enableVbo = vboEnable;
|
||||
}
|
||||
signals:
|
||||
|
||||
public slots:
|
||||
|
||||
private:
|
||||
QString m_acFilename;
|
||||
QString m_bgFilename;
|
||||
bool m_enableVbo; // Vertex buffer objects, a few GPUs crash if enabled
|
||||
};
|
||||
|
||||
#endif // MODELVIEWGADGETCONFIGURATION_H
|
@ -1,57 +0,0 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file modelviewgadgetfactory.cpp
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @addtogroup GCSPlugins GCS Plugins
|
||||
* @{
|
||||
* @addtogroup ModelViewPlugin ModelView Plugin
|
||||
* @{
|
||||
* @brief A gadget that displays a 3D representation of the UAV
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#include "modelviewgadgetfactory.h"
|
||||
#include "modelviewgadgetwidget.h"
|
||||
#include "modelviewgadget.h"
|
||||
#include "modelviewgadgetconfiguration.h"
|
||||
#include "modelviewgadgetoptionspage.h"
|
||||
#include <coreplugin/uavgadgetoptionspagedecorator.h>
|
||||
#include <coreplugin/iuavgadget.h>
|
||||
|
||||
ModelViewGadgetFactory::ModelViewGadgetFactory(QObject *parent) :
|
||||
IUAVGadgetFactory(QString("ModelViewGadget"), tr("ModelView"), parent)
|
||||
{}
|
||||
|
||||
ModelViewGadgetFactory::~ModelViewGadgetFactory()
|
||||
{}
|
||||
|
||||
Core::IUAVGadget *ModelViewGadgetFactory::createGadget(QWidget *parent)
|
||||
{
|
||||
ModelViewGadgetWidget *gadgetWidget = new ModelViewGadgetWidget(parent);
|
||||
|
||||
return new ModelViewGadget(QString("ModelViewGadget"), gadgetWidget, parent);
|
||||
}
|
||||
|
||||
IUAVGadgetConfiguration *ModelViewGadgetFactory::createConfiguration(QSettings *qSettings)
|
||||
{
|
||||
return new ModelViewGadgetConfiguration(QString("ModelViewGadget"), qSettings);
|
||||
}
|
||||
|
||||
IOptionsPage *ModelViewGadgetFactory::createOptionsPage(IUAVGadgetConfiguration *config)
|
||||
{
|
||||
return new ModelViewGadgetOptionsPage(qobject_cast<ModelViewGadgetConfiguration *>(config));
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file modelviewgadgetfactory.h
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @addtogroup GCSPlugins GCS Plugins
|
||||
* @{
|
||||
* @addtogroup ModelViewPlugin ModelView Plugin
|
||||
* @{
|
||||
* @brief A gadget that displays a 3D representation of the UAV
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef MODELVIEWGADGETFACTORY_H_
|
||||
#define MODELVIEWGADGETFACTORY_H_
|
||||
|
||||
#include <coreplugin/iuavgadgetfactory.h>
|
||||
|
||||
namespace Core {
|
||||
class IUAVGadget;
|
||||
class IUAVGadgetFactory;
|
||||
}
|
||||
|
||||
using namespace Core;
|
||||
|
||||
class ModelViewGadgetFactory : public Core::IUAVGadgetFactory {
|
||||
Q_OBJECT
|
||||
public:
|
||||
ModelViewGadgetFactory(QObject *parent = 0);
|
||||
~ModelViewGadgetFactory();
|
||||
|
||||
Core::IUAVGadget *createGadget(QWidget *parent);
|
||||
IUAVGadgetConfiguration *createConfiguration(QSettings *qSettings);
|
||||
IOptionsPage *createOptionsPage(IUAVGadgetConfiguration *config);
|
||||
};
|
||||
|
||||
#endif // MODELVIEWGADGETFACTORY_H_
|
@ -1,71 +0,0 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file modelviewgadgetoptionspage.cpp
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @addtogroup GCSPlugins GCS Plugins
|
||||
* @{
|
||||
* @addtogroup ModelViewPlugin ModelView Plugin
|
||||
* @{
|
||||
* @brief A gadget that displays a 3D representation of the UAV
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "modelviewgadgetoptionspage.h"
|
||||
#include "modelviewgadgetconfiguration.h"
|
||||
|
||||
#include "ui_modelviewoptionspage.h"
|
||||
|
||||
|
||||
ModelViewGadgetOptionsPage::ModelViewGadgetOptionsPage(ModelViewGadgetConfiguration *config, QObject *parent) :
|
||||
IOptionsPage(parent),
|
||||
m_config(config)
|
||||
{}
|
||||
|
||||
QWidget *ModelViewGadgetOptionsPage::createPage(QWidget *parent)
|
||||
{
|
||||
m_page = new Ui::ModelViewOptionsPage();
|
||||
QWidget *w = new QWidget(parent);
|
||||
m_page->setupUi(w);
|
||||
|
||||
m_page->modelPathChooser->setExpectedKind(Utils::PathChooser::File);
|
||||
m_page->modelPathChooser->setPromptDialogFilter(tr("3D model (*.dae *.3ds)"));
|
||||
m_page->modelPathChooser->setPromptDialogTitle(tr("Choose 3D model"));
|
||||
m_page->backgroundPathChooser->setExpectedKind(Utils::PathChooser::File);
|
||||
m_page->backgroundPathChooser->setPromptDialogFilter(tr("Images (*.png *.jpg *.bmp *.xpm)"));
|
||||
m_page->backgroundPathChooser->setPromptDialogTitle(tr("Choose background image"));
|
||||
|
||||
|
||||
m_page->modelPathChooser->setPath(m_config->acFilename());
|
||||
m_page->backgroundPathChooser->setPath(m_config->bgFilename());
|
||||
m_page->enableVbo->setChecked(m_config->vboEnabled());
|
||||
|
||||
|
||||
return w;
|
||||
}
|
||||
|
||||
void ModelViewGadgetOptionsPage::apply()
|
||||
{
|
||||
m_config->setAcFilename(m_page->modelPathChooser->path());
|
||||
m_config->setBgFilename(m_page->backgroundPathChooser->path());
|
||||
m_config->setVboEnabled(m_page->enableVbo->isChecked());
|
||||
}
|
||||
|
||||
void ModelViewGadgetOptionsPage::finish()
|
||||
{
|
||||
delete m_page;
|
||||
}
|
@ -1,85 +0,0 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file modelviewgadgetoptionspage.h
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @addtogroup GCSPlugins GCS Plugins
|
||||
* @{
|
||||
* @addtogroup ModelViewPlugin ModelView Plugin
|
||||
* @{
|
||||
* @brief A gadget that displays a 3D representation of the UAV
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef MODELVIEWGADGETOPTIONSPAGE_H
|
||||
#define MODELVIEWGADGETOPTIONSPAGE_H
|
||||
|
||||
#include "coreplugin/dialogs/ioptionspage.h"
|
||||
#include <QLabel>
|
||||
#include <QFileDialog>
|
||||
#include <QPushButton>
|
||||
#include <QHBoxLayout>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
class ModelViewGadgetConfiguration;
|
||||
class QFileDialog;
|
||||
namespace Core {
|
||||
class IUAVGadgetConfiguration;
|
||||
}
|
||||
namespace Ui {
|
||||
class ModelViewOptionsPage;
|
||||
}
|
||||
|
||||
using namespace Core;
|
||||
|
||||
class ModelViewGadgetOptionsPage : public IOptionsPage {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ModelViewGadgetOptionsPage(ModelViewGadgetConfiguration *config, QObject *parent = 0);
|
||||
QString id() const
|
||||
{
|
||||
return "";
|
||||
}
|
||||
QString trName() const
|
||||
{
|
||||
return "";
|
||||
}
|
||||
QString category() const
|
||||
{
|
||||
return "";
|
||||
}
|
||||
QString trCategory() const
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
QWidget *createPage(QWidget *parent);
|
||||
void apply();
|
||||
void finish();
|
||||
private:
|
||||
|
||||
signals:
|
||||
|
||||
public slots:
|
||||
private slots:
|
||||
|
||||
private:
|
||||
ModelViewGadgetConfiguration *m_config;
|
||||
Ui::ModelViewOptionsPage *m_page;
|
||||
};
|
||||
|
||||
#endif // MODELVIEWGADGETOPTIONSPAGE_H
|
@ -1,352 +0,0 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file modelviewgadgetwidget.cpp
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @addtogroup GCSPlugins GCS Plugins
|
||||
* @{
|
||||
* @addtogroup ModelViewPlugin ModelView Plugin
|
||||
* @{
|
||||
* @brief A gadget that displays a 3D representation of the UAV
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#include "QtDebug"
|
||||
#ifdef __APPLE__
|
||||
#include "OpenGL/OpenGL.h"
|
||||
#endif
|
||||
#include "modelviewgadgetwidget.h"
|
||||
#include "extensionsystem/pluginmanager.h"
|
||||
#include "glc_context.h"
|
||||
#include "glc_exception.h"
|
||||
#include "glc_openglexception.h"
|
||||
#include "viewport/glc_userinput.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
ModelViewGadgetWidget::ModelViewGadgetWidget(QWidget *parent)
|
||||
: QGLWidget(new GLC_Context(QGLFormat(QGL::SampleBuffers)), parent)
|
||||
, m_Light()
|
||||
, m_World()
|
||||
, m_GlView()
|
||||
, m_MoverController()
|
||||
, m_ModelBoundingBox()
|
||||
, m_MotionTimer()
|
||||
, acFilename()
|
||||
, bgFilename()
|
||||
, vboEnable(false)
|
||||
{
|
||||
connect(&m_GlView, SIGNAL(updateOpenGL()), this, SLOT(updateGL()));
|
||||
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
|
||||
|
||||
m_Light.setPosition(4000.0, 40000.0, 80000.0);
|
||||
// m_GlView.setBackgroundColor(Qt::white);
|
||||
m_Light.setAmbientColor(Qt::lightGray);
|
||||
|
||||
m_GlView.cameraHandle()->setDefaultUpVector(glc::Z_AXIS);
|
||||
m_GlView.cameraHandle()->setRearView();
|
||||
|
||||
QColor repColor;
|
||||
repColor.setRgbF(1.0, 0.11372, 0.11372, 0.0);
|
||||
m_MoverController = GLC_Factory::instance()->createDefaultMoverController(repColor, &m_GlView);
|
||||
|
||||
CreateScene();
|
||||
// Get required UAVObjects
|
||||
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
|
||||
UAVObjectManager *objManager = pm->getObject<UAVObjectManager>();
|
||||
attState = AttitudeState::GetInstance(objManager);
|
||||
|
||||
connect(&m_MotionTimer, SIGNAL(timeout()), this, SLOT(updateAttitude()));
|
||||
}
|
||||
|
||||
ModelViewGadgetWidget::~ModelViewGadgetWidget()
|
||||
{}
|
||||
|
||||
|
||||
void ModelViewGadgetWidget::setAcFilename(QString acf)
|
||||
{
|
||||
if (QFile::exists(acf)) {
|
||||
acFilename = acf;
|
||||
} else {
|
||||
acFilename = acf = ":/modelview/models/warning_sign.obj";
|
||||
m_GlView.cameraHandle()->setFrontView(); // set to front camera to see/read the warning sign
|
||||
}
|
||||
}
|
||||
|
||||
void ModelViewGadgetWidget::setBgFilename(QString bgf)
|
||||
{
|
||||
if (QFile::exists(bgFilename)) {
|
||||
bgFilename = bgf;
|
||||
} else {
|
||||
qDebug() << "file " << bgf << " doesn't exists";
|
||||
bgFilename = ":/modelview/models/black.jpg"; // will put a black background if there's no background
|
||||
}
|
||||
}
|
||||
|
||||
void ModelViewGadgetWidget::setVboEnable(bool eVbo)
|
||||
{
|
||||
vboEnable = eVbo;
|
||||
m_World.collection()->setVboUsage(vboEnable);
|
||||
}
|
||||
|
||||
//// Public funcitons ////
|
||||
void ModelViewGadgetWidget::reloadScene()
|
||||
{
|
||||
CreateScene();
|
||||
}
|
||||
|
||||
//// Private functions ////
|
||||
void ModelViewGadgetWidget::initializeGL()
|
||||
{
|
||||
// For VSYNC problem under Mac OS X
|
||||
#if defined(Q_OS_MAC)
|
||||
const GLint swapInterval = 1;
|
||||
CGLSetParameter(CGLGetCurrentContext(), kCGLCPSwapInterval, &swapInterval);
|
||||
#endif
|
||||
|
||||
// OpenGL initialization
|
||||
m_GlView.initGl();
|
||||
// Reframe the scene
|
||||
m_GlView.reframe(m_ModelBoundingBox);
|
||||
|
||||
glEnable(GL_NORMALIZE);
|
||||
// Enable antialiasing
|
||||
glEnable(GL_MULTISAMPLE);
|
||||
|
||||
m_MotionTimer.start(100);
|
||||
setFocusPolicy(Qt::StrongFocus); // keyboard capture for camera switching
|
||||
}
|
||||
|
||||
void ModelViewGadgetWidget::paintGL()
|
||||
{
|
||||
try {
|
||||
// Clear screen
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
// OpenGL error handler
|
||||
{
|
||||
GLenum error = glGetError();
|
||||
if (error != GL_NO_ERROR) {
|
||||
GLC_OpenGlException OpenGlException("ModelViewGadgetWidget::paintGL() ", error);
|
||||
throw(OpenGlException);
|
||||
}
|
||||
}
|
||||
|
||||
// Load identity matrix
|
||||
GLC_Context::current()->glcLoadIdentity();
|
||||
|
||||
// Enable antialiasing
|
||||
glEnable(GL_MULTISAMPLE);
|
||||
|
||||
// Calculate camera depth of view
|
||||
m_GlView.setDistMinAndMax(m_World.boundingBox());
|
||||
|
||||
// define view matrix
|
||||
m_GlView.glExecuteCam();
|
||||
m_Light.glExecute();
|
||||
|
||||
// Display the collection of GLC_Object
|
||||
m_World.render(0, glc::ShadingFlag);
|
||||
m_World.render(0, glc::TransparentRenderFlag);
|
||||
|
||||
// Display UI Info (orbit circle)
|
||||
m_MoverController.drawActiveMoverRep();
|
||||
} catch(GLC_Exception &e) {
|
||||
qDebug() << e.what();
|
||||
}
|
||||
}
|
||||
|
||||
void ModelViewGadgetWidget::resizeGL(int width, int height)
|
||||
{
|
||||
m_GlView.setWinGLSize(width, height); // Compute window aspect ratio
|
||||
// OpenGL error handler
|
||||
{
|
||||
GLenum error = glGetError();
|
||||
if (error != GL_NO_ERROR) {
|
||||
GLC_OpenGlException OpenGlException("ModelViewGadgetWidget::resizeGL() ", error);
|
||||
throw(OpenGlException);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Create GLC_Object to display
|
||||
void ModelViewGadgetWidget::CreateScene()
|
||||
{
|
||||
// put a black background if the 3D model is invalid or if the background image is also invalid
|
||||
if (acFilename == ":/modelview/models/warning_sign.obj" or !QFile::exists(bgFilename)) {
|
||||
bgFilename = ":/modelview/models/black.jpg";
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
m_GlView.loadBackGroundImage(bgFilename);
|
||||
} catch(GLC_Exception e) {
|
||||
qDebug("ModelView: background image file loading failed.");
|
||||
}
|
||||
|
||||
try {
|
||||
if (QFile::exists(acFilename)) {
|
||||
QFile aircraft(acFilename);
|
||||
m_World = GLC_Factory::instance()->createWorldFromFile(aircraft);
|
||||
m_ModelBoundingBox = m_World.boundingBox();
|
||||
m_GlView.reframe(m_ModelBoundingBox); // center 3D model in the scene
|
||||
} else {
|
||||
qDebug("ModelView: aircraft file not found.");
|
||||
}
|
||||
} catch(GLC_Exception e) {
|
||||
qDebug("ModelView: aircraft file loading failed.");
|
||||
}
|
||||
}
|
||||
|
||||
void ModelViewGadgetWidget::wheelEvent(QWheelEvent *e)
|
||||
{
|
||||
double delta = m_GlView.cameraHandle()->distEyeTarget() - (e->delta() / 4);
|
||||
|
||||
m_GlView.cameraHandle()->setDistEyeTarget(delta);
|
||||
m_GlView.setDistMinAndMax(m_World.boundingBox());
|
||||
}
|
||||
|
||||
void ModelViewGadgetWidget::mousePressEvent(QMouseEvent *e)
|
||||
{
|
||||
GLC_UserInput userInput(e->x(), e->y());
|
||||
|
||||
if (m_MoverController.hasActiveMover()) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (e->button()) {
|
||||
case (Qt::LeftButton):
|
||||
m_MotionTimer.stop();
|
||||
m_MoverController.setActiveMover(GLC_MoverController::TurnTable, userInput);
|
||||
updateGL();
|
||||
break;
|
||||
case (Qt::RightButton):
|
||||
printf("VBO enabled: %s, VBO supported: %s, VBO used: %s\n",
|
||||
vboEnable ? "yes" : "no",
|
||||
GLC_State::vboSupported() ? "yes" : "no",
|
||||
GLC_State::vboUsed() ? "yes" : "no");
|
||||
printf("Renderer - %s \n", (char *)glGetString(GL_RENDERER));
|
||||
printf("Extensions - %s\n", (char *)glGetString(GL_EXTENSIONS));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ModelViewGadgetWidget::mouseMoveEvent(QMouseEvent *e)
|
||||
{
|
||||
GLC_UserInput userInput(e->x(), e->y());
|
||||
|
||||
if (not m_MoverController.hasActiveMover()) {
|
||||
return;
|
||||
}
|
||||
m_MoverController.move(userInput);
|
||||
m_GlView.setDistMinAndMax(m_World.boundingBox());
|
||||
updateGL();
|
||||
}
|
||||
|
||||
void ModelViewGadgetWidget::mouseReleaseEvent(QMouseEvent *)
|
||||
{
|
||||
if (not m_MoverController.hasActiveMover()) {
|
||||
return;
|
||||
}
|
||||
m_MoverController.setNoMover();
|
||||
m_MotionTimer.start();
|
||||
updateGL();
|
||||
}
|
||||
|
||||
void ModelViewGadgetWidget::keyPressEvent(QKeyEvent *e) // switch between camera
|
||||
{
|
||||
if (e->key() == Qt::Key_1) {
|
||||
m_GlView.cameraHandle()->setIsoView();
|
||||
updateGL();
|
||||
}
|
||||
if (e->key() == Qt::Key_2) {
|
||||
m_GlView.cameraHandle()->setFrontView();
|
||||
updateGL();
|
||||
}
|
||||
if (e->key() == Qt::Key_3) {
|
||||
m_GlView.cameraHandle()->setIsoView();
|
||||
m_GlView.cameraHandle()->rotateAroundTarget(glc::Z_AXIS, glc::toRadian(90));
|
||||
updateGL();
|
||||
}
|
||||
if (e->key() == Qt::Key_4) {
|
||||
m_GlView.cameraHandle()->setLeftView();
|
||||
updateGL();
|
||||
}
|
||||
if (e->key() == Qt::Key_5) {
|
||||
m_GlView.cameraHandle()->setTopView();
|
||||
m_GlView.cameraHandle()->rotateAroundTarget(glc::Z_AXIS, glc::toRadian(180));
|
||||
updateGL();
|
||||
}
|
||||
if (e->key() == Qt::Key_6) {
|
||||
m_GlView.cameraHandle()->setRightView();;
|
||||
updateGL();
|
||||
}
|
||||
if (e->key() == Qt::Key_7) {
|
||||
m_GlView.cameraHandle()->setIsoView();
|
||||
m_GlView.cameraHandle()->rotateAroundTarget(glc::Z_AXIS, glc::toRadian(-90));
|
||||
updateGL();
|
||||
}
|
||||
if (e->key() == Qt::Key_8) {
|
||||
m_GlView.cameraHandle()->setRearView();;
|
||||
updateGL();
|
||||
}
|
||||
if (e->key() == Qt::Key_9) {
|
||||
m_GlView.cameraHandle()->setIsoView();
|
||||
m_GlView.cameraHandle()->rotateAroundTarget(glc::Z_AXIS, glc::toRadian(180));
|
||||
updateGL();
|
||||
}
|
||||
if (e->key() == Qt::Key_0) {
|
||||
m_GlView.cameraHandle()->setBottomView();
|
||||
m_GlView.cameraHandle()->rotateAroundTarget(glc::Z_AXIS, glc::toRadian(180));
|
||||
updateGL();
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Private slots Functions
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
void ModelViewGadgetWidget::updateAttitude()
|
||||
{
|
||||
AttitudeState::DataFields data = attState->getData(); // get attitude data
|
||||
GLC_StructOccurence *rootObject = m_World.rootOccurence(); // get the full 3D model
|
||||
double x = data.q3;
|
||||
double y = data.q2;
|
||||
double z = data.q4;
|
||||
double w = data.q1;
|
||||
|
||||
if (w == 0.0) {
|
||||
w = 1.0;
|
||||
}
|
||||
// create and gives the product of 2 4x4 matrices to get the rotation of the 3D model's matrix
|
||||
QMatrix4x4 m1;
|
||||
m1.setRow(0, QVector4D(w, z, -y, x));
|
||||
m1.setRow(1, QVector4D(-z, w, x, y));
|
||||
m1.setRow(2, QVector4D(y, -x, w, z));
|
||||
m1.setRow(3, QVector4D(-x, -y, -z, w));
|
||||
QMatrix4x4 m2;
|
||||
m2.setRow(0, QVector4D(w, z, -y, -x));
|
||||
m2.setRow(1, QVector4D(-z, w, x, -y));
|
||||
m2.setRow(2, QVector4D(y, -x, w, -z));
|
||||
m2.setRow(3, QVector4D(x, y, z, w));
|
||||
QMatrix4x4 m0 = m1 * m2;
|
||||
// convert QMatrix4x4 to GLC_Matrix4x4
|
||||
GLC_Matrix4x4 rootObjectRotation(m0.data());
|
||||
rootObject->structInstance()->setMatrix(rootObjectRotation);
|
||||
rootObject->updateChildrenAbsoluteMatrix();
|
||||
updateGL();
|
||||
}
|
@ -1,95 +0,0 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file modelviewgadgetwidget.h
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @addtogroup GCSPlugins GCS Plugins
|
||||
* @{
|
||||
* @addtogroup ModelViewPlugin ModelView Plugin
|
||||
* @{
|
||||
* @brief A gadget that displays a 3D representation of the UAV
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef MODELVIEWGADGETWIDGET_H_
|
||||
#define MODELVIEWGADGETWIDGET_H_
|
||||
|
||||
#include <QGLWidget>
|
||||
#include <QTimer>
|
||||
|
||||
#include "glc_factory.h"
|
||||
#include "viewport/glc_viewport.h"
|
||||
#include "viewport/glc_movercontroller.h"
|
||||
#include "shading/glc_light.h"
|
||||
#include "sceneGraph/glc_world.h"
|
||||
#include "glc_exception.h"
|
||||
|
||||
#include "uavobjectmanager.h"
|
||||
#include "attitudestate.h"
|
||||
|
||||
|
||||
class ModelViewGadgetWidget : public QGLWidget {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
ModelViewGadgetWidget(QWidget *parent = 0);
|
||||
~ModelViewGadgetWidget();
|
||||
void setAcFilename(QString acf);
|
||||
|
||||
void setBgFilename(QString bgf);
|
||||
void setVboEnable(bool eVbo);
|
||||
void reloadScene();
|
||||
void updateAttitude(int value);
|
||||
|
||||
private:
|
||||
void initializeGL();
|
||||
void paintGL();
|
||||
void resizeGL(int width, int height);
|
||||
// Create GLC_Object to display
|
||||
void CreateScene();
|
||||
|
||||
// Mouse events
|
||||
void mousePressEvent(QMouseEvent *e);
|
||||
void mouseMoveEvent(QMouseEvent *e);
|
||||
void mouseReleaseEvent(QMouseEvent *e);
|
||||
void wheelEvent(QWheelEvent *e);
|
||||
void keyPressEvent(QKeyEvent *e);
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Private slots Functions
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
private slots:
|
||||
void updateAttitude();
|
||||
|
||||
private:
|
||||
GLC_Factory *m_pFactory;
|
||||
GLC_Light m_Light;
|
||||
GLC_World m_World;
|
||||
GLC_Viewport m_GlView;
|
||||
GLC_MoverController m_MoverController;
|
||||
GLC_BoundingBox m_ModelBoundingBox;
|
||||
// ! The timer used for motion
|
||||
QTimer m_MotionTimer;
|
||||
|
||||
QString acFilename;
|
||||
QString bgFilename;
|
||||
bool vboEnable;
|
||||
|
||||
AttitudeState *attState;
|
||||
};
|
||||
|
||||
#endif /* MODELVIEWGADGETWIDGET_H_ */
|
@ -1,95 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>ModelViewOptionsPage</class>
|
||||
<widget class="QWidget" name="ModelViewOptionsPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>378</width>
|
||||
<height>300</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>3D model:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Background image:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="Utils::PathChooser" name="backgroundPathChooser" native="true">
|
||||
<property name="toolTip">
|
||||
<string>Select the image that is shown in the background.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="Utils::PathChooser" name="modelPathChooser" native="true">
|
||||
<property name="toolTip">
|
||||
<string>Select the 3D model file here.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QCheckBox" name="enableVbo">
|
||||
<property name="toolTip">
|
||||
<string>Click to enable the use of Vertical Blanking.
|
||||
It is not enabled by default because some graphic cards do not
|
||||
support it, and crash the GCS. Enabling improves performance, though, so you can experiment at your own risk.</string>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<string>VBO allow for performance gains for GPUs that support it (most cards). This may cause cards with faulty drivers to crash.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Enable VBOs:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>Utils::PathChooser</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>utils/pathchooser.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
@ -1,63 +0,0 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file modelviewplugin.cpp
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @addtogroup GCSPlugins GCS Plugins
|
||||
* @{
|
||||
* @addtogroup ModelViewPlugin ModelView Plugin
|
||||
* @{
|
||||
* @brief A gadget that displays a 3D representation of the UAV
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#include "modelviewplugin.h"
|
||||
#include "modelviewgadgetfactory.h"
|
||||
#include <QDebug>
|
||||
#include <QtPlugin>
|
||||
#include <QStringList>
|
||||
#include <extensionsystem/pluginmanager.h>
|
||||
|
||||
|
||||
ModelViewPlugin::ModelViewPlugin()
|
||||
{
|
||||
// Do nothing
|
||||
}
|
||||
|
||||
ModelViewPlugin::~ModelViewPlugin()
|
||||
{
|
||||
// Do nothing
|
||||
}
|
||||
|
||||
bool ModelViewPlugin::initialize(const QStringList & args, QString *errMsg)
|
||||
{
|
||||
Q_UNUSED(args);
|
||||
Q_UNUSED(errMsg);
|
||||
mvf = new ModelViewGadgetFactory(this);
|
||||
addAutoReleasedObject(mvf);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void ModelViewPlugin::extensionsInitialized()
|
||||
{
|
||||
// Do nothing
|
||||
}
|
||||
|
||||
void ModelViewPlugin::shutdown()
|
||||
{
|
||||
// Do nothing
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
*
|
||||
* @file modelviewplugin.h
|
||||
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||
* @addtogroup GCSPlugins GCS Plugins
|
||||
* @{
|
||||
* @addtogroup ModelViewPlugin ModelView Plugin
|
||||
* @{
|
||||
* @brief A gadget that displays a 3D representation of the UAV
|
||||
*****************************************************************************/
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef MODELVIEWPLUGIN_H_
|
||||
#define MODELVIEWPLUGIN_H_
|
||||
|
||||
#include <extensionsystem/iplugin.h>
|
||||
|
||||
class ModelViewGadgetFactory;
|
||||
|
||||
class ModelViewPlugin : public ExtensionSystem::IPlugin {
|
||||
Q_OBJECT
|
||||
Q_PLUGIN_METADATA(IID "Openpilot.ModelView")
|
||||
|
||||
public:
|
||||
ModelViewPlugin();
|
||||
~ModelViewPlugin();
|
||||
|
||||
void extensionsInitialized();
|
||||
bool initialize(const QStringList & arguments, QString *errorString);
|
||||
void shutdown();
|
||||
private:
|
||||
ModelViewGadgetFactory *mvf;
|
||||
};
|
||||
|
||||
#endif /* MODELVIEWPLUGIN_H_ */
|
Loading…
x
Reference in New Issue
Block a user