Exemple #1
0
 public void reset()
 {
     nodeX        = -1;
     nodeY        = -1;
     opennes      = 0;
     alertLabel   = PXCMGesture.Alert.Label.LABEL_ANY;
     gestureLabel = PXCMGesture.Gesture.Label.LABEL_ANY;
 }
Exemple #2
0
 public MyGestureParams()
 {
     nodeX        = -1;
     nodeY        = -1;
     opennes      = 0;
     alertLabel   = PXCMGesture.Alert.Label.LABEL_ANY;
     gestureLabel = PXCMGesture.Gesture.Label.LABEL_ANY;
 }
Exemple #3
0
        private void CheckFieldOfView(PXCMGesture.Alert.Label alert)
        {
            if (alert == PXCMGesture.Alert.Label.LABEL_GEONODE_ACTIVE)
            {
                _isHandActive = true;
            }
            else if (alert == PXCMGesture.Alert.Label.LABEL_GEONODE_INACTIVE ||
                     alert == PXCMGesture.Alert.Label.LABEL_FOV_BLOCKED)
            {
                _isHandActive = false;
                ClearHover();
                HideHand();
            }

            //if (_isHandActive) ShowHand();
            //else HideHand();
        }
Exemple #4
0
        public void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            bgwk1Running = true;
            GesturePipeline pipeline = new GesturePipeline();

            PXCMGesture.Alert.Label alertLabel    = PXCMGesture.Alert.Label.LABEL_ANY;
            MyGestureParams         geoNodeParams = new MyGestureParams();

            pipeline.Init();
            if (MessageBox.Show("Initialise Voice pipeline?", "", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {
                backgroundWorker1.ReportProgress(1);
            }
            while (true)
            {
                //check if need to terminate the pipline when window is closing
                if (backgroundWorker1.CancellationPending)
                {
                    e.Cancel = true;
                    break;
                }

                if (pipeline.AcquireFrame(true))
                {
                    if (pipeline.IsImageFrame())
                    {
                        if (alertLabel != pipeline.geoNodeParams.alertLabel)
                        {
                            alertLabel = pipeline.geoNodeParams.alertLabel;
                        }
                        //check existance of geoNode
                        if ((alertLabel != PXCMGesture.Alert.Label.LABEL_ANY) &&
                            (alertLabel != PXCMGesture.Alert.Label.LABEL_GEONODE_INACTIVE) &&
                            (alertLabel != PXCMGesture.Alert.Label.LABEL_FOV_BLOCKED))
                        {
                            geoNodeParams = pipeline.geoNodeParams;
                            alertLabel    = geoNodeParams.alertLabel;
                            backgroundWorker1.ReportProgress(3, geoNodeParams);
                        }
                        else
                        {
                            geoNodeParams.reset();
                            geoNodeParams.alertLabel = alertLabel;
                            backgroundWorker1.ReportProgress(3, geoNodeParams);
                        }
                    }
                    else
                    {
                        pipeline.ReleaseFrame();
                        continue;
                    }
                    if (!pipeline.ReleaseFrame())
                    {
                        break;
                    }
                }
                else
                {
                    MessageBox.Show("Failed to initialize GesturePipeline");
                    break;
                }
            }
            pipeline.PauseGesture(true);
            //pipeline.ReleaseFrame();
            pipeline.Close();
            pipeline.Dispose();
            bgwk1Running = false;
            //MessageBox.Show("stopping backgroundWorker1");
        }