// <auto-generated>
// This file is generated by Ghost.NativeWrapperGen. Do not edit manually.
// </auto-generated>

namespace Ghost.Ufbx;

public unsafe partial struct ufbx_nurbs_basis
{
    /// <summary>
    /// From: <see cref="Api.ufbx_evaluate_nurbs_basis(ufbx_nurbs_basis*, float, float*, nuint, float*, nuint)" />
    /// </summary>
    [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
    public nuint Evaluate(float u, ReadOnlySpan<float> weights, ReadOnlySpan<float> derivatives)
    {
        fixed (float* pweights = weights)
        {
            fixed (float* pderivatives = derivatives)
            {
                return Api.ufbx_evaluate_nurbs_basis(
                    (ufbx_nurbs_basis*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
                    u,
                    (float*)pweights,
                    (nuint)weights.Length,
                    (float*)pderivatives,
                    (nuint)derivatives.Length);
            }
        }
    }
}
