1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-20 10:54:14 +01:00

GCS/ModelView - Add scroll-to-zoom functionality and resize fix.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1311 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
chebuzz 2010-08-17 19:53:24 +00:00 committed by chebuzz
parent 9ae9c87574
commit 10b4df2100
2 changed files with 14 additions and 14 deletions

View File

@ -46,14 +46,14 @@ ModelViewGadgetWidget::ModelViewGadgetWidget(QWidget *parent)
m_Light.setPosition(4000.0, 40000.0, 80000.0);
m_Light.setAmbientColor(Qt::lightGray);
QColor repColor;
repColor.setRgbF(1.0, 0.11372, 0.11372, 0.0);
m_MoverController= m_pFactory->createDefaultMoverController(repColor, &m_GlView);
m_GlView.cameraHandle()->setDefaultUpVector(glc::Y_AXIS);
m_GlView.cameraHandle()->setRightView();
//m_GlView.cameraHandle()->setIsoView();
QColor repColor;
repColor.setRgbF(1.0, 0.11372, 0.11372, 0.0);
m_MoverController= m_pFactory->createDefaultMoverController(repColor, &m_GlView);
// Get required UAVObjects
ExtensionSystem::PluginManager* pm = ExtensionSystem::PluginManager::instance();
UAVObjectManager* objManager = pm->getObject<UAVObjectManager>();
@ -82,7 +82,7 @@ void ModelViewGadgetWidget::initializeGL()
if (!vboEnable)
{
GLC_State::setVboUsage(false);
qDebug("VBOs disabled. Enable for better performance if GPU supports it.");
qDebug("VBOs disabled. Enable for better performance if GPU supports it. (Most do)");
}
m_GlView.reframe(m_ModelBoundingBox);
@ -95,12 +95,6 @@ void ModelViewGadgetWidget::initializeGL()
m_MotionTimer.start(100);
}
void ModelViewGadgetWidget::resizeEvent(QResizeEvent *event)
{
// m_GlView.setWinGLSize(width(), height());
QWidget::resizeEvent(event);
}
void ModelViewGadgetWidget::paintGL()
{
// Clear screen
@ -159,6 +153,13 @@ void ModelViewGadgetWidget::CreateScene()
}
}
void ModelViewGadgetWidget::wheelEvent(QWheelEvent * e)
{
double delta = m_GlView.cameraHandle()->distEyeTarget() - (e->delta()/120) ;
m_GlView.cameraHandle()->setDistEyeTarget(delta);
m_GlView.setDistMinAndMax(m_World.boundingBox());
}
void ModelViewGadgetWidget::mousePressEvent(QMouseEvent *e)
{
if (m_MoverController.hasActiveMover()) return;

View File

@ -56,9 +56,6 @@ public:
void reloadScene();
void updateAttitude(int value);
protected:
void resizeEvent(QResizeEvent *event);
private:
void initializeGL();
void paintGL();
@ -70,6 +67,7 @@ private:
void mousePressEvent(QMouseEvent * e);
void mouseMoveEvent(QMouseEvent * e);
void mouseReleaseEvent(QMouseEvent * e);
void wheelEvent(QWheelEvent * e);
//////////////////////////////////////////////////////////////////////
// Private slots Functions
@ -86,6 +84,7 @@ private:
GLC_BoundingBox m_ModelBoundingBox;
//! The timer used for motion
QTimer m_MotionTimer;
int yMouseStart;
QString acFilename;
QString bgFilename;