Files
sbox-public/engine/Sandbox.System/Math/Interpolation/RotationState.cs
s&box team 71f266059a Open source release
This commit imports the C# engine code and game files, excluding C++ source code.

[Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
2025-11-24 09:05:18 +00:00

27 lines
657 B
C#

namespace Sandbox.Interpolation;
/// <summary>
/// State information about a <see cref="Rotation"/>. Used for interpolation buffer.
/// </summary>
struct RotationState
{
public readonly Rotation Rotation;
public RotationState( Rotation rotation )
{
Rotation = rotation;
}
public static IInterpolator<RotationState> CreateInterpolator() => Interpolator.Instance;
private class Interpolator : IInterpolator<RotationState>
{
public static readonly Interpolator Instance = new();
public RotationState Interpolate( RotationState a, RotationState b, float delta )
{
return new( Rotation.Lerp( a.Rotation, b.Rotation, delta ) );
}
}
}