/// <summary> /// /// </summary> /// <param name="r0"></param> /// <param name="r1"></param> public static Rotation3d CreateRelative(ref Rotation3d r0, ref Rotation3d r1) { return(r1.Apply(r0.Inverse)); }
/// <summary> /// /// </summary> /// <param name="r0"></param> /// <param name="r1"></param> public static Rotation3d Multiply(ref Rotation3d r0, ref Rotation3d r1) { return(r0.Apply(r1)); }
/// <summary> /// Inverts this transformation in place. /// </summary> public void Invert() { Scale = 1.0 / Scale; Rotation.Invert(); Translation = Rotation.Apply(-Translation) * Scale; }
/// <summary> /// /// </summary> /// <param name="rotation"></param> /// <param name="vector"></param> public static Vec3d Multiply(ref Rotation3d rotation, Vec3d vector) { return(rotation.Apply(vector)); }
/// <summary> /// Inverts this transformation in place. /// </summary> public void Invert() { Rotation.Invert(); Translation = Rotation.Apply(-Translation); }