public static void MulTransToOutUnsafe(Transform A, Transform B, Transform result) { Debug.Assert(result != A); Debug.Assert(result != B); Rot.MulTransUnsafe(A.Q, B.Q, result.Q); pool.Set(B.P).SubLocal(A.P); Rot.MulTransUnsafe(A.Q, pool, result.P); }
public static Transform MulTrans(Transform A, Transform B) { Transform C = new Transform(); Rot.MulTransUnsafe(A.Q, B.Q, C.Q); pool.Set(B.P).SubLocal(A.P); Rot.MulTransUnsafe(A.Q, pool, C.P); return(C); }