// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
using UnityEngine;
namespace Microsoft.MixedReality.Toolkit.Utilities
{
///
/// Defines a method of smoothing the components of a transform.
///
public interface ITransformSmoothingLogic
{
///
/// Smooths from source to goal, provided lerptime and a deltaTime.
///
Vector3 SmoothPosition(Vector3 source, Vector3 goal, float lerpTime, float deltaTime);
///
/// Smooths from source to goal, provided slerptime and a deltaTime.
///
Quaternion SmoothRotation(Quaternion source, Quaternion goal, float slerpTime, float deltaTime);
///
/// Smooths from source to goal, provided lerptime and a deltaTime.
///
Vector3 SmoothScale(Vector3 source, Vector3 goal, float lerpTime, float deltaTime);
}
}