// public void GameofLifeMesh::fill_mesh() { declare_element_nodes_ids(); declare_element_ids(); create_entities(); number_coordinate_field(); }
int check_SDL_events() { SDL_Event event; while(SDL_PollEvent(&event)) { if(event.type == SDL_QUIT) return 1; else if(event.type == SDL_KEYDOWN) { if(event.key.keysym.sym == SDLK_ESCAPE) return 1; else if(event.key.keysym.sym == SDLK_RETURN) { if(is_paused()) { if(!is_started()) { set_started(1); } else if(is_game_over()) { set_game_over(0); ent_table_shutdown(); ent_table_init(); create_entities(); } } toggle_paused(); } } } return 0; }
int main(int argc, char **argv) { SDL_Surface *screen, *background, *pause_text, *press_enter_text, *game_over_text; const SDL_VideoInfo *video_info; Uint32 frame_start, frame_end = 0, game_frame_end = 0; systems_init(); screen = SDL_SetVideoMode(800, 600, 0, SDL_HWSURFACE|SDL_DOUBLEBUF); video_info = SDL_GetVideoInfo(); create_images(&press_enter_text, &pause_text, &game_over_text, &background); create_entities(); for(;;) { start_frame(&frame_start, &frame_end); if(check_SDL_events()) break; draw_background(background, screen, video_info); update_entities(game_frame_end ); if(is_paused()) { if(is_game_over()) { draw_centered(screen, video_info, game_over_text); } else if(is_started()) { draw_centered(screen, video_info, pause_text); } else { draw_centered(screen, video_info, press_enter_text); } } SDL_Flip(screen); finish_frame(&frame_start, &frame_end, &game_frame_end); } SDL_FreeSurface(background); SDL_FreeSurface(pause_text); SDL_FreeSurface(press_enter_text); systems_shutdown(); return 0; }
TEST( hex_refine, hex_refine) { double start_time = stk::cpu_time(); //unsigned ex=100, ey=100, ez=100; const int max_levels = 2; unsigned nn = 100/(1 << (max_levels-1)); unsigned ex=nn, ey=nn, ez=nn; //unsigned num_elems = ex*ey*ez; fixtures::HexFixture fixture(MPI_COMM_WORLD, ex, ey, ez); fixture.m_meta.commit(); fixture.generate_mesh(); double create_time = stk::cpu_time() - start_time; std::vector<double> avg_centroid(3, 0.0); //const double tolerance = 1.e-6; //const double expected = ((double)ex)/2; start_time = stk::cpu_time(); for (int level=1; level <= max_levels; ++level) { HexRefineInfo refine_info(level, ex, ey, ez); //Selector hex_elem_selector(fixture.m_hex_part & !fixture.m_node_part); unsigned num_elems_new = refine_info.num_elems(); std::cout << "num_elems_new for level = " << level << " = " << num_elems_new << std::endl; fixture.m_bulk_data.modification_begin(); create_entities(fixture.m_bulk_data, fixture.m_node_parts, fixture.m_elem_parts, refine_info); fixture.m_bulk_data.modification_end(); } double refine_time = stk::cpu_time() - start_time; double total_time = refine_time + create_time; static const int NUM_TIMERS = 3; const double timers[NUM_TIMERS] = {create_time, refine_time, total_time}; const char* timer_names[NUM_TIMERS] = {"Create mesh", "Refine", "Total time"}; stk::print_timers_and_memory(&timer_names[0], &timers[0], NUM_TIMERS); stk::parallel_print_time_without_output_and_hwm(MPI_COMM_WORLD, total_time); }