/// <summary> /// Get the red ray direction according to a prism. /// </summary> /// <param name="direction"></param> /// <returns></returns> private Direction GetRedRayDirection(Direction direction) { var redRayDirection = DirectionUtility.GetDirectionAsVector3(direction); redRayDirection = Quaternion.AngleAxis(0, Vector3.up) * redRayDirection; return(DirectionUtility.ToDirection(redRayDirection)); }
/// <summary> /// Get the green ray direction according to a prism. /// </summary> /// <param name="direction"></param> /// <returns></returns> private Direction GetGreenRayDirection(Direction direction) { var greenRayDirection = DirectionUtility.GetDirectionAsVector3(direction); greenRayDirection = Quaternion.AngleAxis(-90, Vector3.up) * greenRayDirection; return(DirectionUtility.ToDirection(greenRayDirection)); }
/// <summary> /// Get the blue ray direction according to a prism. /// </summary> /// <param name="direction"></param> /// <returns></returns> private Direction GetBlueRayDirection(Direction direction) { var blueRayDirection = DirectionUtility.GetDirectionAsVector3(direction); blueRayDirection = Quaternion.AngleAxis(90, Vector3.up) * blueRayDirection; return(DirectionUtility.ToDirection(blueRayDirection)); }
public void DirectionUtilityReturnsValidDirectionFromVector3Passes() { Assert.AreEqual(Direction.East, DirectionUtility.ToDirection(new Vector3(1, 0, 0))); Assert.AreEqual(Direction.NorthEast, DirectionUtility.ToDirection(new Vector3(1, 1, 0))); Assert.AreEqual(Direction.North, DirectionUtility.ToDirection(new Vector3(0, 1, 0))); Assert.AreEqual(Direction.NorthWest, DirectionUtility.ToDirection(new Vector3(-1, 1, 0))); Assert.AreEqual(Direction.West, DirectionUtility.ToDirection(new Vector3(-1, 0, 0))); Assert.AreEqual(Direction.SouthWest, DirectionUtility.ToDirection(new Vector3(-1, -1, 0))); Assert.AreEqual(Direction.South, DirectionUtility.ToDirection(new Vector3(0, -1, 0))); Assert.AreEqual(Direction.SouthEast, DirectionUtility.ToDirection(new Vector3(1, -1, 0))); }
public void DirectionUtilityThrowsExceptionIfInvalidVector3Supplied() { Assert.Throws <ArgumentException>(() => DirectionUtility.ToDirection(new Vector3(0, 0, 0))); Assert.Throws <ArgumentException>(() => DirectionUtility.ToDirection(new Vector3(2, 0, 0))); Assert.Throws <ArgumentException>(() => DirectionUtility.ToDirection(new Vector3(0, 2, 0))); Assert.Throws <ArgumentException>(() => DirectionUtility.ToDirection(new Vector3(-2, 0, 0))); Assert.Throws <ArgumentException>(() => DirectionUtility.ToDirection(new Vector3(0, -2, 0))); Assert.Throws <ArgumentException>(() => DirectionUtility.ToDirection(new Vector3(2, 2, 0))); Assert.Throws <ArgumentException>(() => DirectionUtility.ToDirection(new Vector3(-2, -2, 0))); Assert.Throws <ArgumentException>(() => DirectionUtility.ToDirection(new Vector3(2, -2, 0))); Assert.Throws <ArgumentException>(() => DirectionUtility.ToDirection(new Vector3(-2, 2, 0))); }