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 = ;
_traits->y = ;
_traits->width = ;
_traits->height = ;
_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
}

VC3DGraphicsWindowQt的更多相关文章

  1. TeslaManage 2.0编译日志

    1>------ 已启动全部重新生成: 项目: TeslaManage, 配置: Debug x64 ------1> Moc'ing teslamanage.h...1> Uic' ...

随机推荐

  1. 基于ELK的日志分析、存储、展示

    原文:https://blog.51cto.com/11134648/2163789 ELK简介 ELK是一套完整的日志解决方案,由ElasticSearch.Logstash. Kibana这三款开 ...

  2. python 查询每周最后一个工作日

    背景: 做定时任务时,一般都是写死每周五XXXXX,但有时遇到节假日的情况,周五可能不是本周最后一个工作日 代码如下: import urllib2,datetime,json nowTime = d ...

  3. AtCoder Grand Contest 032 B - Balanced Neighbors——构造

    题意 B - Balanced Neighbors 给定一个整数 $N$($3\leq N \leq 100$),构造一个顶点编号为 $1...N$ 的无向图,需满足如下两个条件: 简单图且连通 存在 ...

  4. selenium之python源码解读-expected_conditions

    一.expected_conditions 之前在 selenium之python源码解读-WebDriverWait 中说到,until方法中method参数,需要传入一个function对象,如果 ...

  5. 关于Maven打包

    Maven打包构建完全指南和最佳实践 Maven最佳实践:划分模块 IDEA一个项目引用另一个项目 IDEA创建多个模块MavenSpringBoot项目   这个简单明了,基础知识

  6. Centos 安装JDK(最最最最最方便的方法)

    1.下载rpm安装文件,链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2 ...

  7. 使用druid连接池的超时回收机制排查连接泄露

    起因:系统连接池满了 Exception wait millis 60012, active 2000, maxActive 2000, creating 0 加配置排查: <!-- 超过时间限 ...

  8. 坑爹的IE8

    1.不能用trim(),要用$.trim()    var aa = $("#id").val().trim()  这样素不行的,要变成这样Jquery的方式 var aa = $ ...

  9. HTML5中table标签与form标签的区别

    html中form表示一个表单,用来把一系列的控件包围起来,然后再统一发送这些数据到目标,比如最常见的注册,你说需要填写的资料,都是被封装在form里的,填写完毕后,提交form内的内容,如果不再fo ...

  10. PHP的输出语法

    一.echo 只能输出标量数据类型,对于任何数据都可以转为字符串输出 echo是PHP的一种特殊的'指令',不一定要像函数的那样()去使用,可以直接紧跟一个空格输出信息,可以是多个参数 <?ph ...