コード例 #1
0
 void Update()
 {
     if (kinectInitialized)
     {
         colorStreamUpdated    = KinectV2Wrapper.PollColor(colorFrameReader, ref processedKinectData.ColorStreamData);
         infraredStreamUpdated = KinectV2Wrapper.PollInfrared(infraredFrameReader, ref processedKinectData.RawDepths);
         depthDataUpdated      = KinectV2Wrapper.PollDepth(depthFrameReader, KinectV2Wrapper.Constants.IsNearMode, ref processedKinectData.CorrectedDepths);
         if (colorStreamUpdated && depthDataUpdated && (displayStreams || displayPointCloud))
         {
             RefreshStreamsAndPointCloud();
         }
         if (Input.GetKeyDown(KeyCode.Escape))
         {
             Application.Quit();
         }
     }
 }
コード例 #2
0
ファイル: MainWindow.xaml.cs プロジェクト: vancegroup/KVR
        void v2StatusHelper_KinectV2StatusChanged(object sender, KinectV2Wrapper.StatusEventArgs e)
        {
            bool kinectFound = false;

            for (int i = 0; i < availableKinects.Count; i++)
            {
                //Check the Kinect by version, not by ID, because the ID is not preserved when the Kinect is disconnected
                if (availableKinects[i].kinectType == KinectVersion.KinectV2)
                {
                    if (e.Status != KinectStatus.Disconnected)
                    {
                        availableKinects[i].Status = e.Status;
                        availableKinects[i].KinectTypeString = "Kinect v2";
                        availableKinects[i].kinectType = KinectVersion.KinectV2;

                        if (e.Status != KinectStatus.Connected)
                        {
                            availableKinects[i].UseKinect = false;
                        }
                    }
                    else
                    {
                        availableKinects[i].UseKinect = false;
                        availableKinects[i].PropertyChanged -= useKinect_PropertyChanged;
                        availableKinects.RemoveAt(i);

                        renumberKinectIDs();
                    }
                    kinectsAvailableDataGrid.Items.Refresh();
                    kinectFound = true;
                }
            }

            if (!kinectFound && e.Status != KinectStatus.Disconnected)
            {
                AvailableKinectData tempData = new AvailableKinectData();
                tempData.UniqueID = e.UniqueKinectID;
                tempData.KinectID = null;
                tempData.UseKinect = false;
                tempData.KinectTypeString = "Kinect v2";
                tempData.kinectType = KinectVersion.KinectV2;
                tempData.PropertyChanged += useKinect_PropertyChanged;
                tempData.Status = e.Status;
                availableKinects.Add(tempData);
                kinectsAvailableDataGrid.Items.Refresh();
            }

            //Update the number of Kinects attached to the computer
            KinectStatusBlock.Text = availableKinects.Count.ToString();
        }