Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        /// <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));
        }
Exemplo n.º 3
0
        /// <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));
        }
Exemplo n.º 4
0
 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)));
 }
Exemplo n.º 5
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)));
 }