Inheritance: KinectBase.IKinectCore
        //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");
            }
        }
Exemplo n.º 2
0
        //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");
            }
        }