Système d'observation
Le système d'observation est un mécanisme d'évènement simplifié qui permet de lier un état de propriété a une ou plusieurs actions en conséquence. Ces états et actions peuvent ne pas appartenir à une seule et même entité.
Système d'observation
Le système d'observation est diponible dans la version 2025 de MindDev.
Système d'observation
Le système d'observation n'est pas un mécanisme globale. Chaque noeud dispose de son propre système d'observation.
Principe
Tout comme le système d'attributs personnalisés, seuls certains types de noeud sont compatibles avec le système d'observation. En règle générale, tout type hors des listes et quelques types spécifiques sont compatibles.
Le système d'observation se sépare en deux sous systèmes, et ce, pour chaque noeud compatible :
- Le système Source
- Le système Cible
Les deux systèmes fonctionnent l'un avec l'autre, et il est nécessaire d'utiliser les deux systèmes ensemble pour que le mécanisme soit fonctionnel.
Lorsqu'un évènement Source est activé, il active l'ensemble des cibles auquel il est lié. Ainsi, dans les deux systèmes un identifiant (le nom) permet de créer les liens entre Source et Cible.
Le système Source
Le système source permet d'émettre des évènements. Chaque évènement est identifié par son nom. Une source d'évènement dispose des paramètres suivants :
- Un nom
- Une condition de déclenchement
- Une logique de déclenchement
Le déclencheur d'évènement source vérifie la condition de déclenchement à chaque frame et active l'ensemble des cibles si la condition est remplie. Cette condition peut être :
- Une fonction (la fonction est une condition appartenant à l'objet parent)
- Un timecode (un temps donné en partant du référentiel temporel parent, ie, l'essai parent si existant, l'expérimentation parent le cas échéant, ou le protocole en dernier recours)
En fonction de la logique de déclenchement, l'évènement peut être :
- Continu (il est alors relancé à chaque frame)
- Réinitialisable (Dans ce cas, la condition doit être invalide une fois ensuite pour pouvoir être réactivée ensuite)
- Simple (Dans ce cas, il est exécuté une fois et une seule)
Fonction de déclenchement
Relativement peu de fonctions sont disponible dans les versions anciennes de MindDev 2025. De nouvelles fonctions sont ajoutées au fil des mises à jour.
Nom d'évènement source
Il est possible d'affecter le même nom a plusieurs source d'évènement. Ainsi, une cible s'enregistrera auprès de toutes les sources identifiées.
La mécanique interne est la suivante : Lors de l'exécution du protocole, chaque cible va vérifier l'ensemble des conditions de déclenchement, et va exécuter l'ensemble des fonctions cibles qui se sont enregistrées auprès de cette Source au lancement du protocole.
Le système Cible
Le système cible permet de réceptionner les évènements et d'exécuter une fonction appartenant au noeud parent. Chaque cible dispose des paramètres suivants :
- Un nom d'évènement Source auquel il est lié
- Une fonction à exécuter
- Un paramètre de fonction si nécessaire
La mécanique interne est la suivante : Au lancement du protocole, chaque Cible va s'enregistrer auprès de toutes les sources dont le nom correspond au paramètre nom d'évènement source. Aucune mise à jour en temps réel n'est effectuée sur les Cibles.
Cible d'évènement
Il est possible qu'une cible soit lié a plusieurs évènement du même nom, ce manière à exécuter une fonction lorsqu'un ou plusieurs évènements Source sont exécutés.
Fenêtre d'observation générale
L'organisation des Sources et Cibles peut devenir complexe lorsque l'environnement devient plus conséquente. Pour permettre une visualisation plus globale de l'ensemble des évènements, MindDev dispose d'un outil de visualisation et modification globale.
Cet outil de visualisation globale permet de :
- Modifier toutes les Sources et Cibles d'un protocole
- Sélectionner l'objet parent (si le protocole sélectionné dans l'arbre de protocole correspond)
- De rafraichir la fenêtre en cas de création externe d'une nouvelle source ou cible, ou de changement de protocole sélectionné