//------------------------------------------------------------------------------ int main(int argc, char** argv) { switch( TRAJECTORY ) { case TRAJECTORY_LINE: default: lineTest(); break; case TRAJECTORY_CIRCLE: circleTest(); break; case TRAJECTORY_SINE: sineTest(); break; case TRAJECTORY_DBLSINE: compressedsineandsineTest(); break; case TRAJECTORY_IMMELMANN: immelmannTest(); break; case TRAJECTORY_DBLIMMELMANN: dblimmelmannTest(); break; case TRAJECTORY_LOOP: loopTest(); break; } glutInit(&argc, argv); glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB |GLUT_DEPTH); glutInitWindowSize (600, 600); glutInitWindowPosition (100, 100); glutCreateWindow ( title.c_str() ); catmullrom_s = CubicSpline::linearly_interpolate_arclength( CUBIC_SPLINE_CATMULLROM, actor.trajectory.controlpoints ); catmullrom_M = CubicSpline::basisCatmullRom(); catmullrom_arclength_map = CubicSpline::map_spline( CUBIC_SPLINE_CATMULLROM, actor.trajectory.controlpoints ); std::cout << "catmullrom arclength s:" << catmullrom_s << std::endl; bspline_s = CubicSpline::linearly_interpolate_arclength( CUBIC_SPLINE_B, actor.trajectory.controlpoints ); bspline_M = CubicSpline::basisUniformNonrationalBSpline(); bspline_arclength_map = CubicSpline::map_spline( CUBIC_SPLINE_B, actor.trajectory.controlpoints ); std::cout << "bspline arclength s:" << bspline_s << std::endl; camera.project(); init (); glutDisplayFunc(display); glutReshapeFunc(reshape); glutKeyboardFunc(keyboard); glutIdleFunc(idle); glutMainLoop(); return 0; }
void main(int ac, char **av) { int delay = 0; int iters = 0; int inter = 0; int line = 0; int i; PROCESS dotpid; int rc; for (i = 1; i < ac; i++) { if (!strcmp("-delay", av[i])) { if (++i >= ac) { printf("Missing delay time for -delay option.\n"); } delay = atoi(av[i]); if (delay < 0) { printf("Delay must be at least 0 seconds.\n"); Usage(); } } else if (!strcmp("-iters", av[i])) { if (++i >= ac) { printf("Missing iteration count for -iters option.\n"); } iters = atoi(av[i]); if (iters < 0) { printf("Number of iterations must be at least 0.\n"); Usage(); } } else if (!strcmp("-nobuf", av[i])) { rc = setvbuf(stdin, NULL, _IONBF, 0); if (rc < 0) { perror("Setting -nobuf for stdin"); } } else if (!strcmp("-inter", av[i])) { inter = 1; } else if (!strcmp("-line", av[i])) { line = 1; } else Usage(); } IOMGR_Initialize(); LWP_CreateProcess(DotWriter, 32000, LWP_NORMAL_PRIORITY, (char *)0, "DotWriter", &dotpid); if (inter) { interTest(); exit(1); } if (line) { lineTest(); exit(1); } if (delay == 0) { delay = -1; /* Means wait indefinitely. */ } for (; iters >= 0; iters--) { waitingForAnswer = 1; LWP_NoYieldSignal(&waitingForAnswer); rc = LWP_WaitForKeystroke(delay); waitingForAnswer = 0; if (rc) { printf("\n'%c'\n", getchar()); printf("Flushing remaining input.\n"); while (LWP_WaitForKeystroke(0)) { printf("'%c'\n", getchar()); } } else { printf("\nNo data available on this iteration.\n"); } } }