//TODO: Subscribe this to the skeletonChanged event and update the GUI with a preview of the skeleton positions public NetworkKinectSettingsControl(int kinectNumber, ref KinectBase.MasterSettings settings, KinectBase.IKinectCore kinect) { if (settings != null) { if (settings.kinectOptionsList[kinectNumber].version == KinectBase.KinectVersion.NetworkKinect) { masterSettings = settings; dynamic tempSettings = settings.kinectOptionsList[kinectNumber]; kinectSettings = (NetworkKinectSettings)tempSettings; kinectID = kinectNumber; kinectCore = (NetworkKinectCore)kinect; uniqueKinectID = kinect.uniqueKinectID; InitializeComponent(); this.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; this.VerticalAlignment = System.Windows.VerticalAlignment.Stretch; //Set the binding on the joint mapping data grid jointMappingDataGrid.ItemsSource = kinectSettings.jointMappings; jointMappingDataGrid.Items.Refresh(); } else { throw new ArgumentException("The provided KinectID is not for a network Kinect sensor."); } } else { throw new ArgumentNullException("settings"); } }
//Constructor to setup the real NetworkKinectSettingsControl public SettingsControl(int kinectNumber, ref MasterSettings settings, IKinectCore kinect) { InitializeComponent(); Grid.SetColumn(this, 2); this.Visibility = System.Windows.Visibility.Collapsed; Core coreWrapper = (Core)kinect; NetworkKinectCore.NetworkKinectCore kinectCore = (NetworkKinectCore.NetworkKinectCore)coreWrapper; realControl = new NetworkKinectSettingsControl(kinectNumber, ref settings, kinectCore); realControl.Visibility = System.Windows.Visibility.Visible; this.MasterGrid.Children.Add((UserControl)realControl); }
//TODO: Subscribe this to the skeletonChanged event and update the GUI with a preview of the skeleton positions public NetworkKinectSettingsControl(int kinectNumber, ref KinectBase.MasterSettings settings, KinectBase.IKinectCore kinect) { if (settings != null) { if (settings.kinectOptionsList[kinectNumber].version == KinectBase.KinectVersion.NetworkKinect) { masterSettings = settings; dynamic tempSettings = settings.kinectOptionsList[kinectNumber]; kinectSettings = (NetworkKinectSettings)tempSettings; kinectID = kinectNumber; kinectCore = (NetworkKinectCore)kinect; uniqueKinectID = kinect.uniqueKinectID; InitializeComponent(); this.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; this.VerticalAlignment = System.Windows.VerticalAlignment.Stretch; //Set the binding on the joint mapping data grid jointMappingDataGrid.ItemsSource = kinectSettings.jointMappings; jointMappingDataGrid.Items.Refresh(); //Subscribe to the skeletonChanged event kinectCore.SkeletonChanged += kinectCore_SkeletonChanged; guiUpdateTimer = new Timer(); guiUpdateTimer.Interval = 1000; guiUpdateTimer.AutoReset = true; guiUpdateTimer.Elapsed += guiUpdateTimer_Elapsed; guiUpdateTimer.Start(); } else { throw new ArgumentException("The provided KinectID is not for a network Kinect sensor."); } } else { throw new ArgumentNullException("settings"); } }