//---------------------------------------------------------------------------------------------------------------------- void NGLScene::mouseMoveEvent (QMouseEvent * _event) { // note the method buttons() is the button state when event was called // this is different from button() which is used to check which button was // pressed when the mousePress/Release event is generated if(m_rotate && _event->buttons() == Qt::LeftButton) { int diffx=_event->x()-m_origX; int diffy=_event->y()-m_origY; m_spinXFace += (float) 0.5f * diffy; m_spinYFace += (float) 0.5f * diffx; m_origX = _event->x(); m_origY = _event->y(); renderNow(); } // right mouse translate code else if(m_translate && _event->buttons() == Qt::RightButton) { int diffX = (int)(_event->x() - m_origXPos); int diffY = (int)(_event->y() - m_origYPos); m_origXPos=_event->x(); m_origYPos=_event->y(); m_modelPos.m_x += INCREMENT * diffX; m_modelPos.m_y -= INCREMENT * diffY; renderNow(); } }
void MyGLWidget::exposeEvent(QExposeEvent *event) { Q_UNUSED(event); if (isExposed()) renderNow(); }
void OpenGLWindow::exposeEvent(QExposeEvent *event) { Q_UNUSED(event); if (isExposed()) renderNow(); }
void ventanaGL::exposeEvent(QExposeEvent *event) { Q_UNUSED(event); if (isExposed()) renderNow(); }
void RasterWindow::exposeEvent(QExposeEvent *) { if (isExposed()) { m_backingStore->resize(size()); renderNow(); } }
TriangleWindow::TriangleWindow(int w, int h) : m_program(0), m_frame(0) { _width = w; _height = h; _camX = 0; _camY = -14; _camZ = -120; _angle = 100; _wireFrame = false; timerFall = new QTimer(); timerFall->start(10); connect(timerFall, SIGNAL(timeout()), this, SLOT(renderNow())); allSeasons = new QString[4]; allSeasons[0] = "SUMMER"; allSeasons[1] = "AUTUMN"; allSeasons[2] = "WINTER"; allSeasons[3] = "SPRING"; currentSeason = 0; }
void GameWindow::keyPressEvent(QKeyEvent *event) { switch(event->key()) { case 'Z': avancerZ+= 0.10f; break; case 'S': avancerZ -= 0.10f; break; case 'A': rotX += 1.0f; break; case 'E': rotX -= 1.0f; break; case 'Q': rotY += 1.0f; break; case 'D': rotY -= 1.0f; break; } renderNow(); }
void MainWindow::resizeEvent(QResizeEvent *event) { Q_UNUSED(event); if (isExposed()) renderNow(); }
//! [7] bool RasterWindow::event(QEvent *event) { if (event->type() == QEvent::UpdateRequest) { renderNow(); return true; } return QWindow::event(event); }
void OpenGLWindow::resizeEvent(QResizeEvent *event) { Q_UNUSED(event); glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT ); glViewport(0,0,width(),height()); if (isExposed()) renderNow(); }
BrowserWindow::BrowserWindow() : OpenGLWindow(NULL) { connect(QMozContext::GetInstance(), SIGNAL(onInitialized()), this, SLOT(onContextInitialized())); connect(&m_mozView, SIGNAL(viewInitialized()), this, SLOT(onViewInitialized())); m_timer.setInterval(41); m_timer.setSingleShot(false); connect(&m_timer, SIGNAL(timeout()), this, SLOT(renderNow())); }
bool PainterWindow::event(QEvent *event) { if (event->type() == QEvent::UpdateRequest) { m_update_pending = false; renderNow(); return true; } return QWindow::event(event); }
void OpenGLWindow::exposeEvent(QExposeEvent *event) { /*The exposeEvent() is the notification to the window that its exposure, meaning visibility, on the screen has changed.*/ Q_UNUSED(event); if (isExposed()) renderNow(); }
void OpenGLWindow::resizeEvent(QResizeEvent *event) { Q_UNUSED(event); if (isExposed()) { resizeWindow(); renderNow(); } }
void TriangleWindow::resizeGL(int w, int h) { glViewport(0, 0, w, h); m_projection.setToIdentity(); if (w <= h) m_projection.ortho(-2.f, 2.f, -2.f*h/w, 2.f*h/w, -2.f, 2.f); else m_projection.ortho(-2.f*w/h, 2.f*w/h, -2.f, 2.f, -2.f, 2.f); renderNow(); }
bool OpenGLWindow::event(QEvent *event) { switch (event->type()) { case QEvent::UpdateRequest: renderNow(); return true; default: return QWindow::event(event); } }
bool RenderSurface::event(QEvent *event) { switch (event->type()) { case QEvent::UpdateRequest: m_update_pending = false; renderNow(0.0f); return true; default: return QOffscreenSurface::event(event); } }
int main(int argc, char **argv) { QGuiApplication app(argc, argv); Client client; OpenGLWindow window; QObject::connect(&client, SIGNAL(recivedQuaternion(QQuaternion)), &window, SLOT(renderNow(QQuaternion))); client.tryToConnect(); return app.exec(); }
bool MyGLWidget::event(QEvent *event) { switch (event->type()) { case QEvent::UpdateRequest: m_update_pending = false; renderNow(); return true; default: return QWindow::event(event); } }
void GameWindow::keyPressEvent(QKeyEvent *event) { Game::getInstance()->addEvent(event); switch(event->key()) { case Qt::Key_Escape: qApp->exit(); break; } renderNow(); }
bool QOgreWindow::event(QEvent *event) { switch (event->type()) { case QEvent::UpdateRequest: isUpdatePending = false; renderNow(); return true; default: return QWindow::event(event); } }
bool GameWindow::event(QEvent *event) { Game::getInstance()->addEvent(event); switch (event->type()) { case QEvent::UpdateRequest: renderNow(); return true; default: return QWindow::event(event); } }
//---------------------------------------------------------------------------------------------------------------------- void NGLScene::wheelEvent(QWheelEvent *_event) { // check the diff of the wheel position (0 means no change) if(_event->delta() > 0) { m_modelPos.m_z+=ZOOM; } else if(_event->delta() <0 ) { m_modelPos.m_z-=ZOOM; } renderNow(); }
void NGLScene::keyPressEvent(QKeyEvent *_event) { // this method is called every time the main window recives a key event. // we then switch on the key value and set the camera in the NGLScene switch (_event->key()) { // escape key to quite case Qt::Key_Escape : QGuiApplication::exit(EXIT_SUCCESS); break; // turn on wirframe rendering case Qt::Key_W : glPolygonMode(GL_FRONT_AND_BACK,GL_LINE); break; // turn off wire frame case Qt::Key_S : glPolygonMode(GL_FRONT_AND_BACK,GL_FILL); break; // show full screen case Qt::Key_F : showFullScreen(); break; // show windowed case Qt::Key_N : showNormal(); break; case Qt::Key_Space : m_car->reset(); break; case Qt::Key_X : stepAnimation(); break; case Qt::Key_1 : addCube(); break; case Qt::Key_2 : addSphere(); break; case Qt::Key_3 : addCapsule(); break; case Qt::Key_4 : addCylinder(); break; case Qt::Key_5 : addCone(); break; case Qt::Key_6 : addMesh(TEAPOT); break; case Qt::Key_7 : addMesh(APPLE); break; /* case Qt::Key_Left : m_physics->addImpulse(ngl::Vec3(-5,0.0f,0.0f)); break; case Qt::Key_Right : m_physics->addImpulse(ngl::Vec3(5.0f,0.0f,0.0f)); break; case Qt::Key_Up : m_physics->addImpulse(ngl::Vec3(0.0f,5.0f,0.0f)); break; case Qt::Key_Down : m_physics->addImpulse(ngl::Vec3(0.0f,-5.0f,0.0f)); break; */ case Qt::Key_Left : m_car->left(); break; case Qt::Key_Right : m_car->right(); break; case Qt::Key_Up : m_car->accelerate(); break; case Qt::Key_Down : m_car->stop(); break; case Qt::Key_B : toggleBBox(); break; case Qt::Key_R : toggleRandomPlace(); break; case Qt::Key_0 : resetSim(); break; default : break; } // finally update the GLWindow and re-draw //if (isExposed()) renderNow(); }
void GameWindow::initialize() { timer.setInterval(framerate * 1000); timer.start(); elapsedTimer.start(); this->connect(&timer, SIGNAL(timeout()), this, SLOT(renderNow())); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LESS); glEnable(GL_COLOR_MATERIAL); glEnable(GL_CULL_FACE); glEnable (GL_BLEND); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST); Game::getInstance()->initialize(); }
void NGLScene::timerEvent(QTimerEvent *_event ) { if(_event->timerId() == m_particleTimer) { m_emitter->update(); } if(_event->timerId() == m_fpsTimer) { if( m_timer.elapsed() > 1000.0) { m_fps=m_frames; m_frames=0; m_timer.restart(); } } // re-draw GL renderNow(); // re-draw GL }
void TriangleWindow::paintGL() { static unsigned cnt; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); QMatrix4x4 model; model.rotate(cnt%360, 1,0,0); model.rotate(45, 0,0,1); QMatrix4x4 mv = m_view * model; m_pgm.bind(); m_pgm.setUniformValue("modelViewMatrix", mv); m_pgm.setUniformValue("normalMatrix", mv.normalMatrix()); m_pgm.setUniformValue("projectionMatrix", m_projection); m_vao.bind(); glDrawElements(GL_TRIANGLES, m_cnt, GL_UNSIGNED_BYTE, 0); renderNow(); ++cnt; }
void TriangleWindow::keyPressEvent(QKeyEvent *keyEvent) { switch(keyEvent->key()) { case Qt::Key_Escape: close(); break; case Qt::Key_W: _wireFrame = !_wireFrame; break; case Qt::Key_Z: _camZ += 0.5; break; case Qt::Key_S: _camZ -= 0.5; break; case Qt::Key_Q: _camX -= 0.5; break; case Qt::Key_D: _camX += 0.5; break; case Qt::Key_P: _camY += 0.1; break; case Qt::Key_M: _camY -= 0.1; break; case Qt::Key_E: _angle += 5.0; break; case Qt::Key_A: _angle -= 5.0; break; case Qt::Key_C: currentSeason++; currentSeason %= 4; break; } renderNow(); }
TriangleWindow::TriangleWindow(int _maj, quint16 port) { maj = _maj; QString s ("FPS : "); s += QString::number(1000/maj); s += "("; s += QString::number(maj); s += ")"; setTitle(s); timer = new QTimer(); timer->connect(timer, SIGNAL(timeout()),this, SLOT(renderNow())); timer->start(maj); timerParticule = new QTimer(); timerParticule->start(200); particules = new Particule*[MAX_PARTICULES]; allSeasons = new QString[4]; allSeasons[0] = "SUMMER"; allSeasons[1] = "AUTUMN"; allSeasons[2] = "WINTER"; allSeasons[3] = "SPRING"; currentSeason = 0; light = false; winterTree = new FileManager(":/wintertree.ply"); summerTree = new FileManager(":/summertree.ply"); springTree = new FileManager(":/springtree.ply"); autumnTree = new FileManager(":/autumntree.ply"); connectToServer(port); }
TriangleWindow::TriangleWindow(quint16 port) { QString s ("FPS : "); s += QString::number(1000/maj); s += "("; s += QString::number(maj); s += ")"; setTitle(s); timer = new QTimer(); timer->connect(timer, SIGNAL(timeout()),this, SLOT(renderNow())); timer->start(maj); master = true; allSeasons = new QString[4]; allSeasons[0] = "SUMMER"; allSeasons[1] = "AUTUMN"; allSeasons[2] = "WINTER"; allSeasons[3] = "SPRING"; currentSeason = 0; connectToServer(port); }