コード例 #1
0
        // Updates the scale of the Gridlines
        private void UpdateGridlines(object sender, RoutedPropertyChangedEventArgs <double> e)
        {
            if (GridLinesScaleSlider.Value == 1)
            {
                MetersTextBlock.Text = " meter";
            }
            else
            {
                MetersTextBlock.Text = " meters";
            }

            DrawingResources.GenerateGridLines(canvas, GridLines, GridLinesScaleSlider.Value);
        }
コード例 #2
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            this.Dispatcher.Invoke(new Action(delegate()
            {
                DrawingResources.GenerateGridLines(canvas, GridLines, GridLinesScaleSlider.Value);
                GridLines.ShowGridLines = true;

                // When we do the event handling through XAML, an event fires before the Window is loaded, and it freezes the program, so we do event binding after Window is loaded
                GridLinesScaleSlider.ValueChanged += UpdateGridlines;
                GridLinesCheckBox.Checked         += ChangeGridlineVisibility;
                GridLinesCheckBox.Unchecked       += ChangeGridlineVisibility;
                RangeCheckBox.Checked             += ChangeRangeVisibility;
                RangeCheckBox.Unchecked           += ChangeRangeVisibility;

                //Create Dictionaries for DeviceControl, PersonControl
                DeviceControlDictionary  = new Dictionary <string, DeviceControl>();
                PersonControlDictionary  = new Dictionary <PairablePerson, PersonControl>();
                TrackerControlDictionary = new Dictionary <string, TrackerControl>();


                //Initialize and Start MSEKinectManager
                kinectManager = new MSEKinectManager();
                kinectManager.Start();

                // The tracker is created in the PersonManager constructor, so there's actually no way for us to listen for its creation the first time
                //trackerChanged(kinectManager.PersonManager, kinectManager.PersonManager.Tracker);

                //Setup Events for Device Addition and Removal, Person Addition and Removal
                kinectManager.DeviceManager.DeviceAdded         += deviceAdded;
                kinectManager.DeviceManager.DeviceRemoved       += deviceRemoved;
                kinectManager.PersonManager.PersonAdded         += personAdded;
                kinectManager.PersonManager.PersonRemoved       += personRemoved;
                kinectManager.PersonManager.newKinectDiscovered += KinectDiscovered;
                kinectManager.PersonManager.kinectRemoved       += KinectRemoved;

                //Seperate components for displaying the visible skeletons
                skeletonRenderer = new SkeletonRenderer(SkeletonBasicsImage);

                //// Values retrieved from:
                //// http://blogs.msdn.com/b/kinectforwindows/archive/2012/01/20/near-mode-what-it-is-and-isn-t.aspx
                //// http://msdn.microsoft.com/en-us/library/jj131033.aspx
                //tracker.MinRange = 0.8;
                //tracker.MaxRange = 4;
                //tracker.FieldOfView = 57;
            }));
        }