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

namespace Ghost.Ufbx;

public unsafe partial struct ufbx_nurbs_surface
{
    /// <summary>
    /// From: <see cref="Api.ufbx_evaluate_nurbs_surface(ufbx_nurbs_surface*, float, float)" />
    /// </summary>
    [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
    public ufbx_surface_point Evaluate(float u, float v)
    {
        return Api.ufbx_evaluate_nurbs_surface(
            (ufbx_nurbs_surface*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
            u,
            v);
    }

    /// <summary>
    /// From: <see cref="Api.ufbx_tessellate_nurbs_surface(ufbx_nurbs_surface*, ufbx_tessellate_surface_opts*, ufbx_error*)" />
    /// </summary>
    [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
    public ufbx_mesh* Tessellate(ufbx_tessellate_surface_opts* opts, ufbx_error* error)
    {
        return Api.ufbx_tessellate_nurbs_surface(
            (ufbx_nurbs_surface*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
            opts,
            error);
    }
}
