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);
 
   91 TLP_SCOPE 
void reachableNodes(
const Graph *graph, 
const node startNode, std::set<node> &result, 
unsigned int maxDistance, EDGE_TYPE direction = UNDIRECTED);