<< Étiquetage des blobs | Liste des exercices | >>

3. Envoi de messages par TUIO

Dans cette partie, le code sera modifié afin de communiquer les résultats du suivi à travers un serveur TUIO. Le serveur est implanté par une instance de l'objet TuioServer, définie par l'instruction suivante dans le début du code:

TuioServer *psTuioServer = new TuioServer ();

Dans le code initial, le serveur TUIO est déjà initialisé, et les instructions qui permettent d'initialiser une étape de mise à jour (fonction initFrame) et d'envoyer le résultat vers un client (fonction commitFrame) sont déjà présentes.

À différents endroits du code initial, il s'agit maintenant d'insérer les instructions qui permettront de:

  1. retirer de la liste les blobs qui ne sont plus associés (en utilisant la fonction removeExternalTuioCursor);
  2. mettre à jour les blobs qui existaient déjà en indiquant leurs nouveaux paramètres (fonction updateTuioCursor);
  3. ajouter des blobs qui n'existaient pas dans la liste précédente (en utilisant la fonction addExternalTuioCursor).

Les fonctions addExternalTuioCursor et removeExternalTuioCursor sont déjà utilisées dans la partie du code qui traite les cas particuliers dans lesquels l'une des listes de blobs est vide. Il suffit donc d'adapter les instructions correspondantes pour traiter les nouveaux cas d'association (1. et 3. dans la liste précédente).

Pour modifier un objet qui est déjà dans la liste, grâce à la fonction updateTuioCursor, il faut avant tout récupérer cet objet depuis le serveur en utilisant la fonction getTuioCursor.

Pour vérifer que les informations de suivi sont correctes, on peut utiliser le logiciel TUIO_dump.exe, qui liste simplement tous les messages émis par le serveur.