Example #1
0
 /// <summary>
 /// Unregisters a raycaster previously registered with <see cref="RegisterRaycaster(IRaycaster)"/>.
 /// </summary>
 /// <param name="raycaster">A raycaster to use in the fallback case.</param>
 internal void UnregisterRaycaster(IRaycaster raycaster)
 {
     if (m_Raycasters != null)
     {
         m_Raycasters.Remove(raycaster);
     }
 }
Example #2
0
 /// <summary>
 /// Allows AR managers to register themselves as a raycaster.
 /// Raycasters be used as a fallback method if the AR platform does
 /// not support raycasting using arbitrary <c>Ray</c>s.
 /// </summary>
 /// <param name="raycaster">A raycaster implementing the IRaycast interface.</param>
 internal void RegisterRaycaster(IRaycaster raycaster)
 {
     ConstructIfNecessary();
     if (!m_Raycasters.Contains(raycaster))
     {
         m_Raycasters.Add(raycaster);
     }
 }
        public GazeTargeter(
            [Inject]                        IRaycaster raycaster,
            [Inject(Id = "Head position")]  ReactiveProperty <Vector3> headPosition,
            [Inject(Id = "View direction")] ReactiveProperty <Vector3> viewDirection)
        {
            _raycaster = raycaster;

            // Simply update head position and gaze direction as new values come in
            headPosition.Subscribe(newPos => _headPosition   = newPos);
            viewDirection.Subscribe(newDir => _viewDirection = newDir);
        }
Example #4
0
 public StabilizationPlaneManager
 (
     [Inject]                                        IRaycaster raycaster,
     [Inject(Id = "Head position")]                  ReactiveProperty <Vector3> headPosition,
     [Inject(Id = "View direction")]                 ReactiveProperty <Vector3> viewDirection,
     [Inject(Id = "Stab plane default distance")]    float defaultDistance
 )
 {
     _raycaster = raycaster;
     headPosition.Subscribe(newPos => _headPosition   = newPos);
     viewDirection.Subscribe(newDir => _viewDirection = newDir);
     _defaultDistance = defaultDistance;
 }
Example #5
0
    void Awake()
    {
        /* adding swiping event listener */
        UserInterface.OnSwipes += UserInterface_OnSwipesRotate;

        _arOrigin        = FindObjectOfType <ARSessionOrigin>();
        _arOriginRaycast = _arOrigin.GetComponent <ARRaycastManager>();

        if (Application.isMobilePlatform)
        {
            _raycaster = new PhysicalSpaceRaycaster(_arOriginRaycast);
        }
        else
        {
            _raycaster = new GameSpaceRaycaster();
        }

        ResetCalibration();
    }