public KinectV2SettingsControl(int kinectNumber, ref KinectBase.MasterSettings settings, KinectBase.IKinectCore kinect) { if (settings != null) { if (settings.kinectOptionsList[kinectNumber].version == KinectBase.KinectVersion.KinectV2) { masterSettings = settings; dynamic tempSettings = settings.kinectOptionsList[kinectNumber]; kinectSettings = (KinectV2Settings)tempSettings; kinectID = kinectNumber; kinectCore = (KinectCoreV2)kinect; uniqueKinectID = kinect.uniqueKinectID; InitializeComponent(); this.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; this.VerticalAlignment = System.Windows.VerticalAlignment.Stretch; } else { throw new ArgumentException("The provided KinectID is not for a Kinect v2 sensor."); } } else { throw new NotSupportedException("Method arguments are invalid!"); } }
//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"); } }
public KinectV1SettingsControl(int kinectNumber, ref KinectBase.MasterSettings settings, KinectBase.IKinectCore kinect) { if (settings != null) { if (settings.kinectOptionsList[kinectNumber].version == KinectBase.KinectVersion.KinectV1) { masterSettings = settings; dynamic tempSettings = settings.kinectOptionsList[kinectNumber]; kinectSettings = (KinectV1Settings)tempSettings; kinectID = kinectNumber; kinectCore = (KinectCoreV1)kinect; kinectCore.AccelerationChanged += kinectCore_AccelerationChanged; uniqueKinectID = kinect.uniqueKinectID; InitializeComponent(); this.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; this.VerticalAlignment = System.Windows.VerticalAlignment.Stretch; //This moved to the wrapper //Grid.SetColumn(this, 2); //this.Visibility = System.Windows.Visibility.Collapsed; if (kinectCore.isXbox360Kinect != null && (bool)kinectCore.isXbox360Kinect) { DisableK4WOnlyOptions(); } } else { throw new ArgumentException("The provided KinectID is not for a Kinect v1 sensor."); } } else { throw new ArgumentNullException("settings"); } }