Esempio n. 1
0
int main(int argc,char* argv[])
{
	// Initailze GLUT
	::glutInitWindowPosition(200,200);
	::glutInitWindowSize(400, 300);
	::glutInit(&argc, argv);	
  ::glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH);
	::glutCreateWindow("Cad View");
  
	// Set callback function
	::glutMotionFunc(myGlutMotion);
	::glutMouseFunc(myGlutMouse);
	::glutDisplayFunc(myGlutDisplay);
	::glutReshapeFunc(myGlutResize);
	::glutKeyboardFunc(myGlutKeyboard);
  ::glutSpecialFunc(myGlutSpecialFunc);
	::glutIdleFunc(myGlutIdle);
  
  //    cameras.SetIsPers(true);
  cameras.Fit( Com::CBoundingBox3D(-2,2,-2,2,-2,2) );
  SetNewProblem();
  
	// Enter main loop
	::glutMainLoop();
	return 0;
}
Esempio n. 2
0
void myGlutKeyboard(unsigned char key, int x, int y)
{
  switch (key) {
    case 'q':
    case 'Q':
    case '\033':  /* '\033' は ESC の ASCII コード */
      exit(0);
      break;
    case 'a':
      is_animation = !is_animation;
      break;
    case 's':
      //      StepTime();
      break;
    case 'c':
      for(unsigned int irb=0;irb<aRB.size();irb++){
        aRB[irb].Clear();
      }
      for(unsigned int icst=0;icst<apFix.size();icst++){
        apFix[icst]->Clear();
      }
      break;
    case ' ':
      SetNewProblem();
    default:
      break;
  }
}
Esempio n. 3
0
void myGlutKeyboard(unsigned char key, int x, int y)
{
  switch (key) {
  case 'q':
  case 'Q':
  case '\033':  /* '\033' ÇÕ ESC ÇÃ ASCII ÉRÅ[Éh */
	  exit(0);
	  break;
  case ' ':
	  SetNewProblem();
	  break;
  default:
    break;
  }
}
Esempio n. 4
0
int main(int argc,char* argv[])
{
	// Initailze GLUT
	::glutInitWindowPosition(200,200);
	::glutInitWindowSize(400, 300);
	::glutInit(&argc, argv);	
    ::glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH);
	::glutCreateWindow("Cad 3D View");

	// Set callback function
	::glutMotionFunc(myGlutMotion);
	::glutMouseFunc(myGlutMouse);
	::glutDisplayFunc(myGlutDisplay);
	::glutReshapeFunc(myGlutResize);
	::glutKeyboardFunc(myGlutKeyboard);
	::glutIdleFunc(myGlutIdle);
  ::glutSpecialFunc(myGlutSpecial);

	SetNewProblem();
  
  {
    ::glEnable(GL_LIGHTING);
    ::glEnable(GL_LIGHT0);    
    float light0pos[4] = {0,0,+20,0};
    ::glLightfv(GL_LIGHT0, GL_POSITION, light0pos);      
    float white1[3] = {0.7,0.7,0.7};
    ::glLightfv(GL_LIGHT0, GL_DIFFUSE, white1);
    ////
    ::glEnable(GL_LIGHT1);    
    float light1pos[4] = {0,10,0,0};
    float white2[3] = {0.9,0.9,0.9};    
    ::glLightfv(GL_LIGHT1, GL_POSITION, light1pos);      
    ::glLightfv(GL_LIGHT1, GL_DIFFUSE, white2);        
  }  
  
  ::glutCreateMenu(myGlutMenu);
  ::glutAddMenuEntry("Drag Loop", 0);  
  ::glutAddMenuEntry("Add Loop", 1);   
  ::glutAttachMenu(GLUT_RIGHT_BUTTON);

	// Enter main loop
	::glutMainLoop();
	return 0;
}