Пример #1
0
OsgForm::OsgForm(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::OsgForm),
    m_root(new osg::Group),
    m_loadedModel(new osg::MatrixTransform),
    m_viewToolBar(new QToolBar),
    m_viewMenuBar(new QMenuBar)
{
    ui->setupUi(this);
    setupUserInterface();
    m_root->setName("root");
    m_loadedModel->setName("loadedModel");
    m_root->addChild(m_loadedModel);


    ui->osg3dView->setScene(m_root);
    m_viewingCore = ui->osg3dView->getViewingCore();

    connect(ui->osg3dView, SIGNAL(pickObject(QVector<osg::ref_ptr<osg::Node> >)),
            this, SLOT(handlePick(QVector<osg::ref_ptr<osg::Node> >)));

    connect(ui->osg3dView, SIGNAL(mouseModeChanged(Osg3dView::MouseMode)),
            this, SLOT(announceMouseMode(Osg3dView::MouseMode)));

    connect(ui->osg3dView, SIGNAL(updated()),
            this, SLOT(updateCameraDisplay()));

    connect(ui->osg3dView, SIGNAL(toggleMenuBar()),
            this, SLOT(toggle3dMenu()));
    connect(ui->osg3dView, SIGNAL(toggleToolBar()),
            this, SLOT(toggle3dTools()));
}
Пример #2
0
    void QmlMapControl::setMouseMode(MouseMode mousemode)
    {
        if( mymousemode == mousemode )
            return;

        mymousemode = mousemode;
        emit mouseModeChanged();
    }
Пример #3
0
void Osg3dView::setMouseMode(Osg3dView::MouseMode mode)
{
    m_mouseMode = mode;

    if(mode == MM_ROTATE)
        m_viewingCore->setViewingCoreMode( ViewingCore::FIRST_PERSON );
    else {
        m_viewingCore->setViewingCoreMode( ViewingCore::THIRD_PERSON );
    }

    emit mouseModeChanged(mode);
}
Пример #4
0
void OSGWidget::setMouseMode(MouseMode mode)
{
    m_mouseMode = mode;

    if(mode == MM_ROTATE)
        m_viewingCore->setViewingCoreMode( ViewingCore::FIRST_PERSON );
    else {
        m_viewingCore->setViewingCoreMode( ViewingCore::THIRD_PERSON );
    }

    emit mouseModeChanged(mode);
    m_animateTimer.stop();
}
Пример #5
0
void View::setMouseMode(MouseMode mode) {

  //Clear the creation polygons if we're currently
  //in Create mouse mode.
  MouseMode oldMode = _mouseMode;

  if (oldMode == Create) {
    _creationPolygonPress.clear();
    _creationPolygonRelease.clear();
    _creationPolygonMove.clear();
  }

  _mouseMode = mode;

  if (_mouseMode != Create) {
    setCursor(Qt::ArrowCursor);
    setDragMode(QGraphicsView::RubberBandDrag);
  } else {
    setDragMode(QGraphicsView::NoDrag);
  }

  emit mouseModeChanged(oldMode);
}