21 #ifndef _TLPGRAPHMEASEURE_H
22 #define _TLPGRAPHMEASEURE_H
24 #include <tulip/Node.h>
25 #include <tulip/MutableContainer.h>
26 #include <tulip/DoubleProperty.h>
32 enum EDGE_TYPE {DIRECTED = 0, INV_DIRECTED = 1, UNDIRECTED = 2};
40 TLP_SCOPE
double averagePathLength(
const Graph* g, PluginProgress* = NULL);
42 inline bool averagePathLength(Graph *g,
double& result, PluginProgress *pp = NULL) {
43 result = averagePathLength(g, pp);
52 TLP_SCOPE
double averageClusteringCoefficient(
const Graph *, PluginProgress * = NULL);
54 inline bool averageCluster(Graph* g,
double& result, PluginProgress* pp = NULL) {
55 result = averageClusteringCoefficient(g, pp);
65 TLP_SCOPE
void clusteringCoefficient(
const Graph *g, MutableContainer<double> &result,
unsigned int maxDepth = 1, PluginProgress* = NULL);
73 TLP_SCOPE
void dagLevel(
const Graph *graph, MutableContainer<unsigned int> &level, PluginProgress* = NULL);
75 TLP_SCOPE
unsigned int maxDegree(
const Graph *);
78 TLP_SCOPE
unsigned int minDegree(
const Graph *);
86 TLP_SCOPE
unsigned int maxDistance(
const Graph *graph,
const node n, MutableContainer<unsigned int> &distance, EDGE_TYPE direction = UNDIRECTED);
93 TLP_SCOPE
void reachableNodes(
const Graph *graph,
const node startNode, std::set<node> &result,
unsigned int maxDistance, EDGE_TYPE direction = UNDIRECTED);