zoukankan      html  css  js  c++  java
  • VC3DGraphicsWindowQt

    VC3DGraphicsWindowQt::VC3DGraphicsWindowQt(QWidget* parent, Qt::WindowFlags f)
    {
        osg::DisplaySettings* ds = osg::DisplaySettings::instance().get();
        osg::setNotifyLevel(osg::NotifySeverity::FATAL);
    
        _traits = new osg::GraphicsContext::Traits();
        _traits->windowDecoration = false;
        _traits->x = 0;
        _traits->y = 0;
        _traits->width = 100;
        _traits->height = 100;
        _traits->doubleBuffer = true;
        if (ds)
        {
            _traits->alpha = ds->getMinimumNumAlphaBits();
            _traits->stencil = ds->getMinimumNumStencilBits();
            _traits->sampleBuffers = ds->getMultiSamples();
            _traits->samples = ds->getNumMultiSamples();
        }
        if (parent)
        {
            _traits->width = parent->width();
            _traits->height = parent->height();
        }
    
        // create widget if it does not exist
        if (!m_opengl_widget)
        {
            // WindowFlags
            Qt::WindowFlags flags = f | Qt::Widget;
            // create widget
            m_opengl_widget = new VC3DQtOSGWidget(parent, flags);
        }
    
        m_opengl_widget->setMouseTracking(true);
        m_opengl_widget->setFocusPolicy(Qt::WheelFocus);
        m_opengl_widget->setGraphicsWindow(this);
        useCursor(_traits->useCursor);
    
        // initialize State
        setState(new osg::State);
        getState()->setGraphicsContext(this);
    
        // initialize contextID
        if (_traits.valid() && _traits->sharedContext.valid())
        {
            getState()->setContextID(_traits->sharedContext->getState()->getContextID());
            incrementContextIDUsageCount(getState()->getContextID());
        }
        else
        {
            getState()->setContextID(osg::GraphicsContext::createNewContextID());
        }
    
        // make sure the event queue has the correct window rectangle size and input range
    #if (OPENSCENEGRAPH_MAJOR_VERSION == 3) && (OPENSCENEGRAPH_MINOR_VERSION == 2)
        getEventQueue()->syncWindowRectangleWithGraphcisContext();
    #else
        getEventQueue()->syncWindowRectangleWithGraphicsContext();
    #endif
    }

     

  • 相关阅读:
    SpringSecurity03 基于内存验证
    SpringSecurity02 表单登录、SpringSecurity配置类
    SpringSecurity01 SpringSecurity环境搭建
    密码的加密和匹配
    SpringBoot05 数据操作03 -> JPA查询方法的规则定义
    SpringBoot05 数据操作02 -> JPA接口详解
    SpringBoot05 数据操作01 -> JPA的基本使用、基本使用02
    linux中目录操作<1>
    linux以行为单位进行读写操作
    linux以字符为单位进行读写操作
  • 原文地址:https://www.cnblogs.com/herd/p/11257278.html
Copyright © 2011-2022 走看看