// --------------------------------------------------------------------------------------------------------------------
//
// Copyright (c) VRMADA, All rights reserved.
//
// --------------------------------------------------------------------------------------------------------------------
using UnityEngine;
namespace UltimateXR.Animation.Interpolation
{
///
/// Interpolator for .
///
public class UxrQuaternionInterpolator : UxrVarInterpolator
{
#region Constructors & Finalizer
///
/// Constructor.
///
/// Smooth damp for interpolation [0.0, 1.0] where 0.0 means no smoothing
/// Whether to use step interpolation, where the interpolation will always return the start value
public UxrQuaternionInterpolator(float smoothDamp = 0.0f, bool useStep = false) : base(smoothDamp, useStep)
{
}
#endregion
#region Protected Overrides UxrVarInterpolator
///
protected override Quaternion GetInterpolatedValue(Quaternion a, Quaternion b, float t)
{
return Quaternion.Slerp(a, b, t);
}
#endregion
#region Public Types & Data
///
/// Default interpolator with smoothing.
///
public static readonly UxrQuaternionInterpolator DefaultInterpolator = new UxrQuaternionInterpolator(0.0f, false);
#endregion
}
}