diff --git a/KinectConnection/BodyImageStream.cs b/KinectConnection/BodyImageStream.cs index 96b6024..778c407 100644 --- a/KinectConnection/BodyImageStream.cs +++ b/KinectConnection/BodyImageStream.cs @@ -18,26 +18,75 @@ namespace KinectConnection /// public class BodyImageStream : KinectStream { + // Le lecteur pour les données enoyées par le Kinect private BodyFrameReader bodyFrameReader = null; - private Body[] bodies = null; + + // DrawingGroup est une classe qui nous permet de créer et manipuler un groupe de dessins comme un seul objet. + // Nous l'utiliserons pour dessiner le corps. private DrawingGroup drawingGroup = new DrawingGroup(); - private List bodyColors = new List(); + + // Convertit les coordonnées 3D "vues" par le kinect en coordonnées 2D + // -que nous pouvons utiliser pour dessiner le bodyStream private CoordinateMapper coordinateMapper = null; + + /// + /// Paramètres et attributs du corps. + /// + // Liste de corps. + private Body[] bodies = null; + + // Liste de tuples, avec les paires de joints. private List> bones = new List>(); - private readonly Brush trackedJointBrush = new SolidColorBrush(Color.FromArgb(255, 68, 192, 68)); - private readonly Brush inferredJointBrush = Brushes.Yellow; + + // Taille de la main private const double HandSize = 30; + + // Épaisseur de l'articulation private const double JointThickness = 3; - private readonly Brush handClosedBrush = new SolidColorBrush(Color.FromArgb(128, 255, 0, 0)); - private readonly Brush handOpenBrush = new SolidColorBrush(Color.FromArgb(128, 0, 255, 0)); - private readonly Brush handLassoBrush = new SolidColorBrush(Color.FromArgb(128, 0, 0, 255)); - private readonly Pen inferredBonePen = new Pen(Brushes.Gray, 1); + + // Épaisseur de la frontière utilisée pour couper les données du corps private const double ClipBoundsThickness = 10; + + /// + /// Paramètres et attributs de l'image. + /// + + // DrawingImage est une classe fille de ImageSource qu'on utilisera + // -pour afficher le DrawingGroup du corps qu'on aura dessiné private DrawingImage imageSource = new DrawingImage(); + + // Contient des informations telles que la largeur, la hauteur et le format des pixels. private FrameDescription frameDescription; + + // displayHeight est la hauteur de la zone d'affichage. Elle est définie en fonction de la hauteur décrite dans frameDescription. private int displayHeight; + + // displayWidth est la largeur de la zone d'affichage. Elle est définie en fonction de la largeur décrite dans frameDescription. private int displayWidth; + /// + /// Paramètres et attributs pour les couleurs. + /// + private List bodyColors = new List(); + + // Couleur de l'articulation suivie + private readonly Brush trackedJointBrush = new SolidColorBrush(Color.FromArgb(255, 68, 192, 68)); + + // Couleur de l'articulation inférée + private readonly Brush inferredJointBrush = Brushes.Yellow; + + // Couleur de la main fermée + private readonly Brush handClosedBrush = new SolidColorBrush(Color.FromArgb(128, 255, 0, 0)); + + // Couleur de la main ouverte + private readonly Brush handOpenBrush = new SolidColorBrush(Color.FromArgb(128, 0, 255, 0)); + + // Couleur de la main en lasso + private readonly Brush handLassoBrush = new SolidColorBrush(Color.FromArgb(128, 0, 0, 255)); + + // Couleur de l'os inféré + private readonly Pen inferredBonePen = new Pen(Brushes.Gray, 1); + /// /// Obtient la source d'image de la classe. /// diff --git a/KinectConnection/DepthImageStream.cs b/KinectConnection/DepthImageStream.cs index 40c7503..6636133 100644 --- a/KinectConnection/DepthImageStream.cs +++ b/KinectConnection/DepthImageStream.cs @@ -130,9 +130,6 @@ namespace KinectConnection // we are setting maxDepth to the extreme potential depth threshold ushort maxDepth = ushort.MaxValue; - // If you wish to filter by reliable depth distance, uncomment the following line: - //// maxDepth = depthFrame.DepthMaxReliableDistance - this.ProcessDepthFrameData(depthBuffer.UnderlyingBuffer, depthBuffer.Size, depthFrame.DepthMinReliableDistance, maxDepth); depthFrameProcessed = true; } diff --git a/KinectConnection/KinectStream.cs b/KinectConnection/KinectStream.cs index c6890a2..514f544 100644 --- a/KinectConnection/KinectStream.cs +++ b/KinectConnection/KinectStream.cs @@ -14,6 +14,7 @@ namespace KinectConnection public KinectManager KinectManager { get; set; } + // Abstraction pour le writeable bitmap et drawing image public abstract ImageSource Source { get; } public abstract void Start();