void model::update(double time) { view::update(time); create_phys(); double dt = time - (last_update_ ? *last_update_ : 0); if (!cg::eq_zero(dt)) { update_model(time, dt); sync_phys(dt); sync_nodes_manager(dt); update_contact_effects(time); } last_update_ = time; }
void model::update(double time) { view::update(time); if(start_) { start_(); start_.clear(); } double dt = time - (last_update_ ? *last_update_ : 0); if (!cg::eq_zero(dt)) { update_model(time, dt); #if 0 if (!manual_controls_) #endif sync_phys(dt); #if 0 else { cg::geo_base_3 base = phys_->get_base(*phys_zone_); decart_position cur_pos = phys_vehicle_->get_position(); geo_position cur_glb_pos(cur_pos, base); set_state(state_t(cur_glb_pos.pos, cur_pos.orien.get_course(), 0)); } #endif sync_nodes_manager(dt); } last_update_ = time; }