SA.FullBodyIK.SafeNormalize C# (CSharp) Method

SafeNormalize() public static method

public static SafeNormalize ( Quaternion &q ) : bool
q Quaternion
return bool
		public static bool SafeNormalize( ref Quaternion q )
		{
			float lenSq = q.x * q.x + q.y * q.y + q.z * q.z + q.w * q.w;
			if( lenSq > IKEpsilon ) {
				if( lenSq >= 1.0f - IKEpsilon && lenSq <= 1.0 + IKEpsilon ) {
					return true;
				} else {
					float s = 1.0f / Mathf.Sqrt( lenSq );
					q.x *= s;
					q.y *= s;
					q.z *= s;
					q.w *= s;
					return true;
				}
			}

			return false;
		}
FullBodyIK