/// <summary> /// Creates new Quaternion i*x + j*y + k*z + w (Based an an coefficients/unit-Axis/Angle) /// </summary> /// <param name="p">How do you want to create the Quaternion</param> /// <param name="v">The (unit) Axis for the Rotation/Imaginary part</param> /// <param name="a">The angle (in Radiants)/Real Part</param> internal Quaternion(QuaternionParameterType p, Vector3f v, double a) : base() { if (p == QuaternionParameterType.ImaginaryReal) { X = v.X; Y = v.Y; Z = v.Z; W = a; } else if (p == QuaternionParameterType.UnitAxisAngle) { this.SetFromAxisAngle(v, a); } }
/// <summary> /// Creates new Quaternion i*x + j*y + k*z + w (Based an an coefficients/unit-Axis/Angle) /// </summary> /// <param name="p">How do you want to create the Quaternion</param> /// <param name="x">X-Imaginary Part/X-Axis</param> /// <param name="y">Y-Imaginary Part/Y-Axis</param> /// <param name="z">Z-Imaginary Part/Z-Axis</param> /// <param name="w">RealPart/Angle</param> internal Quaternion(QuaternionParameterType p, double x, double y, double z, double w) : base() { if (p == QuaternionParameterType.ImaginaryReal) { X = x; Y = y; Z = z; W = w; } else if (p == QuaternionParameterType.UnitAxisAngle) { this.SetFromAxisAngle(new Vector3f(x, y, z), w); } }