21 #ifndef _TLPGRAPHTOOLS_H
22 #define _TLPGRAPHTOOLS_H
26 #include <tulip/tuliphash.h>
27 #include <tulip/Node.h>
28 #include <tulip/Edge.h>
30 #include <tulip/PlanarConMap.h>
34 class BooleanProperty;
36 class IntegerProperty;
47 TLP_SCOPE std::vector<std::vector<node> > computeCanonicalOrdering(PlanarConMap *,
48 std::vector<edge> *dummyEdges = NULL,
49 PluginProgress *pluginProgress = NULL);
54 TLP_SCOPE std::vector<node> computeGraphCenters(Graph * graph);
60 TLP_SCOPE node graphCenterHeuristic(Graph * graph,
61 PluginProgress *pluginProgress = NULL);
66 TLP_SCOPE node makeSimpleSource(Graph* graph);
68 TLP_SCOPE
void makeProperDag(Graph* graph,std::list<node> &addedNodes,
69 TLP_HASH_MAP<edge,edge> &replacedEdges,
70 IntegerProperty* edgeLength = NULL);
78 TLP_SCOPE
void selectSpanningForest(Graph* graph, BooleanProperty *selectionProperty,
79 PluginProgress *pluginProgress = NULL);
87 TLP_SCOPE
void selectSpanningTree(Graph* graph, BooleanProperty *selection,
88 PluginProgress *pluginProgress = NULL);
96 TLP_SCOPE
void selectMinimumSpanningTree(Graph* graph, BooleanProperty *selectionProperty,
97 DoubleProperty *weight = NULL,
98 PluginProgress *pluginProgress = NULL);