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:
parent
9ae9c87574
commit
10b4df2100
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user