Ajout et suppression de contraintes pour l'agencement hiérarchique (HL)

Vous pouvez ajouter des contraintes à l'agencement hiérarchique en affectant un nouvel objet de contrainte et en appelant cette méthode sur l'instance ibm_ilog.graphlayout.hierarchical.HierarchicalLayout :
layout.addConstraint(constraint);
Vous pouvez ajouter autant de contraintes que vous le souhaitez. Ces contraintes sont respectées lors des appels d'agencement suivants jusqu'à ce que vous les supprimiez. Pour supprimer la contrainte plus récente, appelez :
layout.removeMostRecentConstraint();
Pour supprimer une contrainte spécifique, appelez :
layout.removeConstraint(constraint);
Pour supprimer toutes les contraintes existantes, appelez :
layout.removeAllConstraints();
Vous pouvez extraire les contraintes qui ont été ajoutées à un agencement hiérarchique à l'aide de la méthode suivante :
var constraints = layout.getConstraints();
while(constraints.hasNext()){
	var constraint = constraints.next();
	// ...
}

Groupes de noeuds

Certains contraintes affectent les noeuds uniques. D'autres affectent les groupes de noeuds. La classe ibm_ilog.graphlayout.hierarchical.HierarchicalNodeGroup est un moyen pratique pour spécifier un groupe de noeuds. Vous pouvez ainsi créer un groupe de noeuds de la manière suivante :
group = new ibm_ilog.graphlayout.hierarchical.HierarchicalNodeGroup();
while (...) { 
	group.add(node);
}
Un groupe de noeuds a des fonctionnalités similaires à celles d'un vecteur. Vous pouvez interroger la taille et les éléments du groupe, supprimer des éléments du groupe ou encore vérifier si un noeud appartient déjà au groupe. Vous pouvez également convertir un vecteur de noeuds en groupe :
group.add(node)
Ajoute un noeud au groupe.
group.remove(node)
Supprime un noeud du groupe.
group.contains(node)
Vérifie si un noeud se trouve dans le groupe.
group.size()
Retourne le nombre de noeuds du groupe.
group.elements()
Retourne les noeuds du groupe en tant que simple curseur (IIterator).
group = new ibm_ilog.graphlayout.hierarchical.HierarchicalNodeGroup(array)
Crée un groupe qui contient les noeuds stockés dans le tableau d'entrée.