int main(int argc, char** argv) { #ifdef _DEBUG cout << "***DEBUG BUILD***" << endl; #endif ncc::whoami(); InitRun(argc,argv); InitGlut(argc,argv); InitHUD(); InitDevIL(); InitPhysX(); InitCUDA(); InitExperiment(); glutMainLoop(); // enter event processing return 0; // never actually reached. }
int ProcessMessage ( char *buf , int nread ) { char command[50] , data[200] ; buf[nread] = '\0' ; sscanf ( buf , "%s %s" , command , data ) ; if ( ! strcmp ( command , "path" ) ) { char *str , *token ; int j ; str = data ; token = strtok ( str , "," ) ; if ( token == NULL ) { return - 1 ; } sscanf ( token , "%lf" , &T_p_planning ) ; str = NULL ; token = strtok ( str , "," ) ; if ( token == NULL ) { return - 1 ; } sscanf ( token , "%lf" , &K_planning ) ; str = NULL ; token = strtok ( str , "," ) ; if ( token == NULL ) { return - 1 ; } sscanf ( token , "%s" , save_file ) ; str = NULL ; for ( j = 0 ; ; j ++ ) { token = strtok ( str , "," ) ; if ( token == NULL ) { break ; } sscanf ( token , "%lf" , &X_planning[j] ) ; str = NULL ; token = strtok ( str , "," ) ; if ( token == NULL ) { return - 1 ; } sscanf ( token , "%lf" , &Y_planning[j] ) ; str = NULL ; token = strtok ( str , "," ) ; if ( token == NULL ) { return - 1 ; } sscanf ( token , "%lf" , &Z_planning[j] ) ; str = NULL ; } planning_points = j ; smooth_flag = 0 ; if ( GenerateTrackCubic ( ) < 0 ) { return - 1 ; } if ( finished ) { send_message_safe ( "path begin" ) ; InitExperiment ( ) ; } else { send_message_safe ( "path in_curse" ) ; } return 0 ; } if ( ! strcmp ( command , "points" ) ) { char *str , *token ; int j ; str = data ; token = strtok ( str , "," ) ; if ( token == NULL ) { return - 1 ; } sscanf ( token , "%s" , save_file ) ; str = NULL ; for ( j = 0 ; ; j ++ ) { token = strtok ( str , "," ) ; if ( token == NULL ) { break ; } sscanf ( token , "%lf" , &X_planning[j] ) ; str = NULL ; token = strtok ( str , "," ) ; if ( token == NULL ) { return - 1 ; } sscanf ( token , "%lf" , &Y_planning[j] ) ; str = NULL ; token = strtok ( str , "," ) ; if ( token == NULL ) { return - 1 ; } sscanf ( token , "%lf" , &T_planning[j] ) ; str = NULL ; } planning_points = j ; smooth_flag = 0 ; if ( GenerateTrack ( ) < 0 ) { return - 1 ; } if ( finished ) { send_message_safe ( "points begin" ) ; InitExperiment ( ) ; } else { send_message_safe ( "points in_curse" ) ; } return 0 ; } if ( ! strcmp ( command , "reference" ) ) { char *str , *token ; int j ; str = data ; token = strtok ( str , "," ) ; if ( token == NULL ) { return - 1 ; } sscanf ( token , "%s" , save_file ) ; str = NULL ; for ( j = 0 ; ; j ++ ) { token = strtok ( str , "," ) ; if ( token == NULL ) { break ; } sscanf ( token , "%lf" , &X_planning[j] ) ; str = NULL ; token = strtok ( str , "," ) ; if ( token == NULL ) { return - 1 ; } sscanf ( token , "%lf" , &Y_planning[j] ) ; str = NULL ; token = strtok ( str , "," ) ; if ( token == NULL ) { return - 1 ; } sscanf ( token , "%lf" , &T_planning[j] ) ; str = NULL ; } planning_points = j ; smooth_flag = 1 ; if ( GenerateTrack ( ) < 0 ) { return - 1 ; } if ( finished ) { send_message_safe ( "reference begin" ) ; InitExperiment ( ) ; } else { send_message_safe ( "reference in_curse" ) ; } return 0 ; } return - 1 ; }