public static void MulToOutUnsafe(Transform A, Transform B, Transform result) { Debug.Assert(result != B); Debug.Assert(result != A); Rot.MulUnsafe(A.Q, B.Q, result.Q); Rot.MulToOutUnsafe(A.Q, B.P, result.P); result.P.AddLocal(A.P); }
public static Transform Mul(Transform A, Transform B) { Transform C = new Transform(); Rot.MulUnsafe(A.Q, B.Q, C.Q); Rot.MulToOutUnsafe(A.Q, B.P, C.P); C.P.AddLocal(A.P); return(C); }