Esempio n. 1
0
        /*
         * private const int DMAFilterN = 3;
         * private Filter DMAFilterX = new DMAFilter(DMAFilterN);
         * private Filter DMAFilterY = new DMAFilter(DMAFilterN);
         *
         * private const int MedianFilterN = 4;
         * private Filter MedianFilterX = new MedianFilter(MedianFilterN);
         * private Filter MedianFilterY = new MedianFilter(MedianFilterN);
         */
        /// <summary>
        /// draw output points on the screen
        /// </summary>
        private void DrawOutput()
        {
            using (DrawingContext dc = this.outputDrawingGroup.Open())
            {
                dc.DrawImage(blankColorBitmap, new Rect(0.0, 0.0, RenderWidth, RenderHeight));
                RoomSetting.PaintPlatesAndCoordinates(dc);

                foreach (Player player in this.players)
                {
                    player.DrawSkeleton(dc);

                    if (player.headAndHandValid == true)
                    {
                        SpacePoint intersection = RoomSetting.FindTheIntersection(RoomSetting.CameraPointToRoomPoint(player.startPointInCameraCoordinates),
                                                                                  RoomSetting.CameraPointToRoomPoint(player.endPointInCameraCoordinates));

                        if (intersection != null)
                        {
                            Point showPoint = RoomSetting.RoomPointToObservePoint(intersection);
                            dc.DrawLine(new Pen(player.color, 2), RoomSetting.CameraPointToObservePoint(player.startPointInCameraCoordinates),
                                        showPoint);

                            if (showPoint.X >= 0 && showPoint.X < RenderWidth && showPoint.Y >= 0 && showPoint.Y < RenderHeight)
                            {
                                dc.DrawEllipse(player.color, null, showPoint, this.PointThickness, this.PointThickness);
                            }
                            else
                            {
                                RenderClippedEdges(showPoint, dc);
                            }
                        }
                    }
                }
            }
        }