Changer la taille de tous les éléments d'un groupe

Je crée un groupe dans SVG dans lequel je dessine une trajectoire d’avion, chaque update est représenté par un cercle.

En fonction du facteur de zoom, je souhaite adapter la taille de chaque cercle (l’attribut “r”)

J’ai le même souhait pour le “stroke-width”, mais là, pas de problème, si le cercle est créé sans préciser l’attribut d’épaisseur du trait, alors un set attribute sur le groupe fonctionne:

SVG_SET_ATTRIBUTES (ttSvgGroupsRef{$vlIndex};“style”;“stroke-width:”+String($vrStrokeWidth)) fonctionne parfaitement.

Pour le rayon, la commande SVG New Circle ne permet pas de ne pas spécifier le rayon (normal…).

Y a-t-il un moyen de faire sans boucler sur chaque cercle et changer individuellement son rayon ?

Merci.

Bonjour,

Rapidement, dans ce cas, je mettrais tous les cercles dans un seul groupe auquel j’attribuerais un transform-scale.

Bonjour Dr Vincent !

Sauf que dans ce cas, ma trajectoire est décallée par rapport aux autres éléments (carte par exemple).

Ce que veux, c’est que le rayon de chaque cercle soit modifié, sans que la position de son centre ne bouge.

En appliquant un transform-scale au groupe, la position de chaque cercle est affectée.

Merci de votre aide

Je le craignais…

Avez vous essayé en utilisant une class qui définit le rayon ®

note pour ne pas définir une valeur numérique il suffit en général de passer la valeur -1 (je ne sais pas si cela fonctionne pour le rayon.

Bonjour,

En spécifiant le circle dans la partie defs, on peut le réutiliser autant de fois qu’on veut avec un use.
Ceci fait, il suffirait de modifier le rayon sur le seul élément circle dans defs pour qu’il soit appliqué à tous les cercles qui l’utilise.