GraphStream Users

Archives de la liste Aide


Re: rapprocher les noeuds / les mettre au 1er plan


Chronologique Discussions 
  • From: Antoine Dutot <antoine.dutot AT gmail.com>
  • To: graphstream-users AT litislab.fr
  • Subject: Re: rapprocher les noeuds / les mettre au 1er plan
  • Date: Thu, 23 Jun 2011 14:21:30 +0200
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=LQUO0xPH6ob5IbVVZmm8Wq6XlA0evh+oMx7Y2UOOeTMbVNWxpxZW8p68yBfCJfSFHF i16wPDs83pX/5X3EvEQ2mTVaLiF+rytcEbdBDTu1EEOUZjFmaI93BfcaPzchYnoVsA78 IP4Yep2VGdS7BzHEsY0pi8oZKHzQ4eC14Cj0o=

Bonjour,

Le 22 juin 2011 11:08, <yaroslaw.dafflon AT edu.hefr.ch> a écrit :
bonjour,

je souhaite rapprocher les nœuds sélectionnés dans mon application et les
mettre au premier plan.

j'ai utilisé : e.setAttribute("layout.weight", 0.1);//attire les noeuds e=Edge
 
C'est la bonne méthode, cela devrait fonctionner. Cependant,
l'algorithme de mise en forme automatique du graphe est basé sur un système de
forces "attraction/répulsion", et certains arcs sont plus ou moins longs. Le poids
change cette longueur mais ne permet pas d'assigner la même longueur à tous les
arcs.

Si vous avez un exemple plus complet, on peut éventuellement tester, si vous le désirez.

mais les nœuds ne se rapproche pas, je dois le faire autrement?

Ma deuxième question serait de savoir comment mettre les nœuds au premier
plan, dans mon application qui comporte plein de nœuds, je voudrais en mettre
certains au premier plan mais je n'ai pas trouvé d'attribut pour cela. Il y en
a?

Vous pouvez utiliser une feuille de style avec la propriété "z-index". L'afficheur dessine
les éléments du graphe dans un ordre "Z" particulier, on peut voir cela comme des calques.
Si un objet a un niveau Z élevé il est dessiné au dessus de ceux qui ont un niveau Z bas.
Par défaut, tous les arcs sont au niveau 1 et tous les nœuds au niveau 2.

En revanche deux objets qui ont le même niveau Z sont dessinés dans un ordre arbitraire. Pour
éviter cela, grosso-modo, vous pouvez procéder ainsi:
...
// Au début du programme.
graph.addAttribute("ui.stylehseet", "node.important { z-index: 10; }");
...
// Lors de la création des nœuds ou quand vous souhaitez les mettre au premier plan, lors de
// la sélection par exemple:
node.addAttribute("ui.class", "important");
 
Salutations

Antoine



Archives gérées par MHonArc 2.6.16.

Top of page