2024-01-28 18:37:24 +07:00
|
|
|
namespace Content.Shared._White.Spline;
|
2024-01-24 12:58:57 +07:00
|
|
|
|
|
|
|
|
public interface ISpline<T>
|
|
|
|
|
{
|
|
|
|
|
T SamplePosition(ReadOnlySpan<T> controlPoints, float u);
|
|
|
|
|
|
|
|
|
|
T SampleVelocity(ReadOnlySpan<T> controlPoints, float u);
|
|
|
|
|
|
|
|
|
|
(T Position, T Velocity) SamplePositionVelocity(ReadOnlySpan<T> controlPoints, float u);
|
|
|
|
|
|
|
|
|
|
IEnumerable<float> IteratePointParamsByLength(T[] controlPoints, float lengthStepSize);
|
|
|
|
|
|
|
|
|
|
float GetControlGroupAmount(int controlPointAmount);
|
|
|
|
|
}
|