Aller au contenu

Qu'est ce qu'un protocole ?

L'entité protocole est le nœud racine de l'arbre de protocole. Il stocke sous forme d'enfants logiques l'ensemble des paramètres d'une expérimentation.

Le nom de protocole est issu du monde de la recherche scientifique et peut ne pas n'appliquer à tous les domaines (notamment avec le protocole Cave Viz qui ne reflète pas la logique d'expérimentation).

D'un point de vue logique, le protocole est un nœud logique à la différence près qu'il n'a pas de parent direct.

Lors de la passation d'un protocole, c'est ce dernier qui contrôle la logique d'exécution et la mise à jour des entités. Il effectue en effet une mise à jour de l'arbre à la fréquence du cœur du logiciel. Lors de l'appel d'une mise à jour, le protocole demande une mise à jour de la liste des expérimentations qui, en cascade, provoque une mise à jour de l'arbre complet.

L'interface graphique principale de VRmaze affiche le contenu d'un protocole et permet sa configuration complète par l'ajout, la suppression ou la modification de l'arbre en lui-même et de tous les nœuds qui le compose.

Devenir du protocole et fichiers résultats

Un fichier résultat est un fichier protocole dont certaines entités spécifiques ont enregistré des données supplémentaires automatiquement.

Autopsie d'un protocole

Un fichier protocole, de même que tous les fichiers de VRmaze sont écrits selon le formalisme Xml. Il s'agit d'une volonté d'InMind-VR offrant la possibilité de toujours pouvoir lire humainement les données des fichiers sans obligation de lancer le logiciel.

Il est possible d'ouvrir un protocole avec un éditeur de texte ou tout autre parseur Xml.

Modification de protocole en dehors de VRmaze

Si la lecture ne pose aucun problème, la modification de protocole à de grandes chances de corrompre le fichier. De même, les modifications directes des propriétés des nœuds de l'arbre peuvent mener à des comportements non souhaités lors de la passation.

Entités dans le protocole

Le protocole dispose de très peu d'enfants directs, il dispose toutefois d'une liste d'entités. Le positionnement de cette liste d'entités directement en tant qu'enfant du protocole permet de jouer sur la durée de vie d'entités enfants lors de la passation. Il existe en effet 3 listes d'entités, une sur le protocole, une sur l'expérimentation et la dernière sur l'essai. La durée de vie de l'entité est correspond directement à la durée de vie du nœud parent, ainsi, en positionnant une entité dans la liste d'entités du protocole cette entité aura une durée de vie équivalente au protocole, cela signifie que l'entité sera instanciée au début du protocole et supprimée uniquement lorsque le protocole sera terminé. Il sera donc possible d'y faire référence et de l'utiliser à n'importe quel moment dans la passation.

Quelles entités ?

Relativement peu d'entités nécessitent d'exister tout au long de la passation, on trouve principalement des gestionnaires de communication avec les périphériques externes : on lance la communication au début du protocole et on la coupe en fin de protocole.

Objets graphiques ?

Le protocole ne propose pas de conteneur d'objets graphiques tels que les listes d'objets 2D ou 3D.

Module de protocole

Le nœud Protocole dispose d'une liste de modules. Un module de protocole est une entité spécifique qui exécutera un programme externe à VRmaze au moment de la passation. Cela permet par exemple de lancer automatiquement un programme au lancement de la passation.

Exécution externe

N'importe quel programme exécutable peut-être lancé à deux moments : soit au lancement de la passation, soit à l'arrêt. Il est aussi possible d'arrêter le programme lorsque la passation se termine.

Utilisation de l'ancien moteur de rendu

Il est possible de forcer l'utilisation de l'ancien moteur de rendu pour un protocole spécifique. Pour cela, il faut ajouter un attribut personnalisé de type Old Render Mode. Cet attribut n'à pas de paramètre.

Image title 2

L'attribut personnalisé permettant d'utiliser l'ancien moteur de rendu.