void CreatorWrapper::edgeCmdCallback(const graph_planner::EdgeCmd::ConstPtr& cmd) { graphPath_ = nullptr; // add edge to the graph if (cmd->cmd == EdgeCMD::add_edge) { std::cerr << "Add new Edge" << std::endl; addEdge(cmd->edgeInfo.from_point, cmd->edgeInfo.to_point, cmd->edgeInfo.weight ); } if (cmd->cmd == EdgeCMD::update_edge) { edgeUpateFromMsg(cmd->edgeInfo); } if (cmd->cmd == EdgeCMD::del_edge) { removeEdge(cmd->edgeInfo.key_id); } if (cmd->cmd == EdgeCMD::save_graph) { std::cerr << "Save graph" << std::endl; saveGraphToFile(folder_path_, name_); } pubGraph(); pubRvizGraph(); }
int main(int argc, char* argv[]) { Graph g1,lg1; readGraphFromFile(argv[1],g1, 1); if(!lineGraph(g1,lg1)){ std::cout <<"Error, stopping program!"<<std::endl; return -1; } saveGraphToFile(std::string("lg_")+argv[1],lg1,1); std::cout <<"Line graph created and saved to disk!"<<std::endl; return 0; }
int main(int argc, char* argv[]) { Graph g1,g2,gProd; readGraphFromFile(argv[1],g1, 1); readGraphFromFile(argv[2],g2, 1); if(!modProductGraph(g1,g2,gProd)){ std::cout <<"Error, stopping program!"<<std::endl; return -1; } saveGraphToFile("modularProd.dot",gProd,1); std::cout<<"Modular product computed and saved to disk!"<<std::endl; return 0; }
void clique(const Clique& c, const Graph& g) { vertexFilter<Clique> filterV(c); edgeFilter<Clique> filterE(c, g); typedef boost::filtered_graph<Graph, edgeFilter<Clique>, vertexFilter<Clique> > FilteredGraphType; FilteredGraphType filteredGraph(g, filterE, filterV); // (graph, EdgePredicate, VertexPredicate) Graph temp; boost::copy_graph(filteredGraph, temp); int dim = boost::num_vertices(temp); if(dim>maxDim) { maxClique = temp; } saveGraphToFile("maxClique.dot", maxClique,1); }