diff -r 11234537653b -r 92f19af39024 middleware/src/Tracking/Gestures/GestureDetector.cs --- a/middleware/src/Tracking/Gestures/GestureDetector.cs Fri Mar 09 18:15:12 2012 +0100 +++ b/middleware/src/Tracking/Gestures/GestureDetector.cs Thu Mar 15 13:33:21 2012 +0100 @@ -1,4 +1,18 @@ -using System; +/* + * Projet : TraKERS + * Module : MIDDLEWARE + * Sous-Module : Tracking/Gestures + * Classe : GestureDetector + * + * Auteur : alexandre.bastien@iri.centrepompidou.fr + * + * Fonctionnalités : Reçoit les positions des noeuds envoyés par la classe de manipulation de la Kinect + * et les stocke dans un historique. + * Contient également des variables propres à toute gesture : distance de référence, point de départ, + * durée de la gesture, FPS et nombre de frames à traiter. + */ + +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -10,10 +24,10 @@ public class GestureDetector { //Historique des positions du squelette. - protected List> history = new List>(); + protected static List> history = new List>(); //protected JointCollection previousSkeleton; - //Voici les ID des noeuds d'un squelette. + //Voici les ID des noeuds d'un squelette : variables magiques en attente de factorisation. protected int hipCenterID = 0, spineID = 1, shoulderCenterID = 2, headID = 3; protected int shoulderLeftID = 4, elbowLeftID = 5, wristLeftID = 6, handLeftID = 7; protected int shoulderRightID = 8, elbowRightID = 9, wristRightID = 10, handRightID = 11; @@ -83,22 +97,14 @@ //Stocke les gestes du skelette pour ~3 seconds (si on prend en compte que le framerate de la Kinect //est de ~30 fps. - public void UpdateSkeletonHistory(List latestSkeleton) + public static void UpdateSkeletonHistory(List latestSkeleton) { - /*if (previousSkeleton == null) - previousSkeleton = latestSkeleton; - else if (previousSkeleton != latestSkeleton) - {*/ - history.Add(latestSkeleton); - /*if (history.Count > 3) - { - System.Console.WriteLine(history[0][0].Position.X + " " + history[1][0].Position.X + " " + history[2][0].Position.X); - }*/ - if (history.Count > 90) - { - history.RemoveAt(0); - } - //} + history.Add(latestSkeleton); + + if (history.Count > 90) + { + history.RemoveAt(0); + } } /*public bool CheckForHandWave()