/// <summary> /// Rotate transformation with local delta pitch yaw roll /// </summary> /// <param name="tr"></param> /// <param name="q">Delta quaternion</param> public static void LocalRotate(this ElementTransformation tr, Quaternion q) { tr.Rotation = Quaternion.Normalize(q * tr.Rotation); }
/// <summary> /// Rotate transformation with global delta quaternion /// </summary> /// <param name="tr"></param> /// <param name="q">Delta quaternion</param> public static void GlobalRotate(this ElementTransformation tr, Quaternion q) { tr.Rotation = Quaternion.Normalize(tr.Rotation * q); }
/// <summary> /// Resize transformation with a delta /// </summary> /// <param name="tr"></param> /// <param name="diff">Delta</param> public static void Resize(this ElementTransformation tr, Vector3 diff) { tr.Scale += diff; }
/// <summary> /// Rotate transformation with local delta pitch yaw roll /// </summary> /// <param name="tr"></param> /// <param name="dPitchYawRoll">Delta pitch yaw roll</param> public static void LocalRotate(this ElementTransformation tr, Vector3 dPitchYawRoll) { tr.Rotation = Quaternion.Normalize(Quaternion.CreateFromYawPitchRoll(dPitchYawRoll.Y, dPitchYawRoll.X, dPitchYawRoll.Z) * tr.Rotation); }
/// <summary> /// Translate transformation with a delta /// </summary> /// <param name="tr"></param> /// <param name="diff">Delta</param> public static void Translate(this ElementTransformation tr, Vector3 diff) { tr.Position += diff; }