L'option d'alignement contrôle la façon dont un parent est positionné par rapport à ses noeuds enfants. L'alignement peut être défini de manière globale, auquel cas, tous les noeuds sont alignés de la même façon, ou localement sur chaque noeud, auquel cas, différents alignements se produisent sur le même graphe.

Options d'alignement
Alignement global
Pour définir l'alignement global :
Utilisez la méthode ibm_ilog.graphlayout.tree.TreeLayout.setGlobalAlignment :
treeLayout.setGlobalAlignment(ibm_ilog.graphlayout.tree.TreeLayout.WEST);
Les valeurs valides pour l'alignement global sont les suivantes :
- ibm_ilog.graphlayout.tree.TreeLayout.CENTER (valeur par défaut)Le parent est centré sur ses noeuds enfants, en tenant compte du centre de ses noeuds enfants.
- ibm_ilog.graphlayout.tree.TreeLayout.BORDER_CENTERLe parent est centré sur ses noeuds enfants, en tenant compte du bord de ses noeuds enfants. Si les tailles du premier enfant et du dernier enfant diffèrent, l'alignement sur le centre du bord positionne le parent plus près de l'enfant le plus grand que l'alignement sur le centre par défaut.
- ibm_ilog.graphlayout.tree.TreeLayout.EASTLe parent est aligné sur le bord de son enfant le plus à l'est. Par exemple, si la direction de flux est vers le bas, l'est correspond à la direction vers la droite. Si la direction de flux est vers le haut, l'est correspond à la direction vers la gauche. Pour plus d'informations, voir Utilisation de directions de compas pour les paramètres d'agencement positionnels (TL).
- ibm_ilog.graphlayout.tree.TreeLayout.WESTLe parent est aligné sur le bord de son enfant le plus à l'ouest. Par exemple, si la direction de flux est vers le bas, l'ouest correspond à la direction vers la gauche. Si la direction de flux est vers la droite, l'ouest correspond à la direction vers le bas. Pour plus d'informations, voir Utilisation de directions de compas pour les paramètres d'agencement positionnels (TL).
- ibm_ilog.graphlayout.tree.TreeLayout.TIP_OVER_EASTLes noeuds enfants sont organisés de façon séquentielle et non de façon parallèle, et le noeud parent est positionné avec un décalage par rapport aux noeuds enfants. Les noeuds enfant sont à l'est du noeud parent. Pour plus de détails, voir Alignement renversé.
- ibm_ilog.graphlayout.tree.TreeLayout.TIP_OVER_WESTLes noeuds enfants sont organisés de façon séquentielle et non de façon parallèle, et le noeud parent est positionné avec un décalage par rapport aux noeuds enfants. Les noeuds enfant sont à l'ouest du noeud parent. Pour plus de détails, voir Alignement renversé.
- ibm_ilog.graphlayout.tree.TreeLayout.TIP_OVER_EAST_WESTLes noeuds enfants sont organisés de façon séquentielle et non de façon parallèle, et le noeud parent est positionné avec un décalage par rapport aux noeuds enfants. Les noeuds enfant sont situés des deux côtés du noeud parent. Le premier noeud enfant est placé à l'est. Les noeuds enfant suivants sont placés à l'est ou à l'ouest, de sorte que l'espace utilisé des deux côtés est à peu près le même ; en d'autres termes, la somme des des hauteurs des sous-arborescences à l'est est en moyenne égale à celle des sous-arborescences à l'ouest. Pour plus de détails, voir Alignement renversé.
- ibm_ilog.graphlayout.tree.TreeLayout.TIP_OVER_BOTH_SIDESLes noeuds enfants sont organisés de façon séquentielle et non de façon parallèle. Alors que l'alignement
TIP_OVER
organise tous les noeuds enfants sur le même côté du parent, cet alignement organise les noeuds enfants de chaque côté du parent. Contrairement à l'alignement TIP_OVER_EAST_WEST, ce style n'essaie pas d'optimiser l'espace utilisé des deux côtés, mais il place toujours les noeuds enfant numérotés impairs à l'ouest et les noeuds enfant numérotés pairs à l'est. Chaque paire de noeuds enfant, l'un à l'ouest et l'autre à l'est, à ses propres noeuds impairs et pairs alignés sur les autres. Pour plus de détails, voir Alignement renversé. - ibm_ilog.graphlayout.tree.TreeLayout.MIXEDChaque noeud parent peut avoir un alignement différent. L'alignement de chaque noeud individuel peut être défini et cela peut avoir pour résultat de générer des alignements différents sur le même graphe.
Alignement des noeuds individuels
Tous les noeuds ont le même alignement sauf si l'alignement global a pour valeur
MIXED
. Chaque noeud peut avoir un style d'alignement individuel uniquement lorsque l'alignement global a pour valeur MIXED
. 
Combinaison de différents alignements sur le même tracé
Pour spécifier l'alignement d'un noeud individuel :
Utilisez les méthodes :
treeLayout.setGlobalAlignment(ibm_ilog.graphlayout.tree.TreeLayout.MIXED); treeLayout.setAlignment(graph.children[1], ibm_ilog.graphlayout.tree.TreeLayout.EAST);
Les valeurs valides pour
alignment
sont les suivantes : - ibm_ilog.graphlayout.tree.TreeLayout.CENTER (valeur par défaut)
- ibm_ilog.graphlayout.tree.TreeLayout.BORDER_CENTER
- ibm_ilog.graphlayout.tree.TreeLayout.EAST
- ibm_ilog.graphlayout.tree.TreeLayout.WEST
- ibm_ilog.graphlayout.tree.TreeLayout.TIP_OVER_EAST
- ibm_ilog.graphlayout.tree.TreeLayout.TIP_OVER_WEST
- ibm_ilog.graphlayout.tree.TreeLayout.TIP_OVER_EAST_WEST
- ibm_ilog.graphlayout.tree.TreeLayout.TIP_OVER_BOTH_SIDES
Alignement renversé
En règle générale, les noeuds enfants d'un noeud sont organisés en parallèle avec des noeuds frères comme voisins directs. Dans le cas de l'alignement renversé, les noeuds enfants sont organisés de façon séquentielle.

Alignement normal et alignement renversé
L'alignement renversé est utile lorsque l'arborescence comporte de nombreuses feuilles.
Avec un alignement normal, une arborescence comportant de nombreuses feuilles peut générer un agencement très large. Si le style d'alignement global est renversé, la hauteur du cliché est nettement supérieure à sa largeur. Pour équilibrer la largeur et la hauteur du tracé, vous pouvez affecter la valeur MIXED à l'alignement global.
Par exemple :
treeLayout.setGlobalAlignment(ibm_ilog.graphlayout.tree.TreeLayout.MIXED);
En outre, vous pouvez définir un alignement individuel renversé pour certains parents ayant un nombre élevé de noeuds enfants, comme suit :
treeLayout.setAlignment(parent, ibm_ilog.graphlayout.tree.TreeLayout.TIP_OVER_EAST);
Les alignements renversés peuvent être spécifiés explicitement pour certains ou la totalité des noeuds. L'agencement arborescent offre des noeuds d'agencement qui déterminent automatiquement à quel moment effectuer le renversement, sur un tracé qui correspond à un rapport hauteur/largeur spécifié. Ces modes d'agencement sont décrits dans Modes d'agencement renversé.
L'alignement renversé à l'est agence les noeuds à l'est de la ligne du
centre qui commence au noeud parent. L'alignement renversé à l'ouest
agence les noeuds à l'ouest de cette ligne. Il existe également deux
variantes qui répartissent les sous-arborescences de chaque côté de cette ligne. Vous pouvez spécifier ces variantes au niveau d'un noeud parent ayant un nombre élevé de noeuds enfants en utilisant le code suivant :
treeLayout.setAlignment(parent, ibm_ilog.graphlayout.tree.TreeLayout.TIP_OVER_EAST_WEST);
ou :
treeLayout.setAlignment(parent, ibm_ilog.graphlayout.tree.TreeLayout.TIP_OVER_BOTH_SIDES);
Les figures ci-après illustrent la différence entre les alignements renversé à l'est et à l'ouest et les alignements renversés sur les deux côtés.
![]() |
![]() |
Alignement renversé à l'est et à l'ouest | Alignement renversé des deux cotés |
L'alignement renversé fonctionne parfaitement avec le style de lien orthogonal ;voir Style de lien (TL)). La
figure ci-après illustre la différence entre un alignement renversé d'un côté et un alignement renversé des deux côtés. Les alignements renversés sont spécifiés pour les noeuds rouges ; les noeuds bleus ont un alignement au centre.

Alignements renversés
Alignements enfants
L'alignement global est valide pour tous les noeuds. L'alignement
spécifié au niveau d'un noeud est valide pour tous les noeuds enfants de ce noeud. De plus,
vous pouvez spécifier des exceptions pour certains noeuds qui sont alignés différemment des autres
noeuds enfants. Cela est utile pour les affichages des organigrammes. Dans un organigramme qui illustre une hiérarchie, certaines personnes affichés n'appartiennent pas à cette hiérarchie. Elles sont en fait
associées à un membre spécifique de la hiérarchie. C'est le cas, par exemple, d'une
secrétaire associée à un responsable d'une entreprise.
Dans l'arborescence d'un organigramme, le noeud représentant la secrétaire est généralement affiché près du noeud du responsable, mais il n'est pas combiné aux noeuds enfants qui représentent les salariés standard qui dépendent de ce responsable.
Pour définir l'alignement enfant d'un noeud spécifique :
Utilisez les méthodes suivantes :
treeLayout.setChildAlignment(node, alignment);
treeLayout.getChildAlignment(node);
Les valeurs suivantes sont valides pour un alignement enfant :
- ibm_ilog.graphlayout.tree.TreeLayout.UNSPECIFIED (valeur par défaut).Aucun alignement exceptionnel n'est spécifié pour le noeud enfant. Ce dernier est aligné comme les noeuds enfants normaux.
- Le noeud enfant devient un voisin à l'est de son parent.
- Le noeud enfant devient un voisin à l'ouest de son parent.
- L'agencement du noeud enfant est similaire à l'alignement renversé à l'est, mais le noeud apparaît au-dessus de tous les noeuds enfants normaux. Les noeuds enfants normaux peuvent avoir n'importe quel alignement. S'ils ont aussi un alignement renversé à l'est, vous pouvez distinguer le noeud associé à l'aide d'un espacement différent. Voir Paramètres d'espacement.
- L'agencement du noeud enfant est similaire à l'alignement renversé à l'ouest, mais le noeud apparaît au-dessus de tous les noeuds enfants normaux. Les noeuds enfants normaux peuvent avoir n'importe quel alignement. S'ils ont aussi un alignement renversé à l'ouest, vous pouvez distinguer le noeud associé à l'aide d'un espacement différent. Voir Paramètres d'espacement.
- L'agencement du noeud enfant est similaire à l'alignement renversé des deux côtés, c'est-à-dire qu'il alterne entre l'est et l'ouest, mais le noeud apparaît au-dessus de tous les noeuds enfants normaux. Les noeuds enfants normaux peuvent avoir n'importe quel alignement. S'ils ont aussi un alignement renversé des deux côtés, vous pouvez distinguer le noeud associé à l'aide d'un espacement différent. Voir Paramètres d'espacement.
Dans les figures ci-après, les noeuds jaunes ont les
alignements enfants EAST_NEIGHBOR ou WEST_NEIGHBOR, et les noeuds rouges ont les
alignements enfants TIP_OVER_ASSOCIATE_EAST ou TIP_OVER_ASSOCIATE_BOTH_SIDES.
Les noeuds verts ont des alignements enfants non spécifiés, ce qui signifie qu'ils sont
alignés à l'aide du style d'alignement global.
![]() |
![]() |
Alignements illustrés pour le noeud jaune : voisin est, pour les noeuds rouges : renversé associé est, et pour les noeuds verts : centre | Alignements illustrés pour le noeud jaune : voisin est, pour les noeuds rouges : renversé associé est, et pour les noeuds verts : renversé des deux côtés |
![]() |
![]() |
Alignements illustrés pour le noeud jaune : voisin ouest, pour les noeuds rouges : renversé associé ouest, et pour les noeuds verts : centre | Alignements illustrés pour le noeud jaune : voisin ouest, pour les noeuds rouges : renversé associé ouest, et pour les noeuds verts : renversé des deux côtés |