Beispiel #1
0
        public static Vector3 To3D(this Vector2 original, float z = 0.0f, Asix2 plane = Asix2.XY, bool inverse = false)
        {
            switch (plane)
            {
            case Asix2.XY:
                if (!inverse)
                {
                    return(new Vector3(original.x, original.y, z));
                }
                return(new Vector3(original.y, original.x, z));

            case Asix2.XZ:
                if (!inverse)
                {
                    return(new Vector3(original.x, z, original.y));
                }
                return(new Vector3(original.y, z, original.x));

            case Asix2.YZ:
                if (!inverse)
                {
                    return(new Vector3(z, original.x, original.y));
                }
                return(new Vector3(z, original.y, original.x));

            default:
                return(Vector3.zero);
            }
        }
Beispiel #2
0
        public static Vector2 To2D(this Vector3 original, Asix2 plane = Asix2.XY, bool inverse = false)
        {
            switch (plane)
            {
            case Asix2.XY:
                if (!inverse)
                {
                    return(new Vector2(original.x, original.y));
                }
                return(new Vector2(original.y, original.x));

            case Asix2.XZ:
                if (!inverse)
                {
                    return(new Vector2(original.x, original.z));
                }
                return(new Vector2(original.z, original.x));

            case Asix2.YZ:
                if (!inverse)
                {
                    return(new Vector2(original.y, original.z));
                }
                return(new Vector2(original.z, original.y));

            default:
                return(Vector2.zero);
            }
        }
Beispiel #3
0
 public Vector3 ToVector(Asix2 plane, bool inverse = false)
 {
   switch (plane)
   {
     case Asix2.XY:
       if (!inverse)
         return new Vector3((float) this.x, (float) this.y, 0.0f);
       return new Vector3((float) this.y, (float) this.x, 0.0f);
     case Asix2.XZ:
       if (!inverse)
         return new Vector3((float) this.x, 0.0f, (float) this.y);
       return new Vector3((float) this.y, 0.0f, (float) this.x);
     case Asix2.YZ:
       if (!inverse)
         return new Vector3(0.0f, (float) this.y, (float) this.x);
       return new Vector3(0.0f, (float) this.x, (float) this.y);
     default:
       return Vector3.zero;
   }
 }