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); } }
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); } }
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; } }