COIN-OR::LEMON - Graph Library

Changeset 201:879e47e5b731 in glemon-0.x for kruskalbox.cc


Ignore:
Timestamp:
01/02/08 22:03:09 (16 years ago)
Author:
Akos Ladanyi
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/glemon/trunk@3431
Message:

Merge branches/akos to trunk.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kruskalbox.cc

    r194 r201  
    3434{
    3535  if(
    36      tabcbt.get_active_text()!="" &&
    37      (edgemapcbts[INPUT])->get_active_text()!="" &&
    38      (edgemapcbts[OUTPUT])->get_active_text()!=""
    39      )
     36      tabcbt.get_active_text()!="" &&
     37      (edgemapcbts[INPUT])->get_active_text()!="" &&
     38      (edgemapcbts[OUTPUT])->get_active_text()!=""
     39    )
     40  {
     41
     42    const Graph &g=mapstorage->getGraph();
     43    std::string input_map_name = edgemapcbts[INPUT]->get_active_text();
     44    Graph::EdgeMap<bool> outputmap(g);
     45    const MapStorage::NumericEdgeMap& inputmap=
     46      mapstorage->getNumericEdgeMap(input_map_name);
     47    double res=kruskal(g, inputmap, outputmap);
     48
     49    for (EdgeIt i(g); i!=INVALID; ++i)
    4050    {
     51      if(outputmap[i])
     52      {
     53        mapstorage->set(edgemapcbts[OUTPUT]->get_active_text(), i, 1.0);
     54      }
     55      else
     56      {
     57        mapstorage->set(edgemapcbts[OUTPUT]->get_active_text(), i, 0.0);
     58      }
     59    }
    4160
    42       const Graph &g=mapstorage->graph;
    43       Graph::EdgeMap<double> * inputmap=
    44         ((mapstorage->edgemap_storage)[(edgemapcbts[INPUT])->get_active_text()]);
    45       Graph::EdgeMap<bool> outputmap(g);
    46       double res=kruskal(g, *inputmap, outputmap);
     61    std::ostringstream o;
     62    o << "Result: " << res;
     63    resultlabel.set_text(o.str());
    4764
    48       for (EdgeIt i(g); i!=INVALID; ++i)
    49         {
    50           if(outputmap[i])
    51             {
    52               (*((mapstorage->edgemap_storage)[(edgemapcbts[OUTPUT])->
    53                                                get_active_text()]))[i]=1;
    54             }
    55           else
    56             {
    57               (*((mapstorage->edgemap_storage)[(edgemapcbts[OUTPUT])->
    58                                                get_active_text()]))[i]=0;
    59             }
    60         }
     65    mapstorage->mapChanged(true, (edgemapcbts[OUTPUT])->get_active_text());
     66    //   mapstorage->changeActiveMap(true, E_COLOR,
     67    //                        (edgemapcbts[OUTPUT])->get_active_text());
     68    //   mapstorage->changeActiveMap(true, E_TEXT,
     69    //                        (edgemapcbts[INPUT])->get_active_text());
    6170
    62       std::ostringstream o;
    63       o << "Result: " << res;
    64       resultlabel.set_text(o.str());
    65 
    66       mapstorage->mapChanged(true, (edgemapcbts[OUTPUT])->get_active_text());
    67       //   mapstorage->changeActiveMap(true, E_COLOR,
    68       //                              (edgemapcbts[OUTPUT])->get_active_text());
    69       //   mapstorage->changeActiveMap(true, E_TEXT,
    70       //                              (edgemapcbts[INPUT])->get_active_text());
    71  
    72     }
     71  }
    7372}
    7473   
     
    7776  std::vector<std::string> empty_vector;
    7877
    79   addMapSelector("Edgecosts: ", true);
    80   addMapSelector("Edges of tree here: ", true);
     78  addMapSelector("Edgecosts: ", true, NUM);
     79  addMapSelector("Edges of tree here: ", true, NUM);
    8180
    8281  resultlabel.set_text("Result: algorithm is not run yet.");
Note: See TracChangeset for help on using the changeset viewer.