Depuis VA 23.2.1, une colorisation dynamique (ou légende dynamique) peut utiliser un nouveau type de Fonction de légende :
Dans ce cas, la fonction utilisée pour la colorisation ne renvoie pas un simple élément de symbologie comme l'épaisseur de trait, mais une définition de symbologie complexe (ISymbology), ce qui permet de fournir plusieurs caratcéristiques graphique en un seul traitement.
Les propriétés les plus utilisées de ISymbology sont :
- Color : Couleur ARGB sur 32 bits (de type uint)
- FillColor, Couleur ARGB sur 32 bits (de type uint)
- Fill, booléen
- LineWeight, un entier entre 0 et 31
- LineCode, un entier entre 0 et 7
- SymbolName, un nom de symbole
- SymbolBaseScale, Vector3D, le facteur d'échelle de création du symbole,
- LineStyle, une chaine de caractères (nom du style)
- LineScale, Vector3D, le facteur d'échelle linéaire du style de ligne,
- LineSymbolScale, Vector3D, le facteur d'échelle des symboles du style de ligne
VA propose la classe CadSymbology comme une implémentation concrète de ISymbology.
Si je souhaite par exemple une fonction de colorisation qui fait dépendre le style (couleur, épaisseur et type de trait) de la classe de précision :
Mais la nouveauté principale porte sur la symbologie ponctuelle. La fonction de symbologie peut également spécifier des noms de symboles et des tailles.
Appliquée à un actif de type Point, cette colorisation va remplacer le rendu du symbole par un symbole unique (hexagon), dont la taille varie selon la classe de précision.
Remarque
Le symbole 'hexagon' spécifié dans cet exemple doit exister dans l'activité en cours de resymbolisation. J'utilise les outils d'extraction et d'ajout de symboles de l'activité pour ajouter les symboles nécessaires. Je peux exploiter les symboles proposés dans le répertoire d'installation de ViSit Anywhere (dans doc\GT). Il faut au préalable les référencer dans une activité et les exporter dans un répertoire local.