private void VerifyCursorState(IMixedRealityCursor cursor, CursorStateEnum state) { var baseCursor = cursor as BaseCursor; Assert.IsNotNull(baseCursor); Assert.AreEqual(state, baseCursor.CursorState); }
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); }