--- 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<List<Joint>> history = new List<List<Joint>>();
+ protected static List<List<Joint>> history = new List<List<Joint>>();
//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<Joint> latestSkeleton)
+ public static void UpdateSkeletonHistory(List<Joint> 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()