Beispiel #1
0
// MODIFY THIS FUNCTION
void keyboard(unsigned char key, int x, int y)
{
	std::cout << key << std::endl;
	std::cout <<globals.newText << std::endl;
	if(!TwEventKeyboardGLUT(key,x,y)) {

	}
    // Define your keyboard shortcuts here
	if(key == '1') {
		globals.newText = 1;
	}
	if(key == '2') {
		globals.newText = 2;
	}
	if(key == '3') {
		globals.newText = 3;
	}
	if(key == '4') {
		globals.newText = 4;
	}
	if(key == '5') {
		globals.newText = 5;
	}
	if(key == '6') {
		globals.newText = 6;
	}
	if(key == '7') {
		globals.newText = 7;
	}
	if(key == '8') {
		globals.newText = 8;
	}
}
	void Keyboard(unsigned char key, int x, int y) {
		TwEventKeyboardGLUT(key, x, y);
		switch (key)
		{

		case 'p':
		case 'P':
			_renderManager->pauseSpObjsRendering();
			break;
		case 'r':
		case 'R':
			_renderManager->resumeSpObjsRendering();
			break;
		case 'a':
		case 'A':
			_renderManager->setAxesDisplaying(!_renderManager->areAxesDisplaying());
			break;
		case 's':
		case 'S':
			_renderManager->setBackgroundDisplaying(!_renderManager->isBackgroundDisplaying());
			break;
		case 'f':
		case 'F':
			glutFullScreen();
			break;
		case 27: //escape
			glutPositionWindow(glutGet(GLUT_SCREEN_WIDTH) / 14, glutGet(GLUT_SCREEN_HEIGHT) / 28);
			glutReshapeWindow(glutGet(GLUT_SCREEN_WIDTH) * 6 / 7, glutGet(GLUT_SCREEN_HEIGHT) * 6 / 7);
			break;
		}
	}
Beispiel #3
0
void Keyboard(unsigned char key, int x, int y){
  if (rendering) {
    if (!TwEventKeyboardGLUT(key, x, y)) {
      switch(key){
      case 32:  // (Spacebar) Mutate fractal
        mainFractal->mutateConstants();
        zoom = 1;
        glutPostRedisplay();
        break;
      case 'F':  // Toggle fullscreen
      case 'f':
        if(fullScreen){
          resize();
          fullScreen = false;
        }
        else{
          fullScreen = true;
          glutFullScreen();
        }
        glutPostRedisplay();
        break;
      case 's':  // Save to test.png
        ExternalRenderer::outputToImage("test");
        break;
      case 27 : // (ESC) close the program
        glutDestroyWindow(windowID);
        exit(0);
        break;
      }
    }
    glutPostRedisplay();
  }
}
Beispiel #4
0
void keyboard(unsigned char key, int x, int y)
{
    if (key == 'g')
        init_game();
    if (key == 'p')
        pause = !pause;
    if (key == 'q')
        exit(0);
    if (key == '\'')
        draw_cos = !draw_cos;
    if (key == 'y')
    {
        int r = rand() % world.bodies.size();
        if (world.bodies[r]->mass < world.vars.UNMOVABLE_MASS)
            world.bodies[r]->velocity = world.bodies[r]->velocity + Vector2(0, 12);
    }
    if (key == '+' || key == '-')
    {
        int w = glutGet(GLUT_WINDOW_WIDTH);
        int h = glutGet(GLUT_WINDOW_HEIGHT);
        if (key == '+')
            zoom_distance -= 1;
        if (key == '-')
            zoom_distance += 1;
        reshape(w, h);
    }
    if (draw_tw)
        TwEventKeyboardGLUT(key, x, y);
    glutBitmapCharacter(GLUT_BITMAP_8_BY_13, key);
    glutPostRedisplay();
}
Beispiel #5
0
  void MyWindow::keyboard(MyWindow::KeyCode key, ButtonAction action, int mods, int x, int y)
  {
#ifdef USEANTTWEAKBAR
    // to fix some mapping issues with special keys
    // TODO: find the real Fix...
    if(action == MyWindow::BUTTON_PRESS)
    {
        switch(key)
        {
        case NVPWindow::KEY_HOME:
            if(TwEventSpecialGLUT(106/*GLUT_KEY_HOME*/, x,y) ) { postRedisplay(); return; }
            break;
        case NVPWindow::KEY_END:
            if(TwEventSpecialGLUT(107/*GLUT_KEY_END*/, x,y) ) { postRedisplay(); return; }
            break;
        case NVPWindow::KEY_LEFT:
            if(TwEventSpecialGLUT(100/*GLUT_KEY_LEFT*/, x,y) ) { postRedisplay(); return; }
            break;
        case NVPWindow::KEY_RIGHT:
            if(TwEventSpecialGLUT(102/*GLUT_KEY_RIGHT*/, x,y) ) { postRedisplay(); return; }
            break;
        case NVPWindow::KEY_BACKSPACE:
            if(TwEventKeyboardGLUT(TW_KEY_BACKSPACE, x,y) ) { postRedisplay(); return; }
            break;
        case NVPWindow::KEY_DELETE:
            if(TwEventKeyboardGLUT(TW_KEY_DELETE, x,y) ) { postRedisplay(); return; }
            break;
        case NVPWindow::KEY_ENTER:
        case NVPWindow::KEY_KP_ENTER:
            if(TwEventKeyboardGLUT(TW_KEY_RETURN, x,y)) { postRedisplay(); return; }
            break;
        case NVPWindow::KEY_ESCAPE:
            //postQuit();
            break;
        }
    }
    TwEventMousePosGLFW(x,y);
    if(TwEventKeyGLFW(key, action) ) {
    //if(TwEventSpecialGLUT(key, x,y) ) {
		postRedisplay();
        return;
	}
#endif
    WindowInertiaCamera::keyboard(key, action, mods, x, y);
  }
Beispiel #6
0
void keyboard_func( unsigned char button, int x, int y ) {
   if (TwEventKeyboardGLUT(button, x, y))
      return;

   switch(button) {
   case 27:
      exit(0);
   }
}
void RotationsViewer::onKeyboard(unsigned char pKey, int x, int y)
{
    // Exit on ESC key.
    if (pKey == 27)
    {
        exit(0);
    }

    if (TwEventKeyboardGLUT(pKey, x, y)) return;
}
Beispiel #8
0
void keyboard(unsigned char key, int x, int y)
{
	switch(key){
	case 27:
		exit(0);
			break;
	case 'l':
		delete shader;
		shader = new GLShader("shader/FrameWork.vert","shader/FrameWork.frag");
		break;
	}
	/// step 5: handle events and window size changes
	TwEventKeyboardGLUT(key,x,y);
}
Beispiel #9
0
static void KeyboardCallback(unsigned char key, int x, int y)
{
	switch (key)
	{
		case 27:	exit(0); break;

		case '+':
		{
			if(gTest!=MAX_NB_TESTS-1)
			{
				gCollisionTests[gTest]->Deselect();
				gTest++;
				gSelectedTest++;
				gCollisionTests[gTest]->Select();
			}
		}
		break;

		case '-':
		{
			if(gTest)
			{
				gCollisionTests[gTest]->Deselect();
				gTest--;
				gSelectedTest--;
				gCollisionTests[gTest]->Select();
			}
		}
		break;

		case 101:	MoveCameraForward();									break;
		case 103:	MoveCameraBackward();									break;
		case 100:	MoveCameraRight();										break;
		case 102:	MoveCameraLeft();										break;
		default:	gCollisionTests[gTest]->KeyboardCallback(key, x, y);	break;
	}

	TwEventKeyboardGLUT(key, x, y);
}
	void Keyboard(unsigned char key, int x, int y) {
		TwEventKeyboardGLUT(key, x, y);
		switch (key)
		{
		case 'w':
		case 'W':
			_camera->move(-10.0f);
			break;
		case 'a':
		case 'A':
			//Camera::rotate(-0.02, 0.0);
			break;
		case 'd':
		case 'D':
			//Camera::rotate(0.02, 0.0);
			break;
		case 's':
		case 'S':
			_camera->move(10.0f);
			break;

		case 'p':
		case 'P':
			_renderManager->pauseSpObjsRendering();
			break;
		case 'r':
		case 'R':
			_renderManager->resumeSpObjsRendering();
			break;
		case 'f':
		case 'F':
			glutFullScreen();
			break;
		case 27: //escape
			glutPositionWindow(glutGet(GLUT_SCREEN_WIDTH) / 14, glutGet(GLUT_SCREEN_HEIGHT) / 28);
			glutReshapeWindow(glutGet(GLUT_SCREEN_WIDTH) * 6 / 7, glutGet(GLUT_SCREEN_HEIGHT) * 6 / 7);
			break;
		}
	}
void keyboard(unsigned char key, int x, int y)
{
	switch(key){
	case 27:
		exit(0);
			break;
	case 'w':
		camera.slide(0.0,0.0,-1.0);
		break;
	case 's':
		camera.slide(0.0,0.0,1.0);
		break;
	case 'a':
		camera.yaw(-1.0);
		break;
	case 'd':
		camera.yaw(1.0);
		break;
	}
	/// step 5: handle events and window size changes
	TwEventKeyboardGLUT(key,x,y);
	glutPostRedisplay();
}
Beispiel #12
0
/** params: 
*		key --> pressed key
*		x --> cursor x coordinate
*		y --> cursor y coordinate
*/
void SpecialKeys(int key, int x, int y) {

	float xStep = 5.0f;
	float yStep = 5.0f;
	float zStep = 5.0f;

	if (bVertAxisInverted)
		yStep = -5;

	switch (key) {
		case GLUT_KEY_LEFT:
			ufoMove[0] += xStep;
			//glutPostRedisplay();
			break;
		case GLUT_KEY_RIGHT:
			ufoMove[0] -= xStep;
			//glutPostRedisplay();
			break;
		case GLUT_KEY_UP:
			ufoMove[2] += zStep;
			//glutPostRedisplay();
			break;
		case GLUT_KEY_DOWN:
			ufoMove[2] -= zStep;
			//glutPostRedisplay();
			break;
		case GLUT_KEY_PAGE_UP:
			ufoMove[1] += yStep;
			break;
		case GLUT_KEY_PAGE_DOWN:
			ufoMove[1] -= yStep;
			break;
	}

	TwEventKeyboardGLUT(key, x, y);
	glutPostRedisplay();
}
// Keyboard event callbacks
int KeyboardCB(unsigned char glutKey, int mouseX, int mouseY) 
{
	TwSetCurrentWindow(glutGetWindow());
	return TwEventKeyboardGLUT(glutKey,mouseX,mouseY);	
}
Beispiel #14
0
void KeyEvent(uint8_t key, int x, int y)
{
    if (TwEventKeyboardGLUT(key, x, y))
        return;

    switch (key)
    {
        case 'o': case 'O':
        {
            char fileName[1024] = { 0 };
            if (osOpenDlg(fileName, 1024))
            {
                try {
                    g_Scene.loadFromFile(fileName);

                    osDisplaySceneInfo(&g_Scene);
                }
                catch (std::exception &e)
                {
                    std::cout << e.what() << std::endl;
                }
            }
                
        }
        break;
        case 'w': case 'W':
            g_Camera->ChangeVelocity(camSpeed);
            break;
        case 's': case 'S':
            g_Camera->ChangeVelocity(camSpeed*-1.0f);
            break;
        case 'a': case 'A':
        {
            float Heading = (float)((g_Camera->m_HeadingDegrees - 90.0f) / 180.0f * M_PI);
            float x = sin(Heading);
            float z = cos(Heading);

            g_Camera->m_Position.x += x*camSpeed;
            g_Camera->m_Position.z += z*camSpeed;
        }
        break;

        case 'd': case 'D':
        {
            float Heading = (float)((g_Camera->m_HeadingDegrees + 90.0f) / 180.0f * M_PI);
            float x = sin(Heading);
            float z = cos(Heading);

            g_Camera->m_Position.x += x*camSpeed;
            g_Camera->m_Position.z += z*camSpeed;
        }
        break;

        case 'r': case 'R':
        {
            g_Camera->m_Position.x += g_Camera->m_Up.x * camSpeed;
            g_Camera->m_Position.y += g_Camera->m_Up.y * camSpeed;
            g_Camera->m_Position.z += g_Camera->m_Up.z * camSpeed;
        }
        break;

        case 'f': case 'F':
        {
            g_Camera->m_Position.x -= g_Camera->m_Up.x * camSpeed;
            g_Camera->m_Position.y -= g_Camera->m_Up.y * camSpeed;
            g_Camera->m_Position.z -= g_Camera->m_Up.z * camSpeed;
        }
        break;
    }
}
Beispiel #15
0
void Keyboard(unsigned char k, int x, int y)
{
	TwEventKeyboardGLUT(k, x, y);
	glutPostRedisplay();
}
Beispiel #16
0
void KeyEvent(uint8_t key, int x, int y)
{
    if (TwEventKeyboardGLUT(key, x, y))
        return;

    switch (key)
    {
    case 'o': case 'O':
    {
        char fileName[1024] = { 0 };
        if (osOpenDlg(fileName, 1024))
        {
            try {
                g_Scene.loadFromFile(fileName);
                std::cout << "[INFO] Model loaded" << std::endl;
                osDisplaySceneInfo(&g_Scene);
                g_Scene.buildBVH();
                std::cout << "[INFO] BVH loaded" << std::endl;
                g_PRT.preComputeGeomCoeff(&g_Scene);
                g_Render.usePreComputedEnvLight(true);
                std::cout << "[INFO] Transport coefficients computed" << std::endl;
            }
            catch (std::exception &e)
            {
                std::cout << e.what() << std::endl;
            }
        }

    }
    break;
    case 'w': case 'W':
        g_Camera->ChangeVelocity(camSpeed);
        break;
    case 's': case 'S':
        g_Camera->ChangeVelocity(camSpeed*-1.0f);
        break;
    case 'a': case 'A':
    {
        float Heading = (float)((g_Camera->m_HeadingDegrees - 90.0f) / 180.0f * M_PI);
        float x = sin(Heading);
        float z = cos(Heading);

        g_Camera->m_Position.x += x*camSpeed;
        g_Camera->m_Position.z += z*camSpeed;
    }
    break;

    case 'd': case 'D':
    {
        float Heading = (float)((g_Camera->m_HeadingDegrees + 90.0f) / 180.0f * M_PI);
        float x = sin(Heading);
        float z = cos(Heading);

        g_Camera->m_Position.x += x*camSpeed;
        g_Camera->m_Position.z += z*camSpeed;
    }
    break;

    case 'r': case 'R':
    {
        g_Camera->m_Position.x += g_Camera->m_Up.x * camSpeed;
        g_Camera->m_Position.y += g_Camera->m_Up.y * camSpeed;
        g_Camera->m_Position.z += g_Camera->m_Up.z * camSpeed;
    }
    break;

    case 'f': case 'F':
    {
        g_Camera->m_Position.x -= g_Camera->m_Up.x * camSpeed;
        g_Camera->m_Position.y -= g_Camera->m_Up.y * camSpeed;
        g_Camera->m_Position.z -= g_Camera->m_Up.z * camSpeed;
    }
    break;
    }
}
void OnKeyboard(unsigned char glutKey, int mouseX, int mouseY)
{
    // send event to AntTweakBar
    if (TwEventKeyboardGLUT(glutKey, mouseX, mouseY))
        glutPostRedisplay(); // request redraw if event has been handled
}