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();
}
Exemple #2
0
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;
}
Exemple #3
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;
}
Exemple #4
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);
    }