Extension de fonctionnalité dans Vuforia Studio avec codage > API de statut du suivi
  
API de statut du suivi
Vous pouvez utiliser un événement JavaScript appelé trackingstatuschanged pour obtenir des informations sur les changements de statut de suivi d'une cible. L'événement trackingstatuschanged possède une charge utile JSON qui contient une paire clé/valeur, avec trackingStatus comme clé et une valeur de chaîne de statut :
{"trackingStatus":"<tracking_status>"}
Dans la chaîne ci-dessus, la variable <tracking_status> peut prendre l'un des statuts suivants :
Statut
Description
normal
La cible fait l'objet d'un suivi et indique un fonctionnement normal.
extended
La cible est suivie indirectement. Elle est hors de vue, occluse, trop éloignée ou trop proche pour être suivie directement.
limited
La cible est suivie, mais avec une très faible précision.
limited_excessive_motion
Le suivi est limité car l'appareil est déplacé trop rapidement.
* 
Ce statut n'est indiqué que pour les cibles de modèle.
limited_insufficient_light
Le suivi est limité en raison des mauvaises conditions d'éclairage.
* 
Ce statut n'est indiqué que pour les cibles de modèle.
Le gestionnaire d'événements implémenté en JavaScript possède la signature suivante :
function(event, target, tmlNodeName, args)
Le tableau ci-dessous répertorie et décrit les paramètres disponibles :
Paramètre
Description
event
L'objet de l'événement. Contient la chaîne trackingstatuschanged pour la propriété de nom.
target
Nom ou ID de la cible.
* 
Il s'agit d'une chaîne vide pour les cibles spatiales.
tmlNodeName
Type de l'objet. La valeur sera twx-dt-target pour cet événement.
args
Chaîne qui inclut les données de l'événement JSON.
Exemple
Voici un exemple d'implémentation du gestionnaire d'événements JavaScript :
$scope.$on("trackingstatuschanged", function (event, target, tmlNodeName, args) {
trackingStatus = JSON.parse(args).trackingStatus;
console.log("Tracking Status Changed Script: event: " + event.name + ", target: " + target + ", tmlNodeName: " + tmlNodeName + ", args:" + args + ", trackingStatus: " + trackingStatus);
});
Voici un exemple de sortie de journal :
Tracking Status Changed Script: event: trackingstatuschanged, target: 740de1d2-6202-45ab-94db-1056ecf2244b, tmlNodeName: twx-dt-target, args:{"trackingStatus":"extended"}, trackingStatus: extended