diff options
Diffstat (limited to 'src/gtkext/graph/rank.c')
-rw-r--r-- | src/gtkext/graph/rank.c | 84 |
1 files changed, 27 insertions, 57 deletions
diff --git a/src/gtkext/graph/rank.c b/src/gtkext/graph/rank.c index bffefe9..54b5415 100644 --- a/src/gtkext/graph/rank.c +++ b/src/gtkext/graph/rank.c @@ -126,6 +126,33 @@ void visit_graph_rank(const graph_rank_t *grank, graph_rank_cb cb) * * * Paramètres : grank = ensemble de même rang à consulter. * * * +* Description : Parcours l'ensemble des blocs du rang avec un visiteur. * +* * +* Retour : Bilan à retourner. * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool visit_and_accumulate_graph_rank(const graph_rank_t *grank, graph_rank_acc_cb cb) +{ + bool result; /* Bilan cumulé à renvoyer */ + size_t i; /* Boucle de parcours */ + + result = false; + + for (i = 0; i < grank->count; i++) + result |= cb(grank->clusters[i]); + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : grank = ensemble de même rang à consulter. * +* * * Description : Assigne à un ensemble de blocs un emplacement initial. * * * * Retour : - * @@ -516,63 +543,6 @@ void dispatch_x_graph_rank(const graph_rank_t *grank) /****************************************************************************** * * -* Paramètres : grank = ensemble de blocs de même rang à actualiser. * -* root = élément à ne jamais croiser dans la paternité. * -* dir = préférence à actualiser si possible. [OUT] * -* * -* Description : Réorganise au besoin les liens entrants un ensemble de blocs.* -* * -* Retour : false si une incapacité de détermination a été rencontrée. * -* * -* Remarques : - * -* * -******************************************************************************/ - -bool get_graph_rank_exit_direction(graph_rank_t *grank, const GGraphCluster *root, LeavingLinkDir *dir) -{ - bool result; /* Bilan à renvoyer */ - size_t i; /* Boucle de parcours */ - - result = true; - - for (i = 0; i < grank->count && result; i++) - result = g_graph_cluster_get_exit_direction(grank->clusters[i], root, dir); - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : grank = ensemble de blocs de même rang à actualiser. * -* pos = ordonnées minimale et maximale en bout. [OUT] * -* * -* Description : Calcule les ordonnées extrèmes atteintes via liens sortants. * -* * -* Retour : true si un lien sortant a été trouvé, false sinon. * -* * -* Remarques : - * -* * -******************************************************************************/ - -bool compute_graph_rank_min_max_bottom(const graph_rank_t *grank, gint pos[2]) -{ - bool result; /* Bilan à renvoyer */ - size_t i; /* Boucle de parcours */ - - result = false; - - for (i = 0; i < grank->count; i++) - result |= g_graph_cluster_compute_min_max_bottom(grank->clusters[i], pos); - - return result; - -} - - -/****************************************************************************** -* * * Paramètres : grank = ensemble de blocs de même rang à actualiser. * * origin = cluster d'origine à considérer. * * * |