Esempio n. 1
0
//----------------------------------------------------------------------------------------------------------------------
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();

   }
}
Esempio n. 2
0
void MyGLWidget::exposeEvent(QExposeEvent *event)
{
    Q_UNUSED(event);

    if (isExposed())
        renderNow();
}
Esempio n. 3
0
void OpenGLWindow::exposeEvent(QExposeEvent *event)
{
    Q_UNUSED(event);

    if (isExposed())
        renderNow();
}
Esempio n. 4
0
void ventanaGL::exposeEvent(QExposeEvent *event)
{
    Q_UNUSED(event);

    if (isExposed())
        renderNow();
}
Esempio n. 5
0
void RasterWindow::exposeEvent(QExposeEvent *)
{
    if (isExposed()) {
        m_backingStore->resize(size());
        renderNow();
    }
}
Esempio n. 6
0
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;
}
Esempio n. 7
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();
}
Esempio n. 8
0
void MainWindow::resizeEvent(QResizeEvent *event)
{
    Q_UNUSED(event);

    if (isExposed())
        renderNow();
}
Esempio n. 9
0
//! [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();
}
Esempio n. 11
0
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()));
}
Esempio n. 12
0
bool PainterWindow::event(QEvent *event)
{
	if (event->type() == QEvent::UpdateRequest) {
		m_update_pending = false;
		renderNow();
		return true;
	}
	return QWindow::event(event);
}
Esempio n. 13
0
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();
}
Esempio n. 14
0
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();
}
Esempio n. 16
0
bool OpenGLWindow::event(QEvent *event)
{
    switch (event->type()) {
    case QEvent::UpdateRequest:
        renderNow();
        return true;
    default:
        return QWindow::event(event);
    }
}
Esempio n. 17
0
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);
    }
}
Esempio n. 18
0
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();
}
Esempio n. 19
0
bool MyGLWidget::event(QEvent *event)
{
    switch (event->type()) {
    case QEvent::UpdateRequest:
        m_update_pending = false;
        renderNow();
        return true;
    default:
        return QWindow::event(event);
    }
}
Esempio n. 20
0
void GameWindow::keyPressEvent(QKeyEvent *event)
{
    Game::getInstance()->addEvent(event);
    switch(event->key())
    {
    case Qt::Key_Escape:
        qApp->exit();
        break;

    }
    renderNow();
}
Esempio n. 21
0
bool QOgreWindow::event(QEvent *event)
{
    switch (event->type())
    {
    case QEvent::UpdateRequest:
            isUpdatePending = false;
            renderNow();
            return true;
    default:
        return QWindow::event(event);
    }
}
Esempio n. 22
0
bool GameWindow::event(QEvent *event)
{
    Game::getInstance()->addEvent(event);
    switch (event->type())
    {
    case QEvent::UpdateRequest:

        renderNow();
        return true;
    default:
        return QWindow::event(event);
    }
}
Esempio n. 23
0
//----------------------------------------------------------------------------------------------------------------------
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();
}
Esempio n. 24
0
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();
}
Esempio n. 25
0
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();
}
Esempio n. 26
0
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;
}
Esempio n. 28
0
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();
}
Esempio n. 29
0
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);
}
Esempio n. 30
0
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);
}