Beispiel #1
0
 public override void DirectZoomInCall(PitchGrabObject pitchGrabObject, Action finalAction)
 {
     if (!zoomingIn && !zoomingOut && actualPitchGrabObject == null && !VisualizationManager.Instance.tiiesVisualization.movingPlane)
     {
         StartCoroutine(ZoomingIn(pitchGrabObject, finalAction));
     }
 }
Beispiel #2
0
        public void CreateClone(PitchGrabObject image, List <PitchGrabObject> list)
        {
            PitchGrabObject dio = Instantiate(actualPitchGrabObject);

            dio.transform.parent = actualPitchGrabObject.transform.parent;
            dio.transform.DestroyChildrenImmediate();
            dio.transform.localPosition = _actualPitchObjectOriginalPosition;
            dio.transform.localScale    = new Vector3(0.03f, 0.03f, 0.001f);

            dio.idName = image.idName;

            dio.gameObject.SetActive(false);

            dio.isClone = true;

            bool contenedor = false;

            foreach (var digitalObject in list)
            {
                if (digitalObject.idName == image.idName)
                {
                    contenedor = true;
                }
            }

            if (!contenedor)
            {
                list.Add(dio);
            }
        }
Beispiel #3
0
        public void destroyClone(PitchGrabObject imagen, List <PitchGrabObject> lista)
        {
            Debug.Log(imagen);
            PitchGrabObject        obj      = null;
            List <PitchGrabObject> listaAux = lista;
            int i = 0;

            foreach (PitchGrabObject photo in listaAux)
            {
                Debug.Log(photo);
                if (photo.idName == imagen.idName)
                {
                    obj = photo;
                    break;
                }
                i++;
            }
            lista.RemoveAt(i);
            if (obj != null)
            {
                Destroy(obj.gameObject);
            }

            RevisarLista(lista);
        }
Beispiel #4
0
        public override IEnumerator ZoomingIn(PitchGrabObject pitchGrabObject, Action finalAction)
        {
            zoomingIn = true;
            SetZoomInInitialStatus(pitchGrabObject);
            MOTIONSManager.Instance.AddLines("Zooming In", pitchGrabObject.idName);

            var counter = 0;

            while (true)
            {
                pitchGrabObject.transform.position = Vector3.MoveTowards(pitchGrabObject.transform.position, Camera.main.transform.position, 0.01f);

                if (counter >= closeRange)
                {
                    break;
                }

                counter++;
                yield return(new WaitForFixedUpdate());
            }

            if (finalAction != null)
            {
                finalAction();
            }
            zoomingIn = false;
        }
Beispiel #5
0
 public void Awake()
 {
     zoomingIn                    = false;
     zoomingOut                   = false;
     actualPitchGrabObject        = null;
     posibleActualPitchGrabObject = null;
 }
Beispiel #6
0
        public override IEnumerator ZoomingIn(PitchGrabObject pitchGrabObject, Action finalAction)
        {
            zoomingIn = true;
            SetZoomInInitialStatus(pitchGrabObject);
            MOTIONSManager.Instance.AddLines("Zooming In", pitchGrabObject.idName);

            var counter = 0;

            while (true)
            {
                //pitchGrabObject.transform.position = new Vector3(0.0005f, 3.6575f, 0.0179f);
                pitchGrabObject.transform.position = new Vector3(InterfaceManager.Instance.leapMotionManager.leapMotionRig.transform.position.x, InterfaceManager.Instance.leapMotionManager.leapMotionRig.transform.position.y, InterfaceManager.Instance.leapMotionManager.leapMotionRig.transform.position.z + 0.020f);

                if (counter >= closeRange)
                {
                    break;
                }

                counter++;
                yield return(new WaitForFixedUpdate());
            }

            if (finalAction != null)
            {
                finalAction();
            }
            zoomingIn = false;
        }
Beispiel #7
0
        private IEnumerator ZoomingIn(PitchGrabObject pitchGrabObject, Action finalAction)
        {
            zoomingIn = true;
            SetZoomInInitialStatus(pitchGrabObject);

            dioManager.csvCreator.AddLines("ZoomingIn", pitchGrabObject.idName);

            var counter = 0;

            while (true)
            {
                pitchGrabObject.transform.position =
                    Vector3.MoveTowards(pitchGrabObject.transform.position,
                                        Vector3.zero, 0.01f);

                if (counter >= dioManager.closeRange)
                {
                    break;
                }

                counter++;
                yield return(new WaitForFixedUpdate());
            }

            if (finalAction != null)
            {
                finalAction();
            }

            zoomingIn = false;
        }
Beispiel #8
0
 public void DirectZoomInCall(PitchGrabObject pitchGrabObject, Action finalAction)
 {
     if (!zoomingIn && !zoomingOut && actualPitchGrabObject == null && !dioManager.movingSphere)
     {
         StartCoroutine(ZoomingIn(pitchGrabObject, finalAction));
     }
 }
        public void Update()
        {
            if (!_dioManager.mouseInput)
            {
                _forwardVector = transform.TransformDirection(Vector3.forward);
                _ray           = new Ray(transform.position, _forwardVector);
            }
            else
            {
                _ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            }

            if (Physics.Raycast(_ray, out _raycastHit, maxDistance, ignoredLayerMask))
            {
                var posiblePitcheGrabObject = _raycastHit.transform.gameObject.GetComponent <PitchGrabObject>();

                if (posiblePitcheGrabObject == null)
                {
                    return;
                }

                if (posiblePitcheGrabObject.dioController.visualizationController.id != _dioManager.actualVisualization)
                {
                    if (_actualPitchGrabObject != null)
                    {
                        _actualPitchGrabObject.OnUnDetect();
                    }

                    return;
                }

                if (_actualPitchGrabObject == null)
                {
                    _actualPitchGrabObject = posiblePitcheGrabObject;
                }
                else
                {
                    if (_actualPitchGrabObject.idName != posiblePitcheGrabObject.idName)
                    {
                        _actualPitchGrabObject.OnUnDetect();
                        _actualPitchGrabObject = posiblePitcheGrabObject;
                    }
                }

                DebugLog(posiblePitcheGrabObject);

                _actualPitchGrabObject.OnDetected();
            }
            else
            {
                if (_actualPitchGrabObject == null)
                {
                    _dioManager.buttonPanel.DisableZoomIn();
                    return;
                }

                _actualPitchGrabObject.OnUnDetect();
            }
        }
Beispiel #10
0
 public override void SetZoomInInitialStatus(PitchGrabObject pitchGrabObject)
 {
     actualPitchGrabObject = pitchGrabObject;
     actualPitchGrabObject.dioController.inVisualizationPosition = false;
     _actualPitchObjectOriginalPosition = pitchGrabObject.transform.position;
     _actualPitchObjectOriginalRotation = pitchGrabObject.transform.rotation;
     _actualPitchObjectOriginalScale    = pitchGrabObject.transform.localScale;
 }
 public override void DirectZoomInCall(PitchGrabObject pitchGrabObject, Action finalAction)
 {
     //DELETE THIS emulate limitation in action manager
     if (!zoomingIn && !zoomingOut && actualPitchGrabObject == null)
     {
         StartCoroutine(ZoomingIn(pitchGrabObject, finalAction));
     }
 }
Beispiel #12
0
        public void DeseleccionarFromCategoria(List <PitchGrabObject> lista, int categoriaActual, Button boton, Color color, List <DIOController> imageList)
        {
            //listaImagenes = dioManager.sphereControllers.Count > dioManager.planeControllers.Count ? dioManager.sphereControllers.SelectMany(sc => sc.dioControllerList).ToList() : dioManager.planeControllers.SelectMany(sc => sc.dioControllerList).ToList();
            listaImagenes = imageList;
            if (actualPitchGrabObject == null)
            {
                if (posibleActualPitchGrabObject == null)
                {
                    return;
                }
                actualPitchGrabObject = posibleActualPitchGrabObject;
            }

            PitchGrabObject imagen = null;

            foreach (var photo in listaImagenes)
            {
                if (photo.pitchGrabObject.idName == actualPitchGrabObject.idName)
                {
                    imagen = photo.pitchGrabObject;
                    break;
                }
            }

            if ((int)Categorias.Categoria1 == categoriaActual)
            {
                imagen.isSelectedCat1 = !imagen.isSelectedCat1;
            }
            else if ((int)Categorias.Categoria2 == categoriaActual)
            {
                imagen.isSelectedCat2 = !imagen.isSelectedCat2;
            }
            else if ((int)Categorias.Categoria3 == categoriaActual)
            {
                imagen.isSelectedCat3 = !imagen.isSelectedCat3;
            }
            else if ((int)Categorias.Categoria4 == categoriaActual)
            {
                imagen.isSelectedCat4 = !imagen.isSelectedCat4;
            }
            else
            {
                Debug.Log("Error al eliminar desde una categoria, categoria ingresada desde ButtonPanelBgiies inválida");
            }

            var action = "Deselect " + VisualizationManager.Instance.planeVisualization.panelBgiies.nombreCategoria;

            MOTIONSManager.Instance.AddLines(action, imagen.idName);

            zoomActive = false;
            destroyClone(imagen, lista);
            actualPitchGrabObject = imagen;
            deleteMarcador(color, boton);
            actualPitchGrabObject = null;
            eliminarFromCategoria = true;
            MostrarCategoria(lista, 0);
        }
Beispiel #13
0
        public void LookPointerEnter(PitchGrabObject pitchGrabObject)
        {
            _initialAlpha = pitchGrabObject.dioController.visualizationController.alpha;
            var objectColor = pitchGrabObject.objectMeshRender.material.color;

            objectColor.a = 1.0f;
            pitchGrabObject.objectMeshRender.material.color = objectColor;

            posibleActualPitchGrabObject = pitchGrabObject;
        }
        private void DebugLog(PitchGrabObject posiblePitcheGrabObject)
        {
            if (!debugOutput)
            {
                return;
            }

            print("Tag: " + _raycastHit.collider.tag);
            print(string.Format("ID Name: {0}, Sphere ID: {1}", posiblePitcheGrabObject.idName, posiblePitcheGrabObject.dioController.visualizationController.id));
            print("Actual Sphere: " + posiblePitcheGrabObject.dioController.DioManager.actualVisualization);
        }
Beispiel #15
0
        public void LookPointerExit(PitchGrabObject pitchGrabObject)
        {
            if (actualPitchGrabObject == null)
            {
                var objectColor = pitchGrabObject.objectMeshRender.material.color;
                objectColor.a = _initialAlpha;
                pitchGrabObject.objectMeshRender.material.color = objectColor;
            }

            posibleActualPitchGrabObject = null;
        }
        //This creates the ray
        public void CastRay(Ray ray, int currentVisualizationId)
        {
            //Debug.DrawLine(_ray.origin, _ray.direction * maxDistance, Color.red);
            //Debug.Log(ray.direction.ToString() + " " + currentVisualizationId.ToString());
            if (Physics.Raycast(ray, out _raycastHit, maxDistance, ignoredLayerMask))
            {
                //Debug.Log ("Entre al if del raycast del mouse");
                var posiblePitcheGrabObject = _raycastHit.transform.gameObject.GetComponent <PitchGrabObject>();

                if (posiblePitcheGrabObject == null)
                {
                    return;
                }

                if (posiblePitcheGrabObject.dioController.visualizationController.id != currentVisualizationId)
                {
                    if (_actualPitchGrabObject != null)
                    {
                        _actualPitchGrabObject.OnUnDetect();    //funcion para ignorar las imagenes que se encuentren en otras vistas
                    }

                    return;
                }


                if (_actualPitchGrabObject == null)
                {
                    _actualPitchGrabObject = posiblePitcheGrabObject;   //en una primera instancia actualPitch es null, la primera vez que toca una foto valida toma el valor de posiblePitch
                    RegisterRay(_actualPitchGrabObject);
                }
                else
                {
                    if (_actualPitchGrabObject.idName != posiblePitcheGrabObject.idName) //si actualPitch no coincide con posiblePitch se actualiza actualPitch
                    {
                        _actualPitchGrabObject.OnUnDetect();                             // actualPitch se hace null
                        _actualPitchGrabObject = posiblePitcheGrabObject;                //se le asigna el valor de posiblePitch
                        RegisterRay(_actualPitchGrabObject);
                    }
                }
                _actualPitchGrabObject.OnDetected();        //activa el MARCAR de buttonPanel y activa LookPointerStay que aplica ZoomIn(iluminar foto)
            }
            else
            {
                if (_actualPitchGrabObject == null)
                {
                    //DELETE THIS tie button panel
                    //_dioManager.buttonPanel.DisableZoomIn();
                    return;
                }

                _actualPitchGrabObject.OnUnDetect();        //si actualPitch no era nulo se hace null
            }
        }
Beispiel #17
0
        public void LookPointerStay(PitchGrabObject pitchGrabObject)
        {
            posibleActualPitchGrabObject = pitchGrabObject;

            if ((ZoomInKeyboardInput() || ZoomInJoystickInput()) &&
                actualPitchGrabObject == null && !dioManager.movingSphere)
            {
                if (!zoomingIn && !zoomingOut)
                {
                    StartCoroutine(ZoomingIn(pitchGrabObject, null));
                }
            }
        }
Beispiel #18
0
        public void LookPointerEnter(PitchGrabObject pitchGrabObject)
        {
            //Debug.Log ("El pitchGrabOjbect es:" + pitchGrabObject);
            //Debug.Log("El valor del initial alpha antes es:" +_initialAlpha);
            _initialAlpha = pitchGrabObject.dioController.visualizationController.alpha;
            //Debug.Log("El valor del initial alpha despues es:" +_initialAlpha);
            var objectColor = pitchGrabObject.objectMeshRender.material.color;

            //Debug.Log ("El valor de objectColor es:" + objectColor);
            objectColor.a = 1.0f;
            //Debug.Log ("Ahora el valor de objecto colo es:" + objectColor);
            pitchGrabObject.objectMeshRender.material.color = objectColor;

            posibleActualPitchGrabObject = pitchGrabObject;
        }
Beispiel #19
0
        public void LookPointerExit(PitchGrabObject pitchGrabObject)
        {
            if (actualPitchGrabObject == null)
            {
                var objectColor = pitchGrabObject.objectMeshRender.material.color;
                //DELETE THIS untie from bgiies mode and tie to panel bgiies

                /*
                 * if (dioManager.bgiiesMode && dioManager.panelBgiies.mostrarCategoria)
                 *  objectColor.a = 0.66f;
                 * else*/
                objectColor.a = _initialAlpha;
                pitchGrabObject.objectMeshRender.material.color = objectColor;
            }

            posibleActualPitchGrabObject = null;
        }
Beispiel #20
0
        public void createClone(PitchGrabObject imagen, List <PitchGrabObject> lista)
        {
            PitchGrabObject obj = Instantiate(actualPitchGrabObject);

            obj.transform.parent = actualPitchGrabObject.transform.parent;

            obj.transform.DestroyChildrenImmediate();


            obj.idName = imagen.idName;

            obj.transform.localPosition = _actualPitchObjectOriginalPosition;
            obj.transform.localScale    = _actualPitchObjectOriginalScale;

            obj.transform.localScale =
                Vector3.MoveTowards(actualPitchGrabObject.transform.localScale,
                                    _actualPitchObjectOriginalScale, _scaleSteps);


            if (obj.transform.localScale.EqualOrMinorCompareVector(_actualPitchObjectOriginalScale, 0.001f))
            {
                obj.transform.localScale = _actualPitchObjectOriginalScale;
            }

            obj.gameObject.SetActive(false);

            bool contenedor = false;

            foreach (var photo in lista)
            {
                if (photo.idName == imagen.idName)
                {
                    contenedor = true;
                }
            }

            if (!contenedor)
            {
                lista.Add(obj);
            }
            RevisarLista(lista);
        }
Beispiel #21
0
        public override void LookPointerStay(PitchGrabObject pitchGrabObject)
        {
            posibleActualPitchGrabObject = pitchGrabObject;

            /* Code inside the lookPointer loop [in LookPointerBGIIES], triggered by the OnDetect function in pitchGrabObject, which is triggered by the lookPointerRaycasting if a new object is detected.
             *
             * if ((Input.GetMouseButtonDown(0) || dioManager.kinectGestures.kinectGestureZoomIn()) && actualPitchGrabObject == null && !dioManager.movingPlane)
             * {
             *  if (!zoomingIn && !zoomingOut)
             *  {
             *      if (!zoomActive)
             *      {
             *          StartCoroutine(ZoomingIn(pitchGrabObject, null));
             *          dioManager.panelBgiies.interactableButtons(posibleActualPitchGrabObject);
             *          zoomActive = true;
             *      }
             *  }
             * }
             */
        }
Beispiel #22
0
        public void DestroyClone(PitchGrabObject image, List <PitchGrabObject> list)
        {
            PitchGrabObject        obj      = null;
            List <PitchGrabObject> listaAux = list;
            int i = 0;

            foreach (PitchGrabObject photo in listaAux)
            {
                if (photo.idName == image.idName)
                {
                    obj = photo;
                    break;
                }
                i++;
            }
            list.RemoveAt(i);
            if (obj != null)
            {
                Destroy(obj.gameObject);
            }
        }
Beispiel #23
0
        public void AcceptObject()
        {
            print("accept call");
            bool unPitchedAccept = false;

            if (actualPitchGrabObject == null)
            {
                if (posibleActualPitchGrabObject == null)
                {
                    return;
                }

                unPitchedAccept       = true;
                actualPitchGrabObject = posibleActualPitchGrabObject;
            }

            var pitchMaterial = actualPitchGrabObject.GetComponent <MeshRenderer>();

            actualPitchGrabObject.isSelected = !actualPitchGrabObject.isSelected;
            pitchMaterial.material.color     = actualPitchGrabObject.isSelected ? Color.green : Color.white;

            if (actualPitchGrabObject.isSelected)
            {
                dioManager.buttonPanel.NegativeAcceptButton();
            }
            else
            {
                dioManager.buttonPanel.PositiveAcceptButton();
            }

            var action = actualPitchGrabObject.isSelected ? "Select" : "Deselect";

            dioManager.csvCreator.AddLines(action, actualPitchGrabObject.idName);

            if (unPitchedAccept)
            {
                actualPitchGrabObject = null;
            }
        }
Beispiel #24
0
 public override void LookPointerStay(PitchGrabObject pitchGrabObject)
 {
     posibleActualPitchGrabObject = pitchGrabObject;
 }
Beispiel #25
0
 public abstract void LookPointerStay(PitchGrabObject pitchGrabObject);
Beispiel #26
0
 public abstract void DirectZoomInCall(PitchGrabObject pitchGrabObject, Action finalAction);
Beispiel #27
0
 public abstract void SetZoomInInitialStatus(PitchGrabObject pitchGrabObject);
        public void RegisterRay(PitchGrabObject foto)
        {
            var action = "Move ray vector";

            MOTIONSManager.Instance.AddLines(action, foto.idName);
        }
Beispiel #29
0
 public abstract IEnumerator ZoomingIn(PitchGrabObject pitchGrabObject, Action finalAction);
 public void ResetActualPitchGrabObject()
 {
     _actualPitchGrabObject = null;
 }