Beispiel #1
0
void get_intern_set()
{
  char *n[MAX_INTERN_SET],key[MAX_INTERN_SET],ch;
  int i,j;
  int count=Nintern_set;
  Window temp=main_win;
  if(count==0)return;
  for(i=0;i<Nintern_set;i++){
    n[i]=(char *)malloc(256);
    key[i]='a'+i;
    sprintf(n[i],"%c: %s",key[i],intern_set[i].name);
  }
  key[count]=0;
  ch=(char)pop_up_list(&temp,"Param set",n,key,count,12,0,10,0,
		       no_hint,info_pop,info_message);
   for(i=0;i<count;i++)free(n[i]);
  j=(int)(ch-'a');
  if(j<0||j>=Nintern_set){
    err_msg("Not a valid set");
    return;
  }
  /* plintf(" Got set %d \n",j); */
  get_graph();
  extract_internset(j);
  chk_delay();
  redraw_params();
  redraw_ics();
  reset_graph();
}
Beispiel #2
0
void Thief::seek()
{
    Agent* agent = senseAgent();
    if ( agent != NULL )
    {
        if ( agent->m_catched_meteorito )
        {
            reset_graph();
            _state = CHASE;
            _victim = agent;
        }
    }
    else
        walk_in_graph();
}
 /**
  * Constructs a sum-product algorithm for a junction tree whose vertices
  * are associated with factors s.t. the product of the factors represents
  * a probability distribution.
  */
 explicit sum_product_calibrate(const cluster_graph<domain_type, F>& jt) {
   reset_graph(jt);
 }
void reach_client::on_key_down(int key)
{
    switch (key)    
    {
    case '1':
        draw_graph = !draw_graph;
        break;
    case '2':
        draw_shortcuts = !draw_shortcuts;
        break;
    case 'I':
    case 'i':
        if (selected_.is_initialized())
        {
            const reach_vertex &v = pgraph_->get_vertex(*selected_);
            cout << "Vertex " << *selected_ << ", orig id " << v.get_data().orig_id << endl;
            cout << "Reach " << pprep_->get_reaches()[v.get_data().orig_id] << endl;
            cout << "Penalty " << v.data.penalty << endl;
            for (auto it = v.out_begin(); it != v.out_end(); ++it)
            {
                const reach_edge &e = pgraph_->get_edge(it->e);
                cout << "  " << "vertex " << it->v << " edge " << it->e << " orig id " << e.get_data().orig_id << " len " << e.get_data().len << endl;
            }
        }
        break;

    /*case 'L':
    case 'l':
        if (lit_.is_initialized())
        {
            get_visualizer().free_ib(lit_->ib);
            lit_.reset();
        }
        
        if (selected_.is_initialized())
        {
            my_graph::path_map m;
            reach_dijkstra d (*pgraph_, *selected_, m);
            while (!d.done())
                d.iterate();

            tree_desc desc;
            desc.ib = g_desc.ib;
            desc.ib_size = g_desc.ib_size;

            lit_.reset(upload_tree(m, desc));
        }
        break;*/

    case 'M':
    case 'm':
        reset_graph(pprep_->iterate());
        if (pgraph_->v_count() == 0)
            pprep_->save_reaches_and_shortcurs(filename_);
        break;
        //pgraph_.reset(pprep_->iterate())
        /*if (lit1_.is_initialized())
        {
            get_visualizer().free_ib(lit1_->ib);
            lit1_.reset();
        }
        if (lit2_.is_initialized())
        {
            get_visualizer().free_ib(lit2_->ib);
            lit2_.reset();
        }
        if (selected_.is_initialized())
        {
            my_graph::path_map m1, m2;

            draw_circle (*pgraph_, *selected_, 0.25, m1, m2);
            
            tree_desc desc;
            desc.ib = g_desc.ib;
            desc.ib_size = g_desc.ib_size;

            lit1_.reset(upload_tree(m1, desc));
            lit2_.reset(upload_tree(m2, desc));
            cout << "Tree size: " << m1.size() << endl;
        }
        break;*/
    case 'C':
    case 'c':
        selecting_ = !selecting_;
        if (selecting_)
        {
            square1_ = mouse_coords_world_;
            square2_ = mouse_coords_world_;
        }
        cout << "Mouse: " << mouse_coords_world_ << endl;
        break;
    case 'O':
    case 'o':
        run_reaches_update(*pgraph_, 0.02);
        break;
    case 's':
    case 'S':
        ::add_shortcuts_temp(*pgraph_);
        reset_graph(pgraph_.get());
        break;
    case '9':
        if (selected_.is_initialized())
            build_c9_tree(*selected_);
        break;

    case VK_DELETE:
        delete_verts();
        break;
    }
    base_visualizer_client::on_key_down(key);
}