public static BHQuaternion Slerp(BHQuaternion q1, BHQuaternion q2, float t)
        {
            q1.SetValues();
            q2.SetValues();
            BHQuaternion r = new BHQuaternion();

            SlerpQuaternion(r.mQuaternion, q1.mQuaternion, q2.mQuaternion, t);
            r.CopyValues();
            return(r);
        }
        public static BHQuaternion Concatenate(BHQuaternion q1, BHQuaternion q2)
        {
            q1.SetValues();
            q2.SetValues();
            BHQuaternion r = new BHQuaternion();

            ConcatenateQuaternion(r.mQuaternion, q1.mQuaternion, q2.mQuaternion);
            r.CopyValues();
            return(r);
        }
 public float Dot(BHQuaternion q)
 {
     q.SetValues();
     return(DotQuaternion(mQuaternion, q.mQuaternion));
 }