Exemple #1
0
        private void VerifyCursorState(IMixedRealityCursor cursor, CursorStateEnum state)
        {
            var baseCursor = cursor as BaseCursor;

            Assert.IsNotNull(baseCursor);
            Assert.AreEqual(state, baseCursor.CursorState);
        }
Exemple #2
0
        private void VerifyCursorContext(IMixedRealityCursor cursor, CursorContextEnum context)
        {
            var baseCursor = cursor as BaseCursor;

            Assert.IsNotNull(baseCursor);
            Assert.AreEqual(context, baseCursor.CursorContext);
        }
        public Vector3 GetModifiedPosition(IMixedRealityCursor cursor)
        {
            if (SnapCursorPosition)
            {
                // Snap if the targeted object has a cursor modifier that supports snapping
                return(HostTransform.position + HostTransform.TransformVector(CursorPositionOffset));
            }

            if (cursor.Pointer == null)
            {
                Debug.LogError($"{cursor.GameObjectReference.name} has no pointer set in it's cursor component!");
                return(Vector3.zero);
            }

            FocusDetails focusDetails;

            if (InputSystem?.FocusProvider != null &&
                InputSystem.FocusProvider.TryGetFocusDetails(cursor.Pointer, out focusDetails))
            {
                // Else, consider the modifiers on the cursor modifier, but don't snap
                return(focusDetails.Point + HostTransform.TransformVector(CursorPositionOffset));
            }

            return(Vector3.zero);
        }
    void CapturePlane(IMixedRealityCursor cursor, Vector3 drawPos)
    {
        currentPlane.position = cursor.Position;
        currentPlane.rotation = cursor.Rotation;

        captureCamera.transform.position = currentPlane.forward * 1.5f;
        captureCamera.transform.LookAt(currentPlane);
    }
        /// <inheritdoc />
        public Quaternion GetModifiedRotation(IMixedRealityCursor cursor)
        {
            RayStep lastStep = cursor.Pointer.Rays[cursor.Pointer.Rays.Length - 1];
            Vector3 forward  = UseGazeBasedNormal ? -lastStep.Direction : HostTransform.rotation * CursorNormalOffset;

            // Determine the cursor forward rotation
            return(forward.magnitude > 0
                    ? Quaternion.LookRotation(forward, Vector3.up)
                    : cursor.Rotation);
        }
 /// <inheritdoc />
 public void GetModifiedTransform(IMixedRealityCursor cursor, out Vector3 position, out Quaternion rotation, out Vector3 scale)
 {
     position = GetModifiedPosition(cursor);
     rotation = GetModifiedRotation(cursor);
     scale    = GetModifiedScale(cursor);
 }
 /// <inheritdoc />
 public Vector3 GetModifiedScale(IMixedRealityCursor cursor)
 {
     return(CursorScaleOffset);
 }