Ejemplo n.º 1
0
void ParseArgs (int argc, char * argv[], Measure * time)
{
  double d;

  if (argc != 2) GiveUsage();
  d = atof (argv[1]);
  if (d < 0) GiveUsage();
  *time = Measure (d, &SECOND);
}
int main(int argc,char **argv)
{
   int i,j,depth;
   int mainmenu,speedmenu;

   for (i=1;i<argc;i++) {
      if (strstr(argv[i],"-h") != NULL)
         GiveUsage(argv[0]);
      if (strstr(argv[i],"-q") != NULL) {
         if (i+1 >= argc)
            GiveUsage(argv[0]);
         drawquality = atoi(argv[i+1]);
         if (drawquality < DRAFT)
            drawquality = DRAFT;
         if (drawquality > BEST)
            drawquality = BEST;
         i++;
      }
   }

   /* Set things up and go */
   glutInit(&argc,argv);
   glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
   glutCreateWindow("Micro CT Simulations Version 0.1 HL");
   glutDisplayFunc(Display);
   glutVisibilityFunc(HandleVisibility);
   glutKeyboardFunc(HandleKeyboard);
   glutSpecialFunc(HandleSpecialKeyboard);
   glutMouseFunc(HandleMouse);

   CreateEnvironment();

   /* Set up some menus */
   speedmenu = glutCreateMenu(HandleSpeedMenu);
   glutAddMenuEntry("Slow",1);
   glutAddMenuEntry("Medium",2);
   glutAddMenuEntry("fast",3);
   mainmenu = glutCreateMenu(HandleMainMenu);
   glutAddMenuEntry("Toggle camera spin",1);
   glutAddMenuEntry("Change Eye Location rho",2);    //HL: change the Eye Location
   glutAddSubMenu("Speed",speedmenu);
   glutAddMenuEntry("Quit",100);
   glutAttachMenu(GLUT_RIGHT_BUTTON);

   glutMainLoop();
   return(0);
}
Ejemplo n.º 3
0
int main (int argc, char * argv[])
{
  double   dIn;
  double   dOut;
  Measure  factor;
  char     op;
  Unit *   uIn;
  Unit *   uOut;

  if (argc != 3) GiveUsage();
  dIn = atof (argv[1]);
  switch (argv[2][0])
  {
    case 'f': case 'F':
      factor = CONVERT_FEETPERMETER;
      op = '/';
      uIn = &FOOT;
      uOut = &METER;
    break;
    case 'k': case 'K':
      factor = CONVERT_SLUGSPERKILOGRAM;
      op = '*';
      uIn = &KILOGRAM;
      uOut = &SLUG;
    break;
    case 'm': case 'M':
      factor = CONVERT_FEETPERMETER;
      op = '*';
      uIn = &METER;
      uOut = &FOOT;
    break;
    case 's': case 'S':
      factor = CONVERT_SLUGSPERKILOGRAM;
      op = '/';
      uIn = &SLUG;
      uOut = &KILOGRAM;
    break;
    default: GiveUsage(); break;
  }
  dOut = Convert (dIn, uIn, uOut, op, factor);

  cout << dIn << ' ' << uIn->GetName() << " = ";
  cout << dOut << ' ' << uOut->GetName() << endl;

  exit (0);
}
Ejemplo n.º 4
0
int main(int argc,char **argv)
{
   int i;
   int mainmenu,itermenu,heightmenu,resolmenu;
   int methodmenu,colourmenu;

   camera.screenwidth = 800;
   camera.screenheight = 600;

   /* Parse the command line arguments */
   for (i=1;i<argc;i++) {
      if (strstr(argv[i],"-h") != NULL) 
         GiveUsage(argv[0]);
      if (strstr(argv[i],"-f") != NULL)
         fullscreen = TRUE;
      if (strstr(argv[i],"-s") != NULL)
         stereo = TRUE;
      if (strstr(argv[i],"-d") != NULL)
         debug = TRUE;
      if (strstr(argv[i],"-D") != NULL)
         demomode = TRUE;
      if (strstr(argv[i],"-S") != NULL)
          sscanf( argv[++i], "%i", &seedvalue );
      if (strstr(argv[i],"-F") != NULL)
          sscanf( argv[++i], "%i", &spheredepth );
      if (strstr(argv[i],"--origin") != NULL)
          whichmethod = 1;
      if (strstr(argv[i],"--notorigin") != NULL)
          whichmethod = 2;
   }

   /* Set things up and go */
   glutInit(&argc,argv);
   if (!stereo)
      glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
   else
      glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH | GLUT_STEREO);

   glutCreateWindow("Planet creation example");
   glutReshapeWindow(camera.screenwidth,camera.screenheight);
   if (fullscreen)
      glutFullScreen();
   glutDisplayFunc(Display);
   glutReshapeFunc(HandleReshape);
   glutVisibilityFunc(HandleVisibility);
   glutKeyboardFunc(HandleKeyboard);
   glutSpecialFunc(HandleSpecialKeyboard);
   glutMouseFunc(HandleMouse);
   glutMotionFunc(HandleMouseMotion);

   nface = FormSphere(spheredepth);
   CreateEnvironment();
   CameraHome(0);

   /* Iteration menu */
   itermenu = glutCreateMenu(HandleIterMenu);
   glutAddMenuEntry("Decrease iteration depth",1);
   glutAddMenuEntry("Increase iteration depth",2);
   glutAddMenuEntry("Do 100 more",3);
   glutAddMenuEntry("Do 1000 more",4);
   glutAddMenuEntry("Reset",5);

   /* Height menu */
   heightmenu = glutCreateMenu(HandleHeightMenu);
   glutAddMenuEntry("Low",1);
   glutAddMenuEntry("Average",2);
   glutAddMenuEntry("High",3);

   /* Sphere resolution menu */
   resolmenu = glutCreateMenu(HandleResolMenu);
   glutAddMenuEntry("Low (8192 facets)",5);
   glutAddMenuEntry("Average (32768 facets)",6);
   glutAddMenuEntry("High (131072 facets)",7);
   glutAddMenuEntry("Extreme (524288 facets)",8);

   /* Colour map menu */
   colourmenu = glutCreateMenu(HandleColourMenu);
   glutAddMenuEntry("Mars 1",11);
   glutAddMenuEntry("Mars 2",12);
   glutAddMenuEntry("Earth (Sea to snow)",15);
   glutAddMenuEntry("Extreme earth",10);
   glutAddMenuEntry("Land to snow",13);
   glutAddMenuEntry("Grey Scale",3);
   glutAddMenuEntry("Hot to cold",1);

   /* Algorithm menu */
   methodmenu = glutCreateMenu(HandleMethodMenu);
   glutAddMenuEntry("Plane through origin",1);
   glutAddMenuEntry("Plane not through origin",2);

   /* Set up the main menu */
   mainmenu = glutCreateMenu(HandleMainMenu);
   glutAddSubMenu("Iteration depth",itermenu);
   glutAddSubMenu("Height control",heightmenu);
   glutAddSubMenu("Sphere resolution",resolmenu);
   glutAddSubMenu("Colour map",colourmenu);
   glutAddSubMenu("Algorithm",methodmenu);
   glutAddMenuEntry("Toggle lights on/off",1);
   glutAddMenuEntry("Toggle wireframe/solid",2);
   glutAddMenuEntry("Toggle construction on/off",3);
   glutAddMenuEntry("Toggle smooth shading on/off",4);
   glutAddMenuEntry("Toggle ocean on/off",5);
   glutAddMenuEntry("Change seed",9);
   glutAddMenuEntry("Quit",10);
   glutAttachMenu(GLUT_RIGHT_BUTTON);

   /* Ready to go! */
   glutMainLoop();
   return(0);
}
int main(int argc,char **argv)
{

   int i,j,depth,l=0, m=0;
   int mainmenu,speedmenu;

   rd = fopen("read_dda.txt", "r");
   if (rd < 0)
   {
      perror("unable to read from file");
      return 1;
   }
   while(!feof(rd))
   {
      fscanf(rd, "%f", &x_buffer[l]);
      fscanf(rd, "%f", &y_buffer[l]);
      printf("x = %f, y = %f\n", x_buffer[l], y_buffer[l]);
      l++;
   }
   fclose(rd);
   buffer_index = l;
   printf("buffer_index = %d\n", buffer_index);

   rdp = fopen("read_bresenham.txt", "r");
   if (rdp < 0)
   {
      perror("unable to read from file");
      return 1;
   }
   // read the value of radius from file, first value in file
   fscanf(rdp, "%d", &radius_file);
   while(!feof(rdp))
   {
      fscanf(rdp, "%d", &x_bresenham[m]);
      fscanf(rdp, "%d", &y_bresenham[m]);
      printf("x_bresenham = %d, y_bresenham = %d\n", x_bresenham[m], y_bresenham[m]);
      m++;
   }
   fclose(rdp);
   buffer_bresenham = m;
   printf("buffer_bresenham = %d\n", buffer_bresenham);

   printf("radius = %d\n\n\n", radius_file);

   for (i=1;i<argc;i++) {
      if (strstr(argv[i],"-h") != NULL)
         GiveUsage(argv[0]);
      if (strstr(argv[i],"-q") != NULL) {
         if (i+1 >= argc)
            GiveUsage(argv[0]);
         drawquality = atoi(argv[i+1]);
         if (drawquality < DRAFT)
            drawquality = DRAFT;
         if (drawquality > BEST)
            drawquality = BEST;
         i++;
      }
   }

   /* Set things up and go */
   glutInit(&argc,argv);
   glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
   glutCreateWindow("Micro CT Simulations Version 0.1 HL");
   glutDisplayFunc(Display);
   //glutDisplayFunc(display);
   glutVisibilityFunc(HandleVisibility);
   glutKeyboardFunc(HandleKeyboard);
   glutSpecialFunc(HandleSpecialKeyboard);
   glutMouseFunc(HandleMouse);

   CreateEnvironment();

   /* Set up some menus */
   speedmenu = glutCreateMenu(HandleSpeedMenu);
   glutAddMenuEntry("Slow",1);
   glutAddMenuEntry("Medium",2);
   glutAddMenuEntry("fast",3);
   mainmenu = glutCreateMenu(HandleMainMenu);
   glutAddMenuEntry("Toggle camera spin",1);
   glutAddMenuEntry("Change Eye Location rho",2);    //HL: change the Eye Location
   glutAddSubMenu("Speed",speedmenu);
   glutAddMenuEntry("Quit",100);
   glutAttachMenu(GLUT_RIGHT_BUTTON);

   glutMainLoop();
   return(0);
}