コード例 #1
0
ファイル: VideoCapture.cs プロジェクト: Pandinosaurus/emgucv
 /// <summary>
 /// Pause the grab process if it is running.
 /// </summary>
 public void Pause()
 {
     if (_grabState == GrabState.Running)
     {
         _grabState = GrabState.Pause;
     }
 }
コード例 #2
0
ファイル: Capture.cs プロジェクト: xihutou/EMGU_CV
 private void Run()
 {
     try
     {
         while (_grabState == GrabState.Running || _grabState == GrabState.Pause)
         {
             if (_grabState == GrabState.Pause)
             {
                 _pauseEvent.WaitOne();
             }
             else if (!Grab())
             {
                 //no more frames to grab, this is the end of the stream. We should stop.
                 _grabState = GrabState.Stopping;
             }
         }
     }
     catch (Exception e)
     {
         throw;
     }
     finally
     {
         _grabState = GrabState.Stopped;
     }
 }
コード例 #3
0
ファイル: VideoCapture.cs プロジェクト: Pandinosaurus/emgucv
 private void Run(Emgu.Util.ExceptionHandler eh = null)
 {
     try
     {
         while (_grabState == GrabState.Running || _grabState == GrabState.Pause)
         {
             if (_grabState == GrabState.Pause)
             {
                 _pauseEvent.WaitOne();
             }
             else if (IntPtr.Zero.Equals(_ptr) || !Grab())
             {
                 //capture has been released, or
                 //no more frames to grab, this is the end of the stream.
                 //We should stop.
                 _grabState = GrabState.Stopping;
             }
         }
     }
     catch (Exception e)
     {
         if (eh != null && eh.HandleException(e))
         {
             return;
         }
         Trace.WriteLine(e.StackTrace);
         throw new Exception("Capture error", e);
     }
     finally
     {
         _grabState = GrabState.Stopped;
     }
 }
コード例 #4
0
        public override void OnMouseButton(MouseButton button, Vector2 currentPosition, ButtonState state)
        {
            if (state == ButtonState.Pressed)
            {
                this.isDraggingSomething = true;
            }
            else
            {
                this.isDraggingSomething = false;
            }

            if (button == MouseButton.Left)
            {
                if (state == ButtonState.Pressed)
                {
                    this.grabState = new GrabState(GetEdgeAtPoint(currentPosition), currentPosition,
                                                   this.boundingRect.Rect, this.minSize, this.maxSize);
                }
                else
                {
                    if (this.grabState.edge != RectEdge.None)
                    {
                        Resized?.Invoke(this, new ResizeEventArgs
                        {
                            PositionOffset = this.grabState.GetPositionDelta(this.currentMousePosition),
                            NewSize        = this.boundingRect.Size.ToVector2() +
                                             this.grabState.GetSizeDelta(this.currentMousePosition)
                        });
                    }

                    this.grabState = new GrabState(RectEdge.None, Vector2.Zero, Rectangle.Empty, Point.Zero, null);
                }
            }
        }
コード例 #5
0
ファイル: CCInput.cs プロジェクト: yazici/dying-to-find
    void Update()
    {
        switch (GrabState)
        {
        case GrabState.Down: {
            if (OVRInput.Get(OVRInput.Button.PrimaryHandTrigger, ovrHand))
            {
                GrabState = GrabState.Holding;
            }
            break;
        }

        case GrabState.Holding: {
            if (!OVRInput.Get(OVRInput.Button.PrimaryHandTrigger, ovrHand))
            {
                GrabState = GrabState.Released;
            }
            break;
        }

        case GrabState.Released: {
            if (OVRInput.GetDown(OVRInput.Button.PrimaryHandTrigger, ovrHand))
            {
                GrabState = GrabState.Down;
            }
            break;
        }
        }

        // handle joystick movement
        joystickInput = OVRInput.Get(OVRInput.Axis2D.PrimaryThumbstick, ovrHand);
    }
コード例 #6
0
ファイル: VideoCapture.cs プロジェクト: aleixRabassa/emgucv
        /// <summary>
        /// Start the grab process in a separate thread. Once started, use the ImageGrabbed event handler and RetrieveGrayFrame/RetrieveBgrFrame to obtain the images.
        /// </summary>
//#if WITH_SERVICE_MODEL
//        /// <param name="eh">An exception handler. If provided, it will be used to handle exception in the capture thread.</param>
//#endif
        public void Start(
#if WITH_SERVICE_MODEL
            System.ServiceModel.Dispatcher.ExceptionHandler eh = null
#endif
            )
        {
            if (_grabState == GrabState.Pause)
            {
                _grabState = GrabState.Running;
                _pauseEvent.Set();
            }
            else if (_grabState == GrabState.Stopped || _grabState == GrabState.Stopping)
            {
                _grabState = GrabState.Running;

#if NETSTANDARD1_4
                Task t = new Task(Run);
                t.Start();
#elif NETFX_CORE
                Windows.System.Threading.ThreadPool.RunAsync(delegate { Run(); });
#elif !WITH_SERVICE_MODEL
                ThreadPool.QueueUserWorkItem(delegate { Run(); });
#else
                ThreadPool.QueueUserWorkItem(delegate { Run(eh); });
#endif
            }
        }
コード例 #7
0
 private void Run()
 {
     try
     {
         while (_grabState == GrabState.Running || _grabState == GrabState.Pause)
         {
             if (_grabState == GrabState.Pause)
             {
                 _pauseEvent.WaitOne();
             }
             else if (IntPtr.Zero.Equals(_ptr) || !Grab())
             {
                 //capture has been released, or
                 //no more frames to grab, this is the end of the stream.
                 //We should stop.
                 _grabState = GrabState.Stopping;
             }
         }
     }
     catch (Exception e)
     {
         throw new Exception("Capture error", e);
     }
     finally
     {
         _grabState = GrabState.Stopped;
     }
 }
コード例 #8
0
 public void PutDown()
 {
     levelScript.AddObjectToTile(this);
     grabState     = GrabState.PutDown;
     currentHolder = null;
     OnPlaced();
 }
コード例 #9
0
 private void OnThisGrabbableStateChange(GrabState grabState)
 {
     if (grabState == GrabState.Drop && rb != null)
     {
         rb.velocity        *= speedModifier;
         rb.angularVelocity *= aungularSpeedModifier;
     }
 }
コード例 #10
0
 void OnTriggerStay(Collider other)
 {
     if ((currentMotionState == MotionState.moving))
     {
         colliding        = true;
         currentGrabState = GrabState.notGrabable;
     }
 }
コード例 #11
0
ファイル: CapturePi.cs プロジェクト: zhangzheng1205/PiCamCV
 /// <summary>
 /// Stop the grabbing thread
 /// </summary>
 public void Stop()
 {
     Log.Info($"Stopping, _grabState={_grabState}");
     if (_grabState != GrabState.Stopped)
     {
         _grabState = GrabState.Stopping;
     }
 }
コード例 #12
0
 /// <summary>
 /// Start the grab process in a sperate thread. Once started, use the ImageGrabbed event handler and RetrieveGrayFrame/RetrieveBgrFrame to obtain the images.
 /// </summary>
 public void Start()
 {
     if (_grabState != GrabState.Running)
     {
         _grabState = GrabState.Running;
         ThreadPool.QueueUserWorkItem(delegate { Run(); });
     }
 }
コード例 #13
0
ファイル: Grabber.cs プロジェクト: LKSFX/VirusByteUnity
 private void dropStart()
 {
     _isGrabbed = false;
     _state     = GrabState.SHRINKING;
     StopAllCoroutines();
     StartCoroutine(Shrink());
     onDropStart(); // Chama método aviso Drop para as subclasses poderem implementar
 }
コード例 #14
0
    public void Grab()
    {
        modeArrows[(int)mMode].gameObject.SetActive(false);

        mPlayerCtrl.attachSpriteAnim.Play("seek");

        mGrabberSeekPos = mPlayerCtrl.attachPoint.position;
        mGrabState      = GrabState.Seek;
    }
コード例 #15
0
 public void PickedUp(IHolder grabber)
 {
     levelScript.RemoveObjectFromTile(this);
     if (currentHolder != null)
     {
         currentHolder.DetachGrabbedObject();
     }
     currentHolder = grabber;
     grabState     = GrabState.PickedUp;
 }
コード例 #16
0
 /// <summary>
 /// Stop the grabbing thread
 /// </summary>
 public void Stop()
 {
     if (_grabState != GrabState.Stopped)
     {
         if (_grabState != GrabState.Stopping)
         {
             _grabState = GrabState.Stopping;
         }
     }
 }
コード例 #17
0
        private void OnStrigGrabStateChange(GrabState state)
        {
            if (state == GrabState.Drop)
            {
                dropStartTime     = Time.time;
                dropStartPosition = middle.position;
                isLerping         = true;

                middle.parent = transform;
            }
        }
コード例 #18
0
        /// <summary>
        /// Start the grab process in a sperate thread. Once started, use the ImageGrabbed event handler and RetrieveGrayFrame/RetrieveBgrFrame to obtain the images.
        /// </summary>
        public void Start()
        {
            if (_grabState != GrabState.Running)
            {
                _grabState = GrabState.Running;
#if NETFX_CORE
                ThreadPool.RunAsync(delegate { Run(); });
#else
                ThreadPool.QueueUserWorkItem(delegate { Run(); });
#endif
            }
        }
コード例 #19
0
ファイル: Grabber.cs プロジェクト: LKSFX/VirusByteUnity
 private void grabStart()
 {
     if (!_isGrabbed)
     {
         // Grab só iniciará uma vez
         _isGrabbed = true;
         _state     = GrabState.GROWING;
         StopAllCoroutines();
         StartCoroutine(Grow());
         onGrabStart(); // Chama método aviso Grab para as subclasses poderem implementar
     }
 }
コード例 #20
0
        /// <summary>
        /// Called when the grenade grab state change
        /// </summary>
        /// <param name="grabState"></param>
        private void OnGrenadeGrabStateChange(GrabState grabState)
        {
            if (grabState == GrabState.Grab)
            {
                thisGrabbable.enabled = true;
            }

            else if (!pinWasUsed && grabState == GrabState.Drop && thisGrabbable.CurrentGrabState != GrabState.Grab)
            {
                thisGrabbable.enabled = false;
            }
        }
コード例 #21
0
 public void ResetState(ref PlayerState playerState)
 {
     timer                = 0f;
     grabState            = GrabState.Setup;
     enemyGrabbed         = false;
     grabCollider.enabled = false;
     if (enemyCollider != null)
     {
         Physics2D.IgnoreCollision(enemyCollider, GetComponent <BoxCollider2D> (), false);
     }
     playerState = PlayerState.Default;
 }
コード例 #22
0
 // Use this for initialization
 void Start()
 {
     playerBody           = GetComponent <Rigidbody2D> ();
     playerAnimator       = GetComponent <Animator> ();
     grabCollider         = GameObject.Find("Grab Collider Up").GetComponent <CircleCollider2D> ();
     grabCollider.enabled = false;
     grabState            = GrabState.Setup;
     enemyGrabbed         = false;
     playerAttackInfo     = GetComponent <AttackInfoContainer> ();
     orientationSystem    = GetComponent <OrientationSystem> ();
     moveInfo             = GetComponent <AbilityBasicMovement> ();
 }
コード例 #23
0
ファイル: VideoCapture.cs プロジェクト: virzak/emgucv
 /// <summary>
 /// Stop the grabbing thread
 /// </summary>
 public void Stop()
 {
     if (_grabState == GrabState.Pause)
     {
         _grabState = GrabState.Stopping;
         _pauseEvent.Set();
     }
     else
     if (_grabState == GrabState.Running)
     {
         _grabState = GrabState.Stopping;
     }
 }
コード例 #24
0
        public override void GrabBegin(int x, int y, bool strafe)
        {
            _grabState    = strafe ? GrabState.Panning : GrabState.Orbiting;
            _grabPivot    = _pivot;
            _grabEye      = Eye;
            _grabTarget   = Target;
            _grabBookmark = CurrentBookmark;
            _grabWinX     = x;
            _grabWinY     = y;
            _grabFar      = RaycastFarPlane(x, y);

            Raycast(x, y, out _grabScene);
        }
コード例 #25
0
        private void OnGrabStateChange(GrabState newState)
        {
            if (newState == GrabState.Grab)
            {
                grabController = grabbable.GrabController;
            }

            if (newState == GrabState.Drop)
            {
                Debug.Log("drop");
                GetComponent <Rigidbody>().isKinematic = false;
                GetComponent <Rigidbody>().AddForceAtPosition(grabController.Velocity * throwForce, grabController.transform.position);
            }
        }
コード例 #26
0
ファイル: CapturePi.cs プロジェクト: zhangzheng1205/PiCamCV
        /// <summary>
        /// Start the grab process in a sperate thread. Once started, use the ImageGrabbed event handler and RetrieveGrayFrame/RetrieveBgrFrame to obtain the images.
        /// </summary>
        public void Start()
        {
            switch (_grabState)
            {
            case GrabState.Pause:
                _grabState = GrabState.Running;
                break;

            case GrabState.Stopped:
            case GrabState.Stopping:
                _grabState = GrabState.Running;
                ThreadPool.QueueUserWorkItem(state => Run());
                break;
            }
        }
コード例 #27
0
ファイル: VideoCapture.cs プロジェクト: wojciechroczon/emgucv
        /// <summary>
        /// Start the grab process in a separate thread. Once started, use the ImageGrabbed event handler and RetrieveGrayFrame/RetrieveBgrFrame to obtain the images.
        /// </summary>
        /// <param name="eh">An exception handler. If provided, it will be used to handle exception in the capture thread.</param>
        public void Start(Emgu.Util.ExceptionHandler eh = null)
        {
            if (_grabState == GrabState.Pause)
            {
                _grabState = GrabState.Running;
                _pauseEvent.Set();
            }
            else if (_grabState == GrabState.Stopped || _grabState == GrabState.Stopping)
            {
                _grabState = GrabState.Running;

                _captureTask = new Task(delegate { Run(eh); });
                _captureTask.Start();
            }
        }
コード例 #28
0
    private void OnGrabRelease(XRController controller)
    {
        switch (grab)
        {
        case GrabState.One:
            grab = GrabState.None;
            if (controller.transform == grabbedObject.transform.parent)
            {
                var pos = grabbedObject.transform.position;
                grabbedObject.transform.parent   = originalParent;
                grabbedObject.transform.position = pos;
            }
            if (before != null)
            {
                TransformObject after = new TransformObject(grabbedObject.transform);
                if (MultiGrab)
                {
                    MultiLayerMoveOperation op = new MultiLayerMoveOperation(LayerManager.Instance.LayerHelper, before, after);
                    OperationManager.Instance.PushOperation(op);
                    foreach (Layer layer in LayerManager.Instance.layers)
                    {
                        layer.transform.parent = LayerManager.Instance.LayersHolder.transform;
                    }
                }
                else
                {
                    LayerMoveOperation op = new LayerMoveOperation(LayerManager.Instance.ActiveLayer, before, after);
                    OperationManager.Instance.PushOperation(op);
                }
                before = null;
            }
            grabbedObject  = null;
            originalParent = null;
            movable        = null;
            resizable      = null;

            break;

        case GrabState.Both:
            grab = GrabState.One;
            grabbedObject.transform.parent = controller == leftController ? rightController.transform : leftController.transform;
            ToolController.Instance.ToggleSelectedTool(true);
            break;

        default:
            break;
        }
    }
コード例 #29
0
        private void OnDominantGrabbableGrabStateChange(GrabState state)
        {
            if (state == GrabState.Drop)
            {
                if (secondaryGrabbable.CurrentGrabState == GrabState.Grab || secondaryGrabbable.CurrentGrabState == GrabState.Drop)
                {
                    ReleaseSecondaryGrabbable();
                }

                secondaryGrabbable.enabled = false;
            }
            else if (state == GrabState.Grab)
            {
                secondaryGrabbable.enabled = true;
            }
        }
コード例 #30
0
ファイル: VideoCapture.cs プロジェクト: formylover/emgucv-1
        /// <summary>
        /// Start the grab process in a separate thread. Once started, use the ImageGrabbed event handler and RetrieveGrayFrame/RetrieveBgrFrame to obtain the images.
        /// </summary>
        public void Start()
        {
            if (_grabState == GrabState.Pause)
            {
                _grabState = GrabState.Running;
                _pauseEvent.Set();
            }
            else if (_grabState == GrabState.Stopped || _grabState == GrabState.Stopping)
            {
                _grabState = GrabState.Running;
#if NETFX_CORE
                ThreadPool.RunAsync(delegate { Run(); });
#else
                ThreadPool.QueueUserWorkItem(delegate { Run(); });
#endif
            }
        }
コード例 #31
0
ファイル: CapturePi.cs プロジェクト: rflechner/PiCamCV
 /// <summary>
 /// Start the grab process in a sperate thread. Once started, use the ImageGrabbed event handler and RetrieveGrayFrame/RetrieveBgrFrame to obtain the images.
 /// </summary>
 public void Start()
 {
     switch (_grabState)
     {
         case GrabState.Pause:
             _grabState = GrabState.Running;
             break;
         case GrabState.Stopped:
         case GrabState.Stopping:
             _grabState = GrabState.Running;
             ThreadPool.QueueUserWorkItem(delegate { Run(); });
             break;
     }
 }
コード例 #32
0
ファイル: CapturePi.cs プロジェクト: rflechner/PiCamCV
 /// <summary>
 /// Stop the grabbing thread
 /// </summary>
 public void Stop()
 {
     if (_grabState != GrabState.Stopped)
     {
         if (_grabState != GrabState.Stopping)
             _grabState = GrabState.Stopping;
     }
 }
コード例 #33
0
ファイル: Capture.cs プロジェクト: reidblomquist/emgucv
 /// <summary>
 /// Stop the grabbing thread
 /// </summary>
 public void Stop()
 {
    if (_grabState == GrabState.Pause)
    {
       _grabState = GrabState.Stopping;
       _pauseEvent.Set();
    }
    else
       if (_grabState == GrabState.Running)
          _grabState = GrabState.Stopping;
 }
コード例 #34
0
ファイル: Capture.cs プロジェクト: reidblomquist/emgucv
 /// <summary>
 /// Pause the grab process if it is running.
 /// </summary>
 public void Pause()
 {
    if (_grabState == GrabState.Running)
       _grabState = GrabState.Pause;
 }
コード例 #35
0
ファイル: Capture.cs プロジェクト: reidblomquist/emgucv
      /// <summary>
      /// Start the grab process in a separate thread. Once started, use the ImageGrabbed event handler and RetrieveGrayFrame/RetrieveBgrFrame to obtain the images.
      /// </summary>
      public void Start()
      {
         if (_grabState == GrabState.Pause)
         {
            _grabState = GrabState.Running;
            _pauseEvent.Set();
           
         } else if (_grabState == GrabState.Stopped || _grabState == GrabState.Stopping)
         {
            _grabState = GrabState.Running;
#if NETFX_CORE
            ThreadPool.RunAsync(delegate { Run(); });
#else
            ThreadPool.QueueUserWorkItem(delegate { Run(); });
#endif
         }
      }
コード例 #36
0
ファイル: Capture.cs プロジェクト: reidblomquist/emgucv
 private void Run()
 {
    try
    {
       while (_grabState == GrabState.Running || _grabState == GrabState.Pause)
       {
          if (_grabState == GrabState.Pause)
          {
             _pauseEvent.WaitOne();
          } else if (!Grab())
          {
             //no more frames to grab, this is the end of the stream. We should stop.
             _grabState = GrabState.Stopping;
          }
       }
    }
    catch (Exception e)
    {
       throw new Exception("Capture error", e);
    }
    finally
    {
       _grabState = GrabState.Stopped;
    }
 }
コード例 #37
0
 private void setStatus(GrabInstruction instruction, GrabStage stage, GrabState state)
 {
     Status.Instruction = instruction;
     Status.Stage = stage;
     Status.State = state;
 }
コード例 #38
0
ファイル: VideoCapture.cs プロジェクト: neutmute/emgucv
 private void Run()
 {
    try
    {
       while (_grabState == GrabState.Running || _grabState == GrabState.Pause)
       {
          if (_grabState == GrabState.Pause)
          {
             _pauseEvent.WaitOne();
          } else if (IntPtr.Zero.Equals(_ptr) || !Grab())
          {
             //capture has been released, or
             //no more frames to grab, this is the end of the stream. 
             //We should stop.
             _grabState = GrabState.Stopping;
          }
       }
    }
    catch (Exception e)
    {
       throw new Exception("Capture error", e);
    }
    finally
    {
       _grabState = GrabState.Stopped;
    }
 }
コード例 #39
0
ファイル: CapturePi.cs プロジェクト: rflechner/PiCamCV
 private void Run()
 {
     try
     {
         while (_grabState == GrabState.Running || _grabState == GrabState.Pause)
         {
             if (_grabState == GrabState.Pause)
             {
                 Wait(100);
             }
             else if (!Grab())
             {
                 //no more frames to grab, this is the end of the stream. We should stop.
                 _grabState = GrabState.Stopping;
             }
         }
     }
     catch (Exception e)
     {
         Log.Error(e);
         throw;
     }
     finally
     {
         _grabState = GrabState.Stopped;
     }
 }
コード例 #40
0
ファイル: Capture.cs プロジェクト: KaganRoman/Eval
      /// <summary>
      /// Start the grab process in a sperate thread. Once started, use the ImageGrabbed event handler and RetrieveGrayFrame/RetrieveBgrFrame to obtain the images.
      /// </summary>
      public void Start()
      {
         if (_grabState != GrabState.Running)
         {
            _grabState = GrabState.Running;
#if NETFX_CORE
            ThreadPool.RunAsync(delegate { Run(); });
#else
            ThreadPool.QueueUserWorkItem(delegate { Run(); });
#endif
         }
      }