//
// This file is generated by Ghost.NativeWrapperGen. Do not edit manually.
//
namespace Ghost.Ufbx;
public unsafe partial struct ufbx_anim : System.IDisposable
{
///
/// From:
///
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
public ufbx_prop EvaluatePropLen(ufbx_element* element, ReadOnlySpan name, double time)
{
fixed (byte* pname = name)
{
return Api.ufbx_evaluate_prop_len(
(ufbx_anim*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
element,
(sbyte*)pname,
(nuint)name.Length,
time);
}
}
///
/// From:
///
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
public ufbx_prop EvaluateProp(ufbx_element* element, sbyte* name, double time)
{
return Api.ufbx_evaluate_prop(
(ufbx_anim*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
element,
name,
time);
}
///
/// From:
///
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
public ufbx_prop EvaluatePropFlagsLen(ufbx_element* element, ReadOnlySpan name, double time, uint flags)
{
fixed (byte* pname = name)
{
return Api.ufbx_evaluate_prop_flags_len(
(ufbx_anim*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
element,
(sbyte*)pname,
(nuint)name.Length,
time,
flags);
}
}
///
/// From:
///
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
public ufbx_prop EvaluatePropFlags(ufbx_element* element, sbyte* name, double time, uint flags)
{
return Api.ufbx_evaluate_prop_flags(
(ufbx_anim*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
element,
name,
time,
flags);
}
///
/// From:
///
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
public ufbx_props EvaluateProps(ufbx_element* element, double time, ufbx_prop* buffer, nuint buffer_size)
{
return Api.ufbx_evaluate_props(
(ufbx_anim*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
element,
time,
buffer,
buffer_size);
}
///
/// From:
///
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
public ufbx_props EvaluatePropsFlags(ufbx_element* element, double time, ufbx_prop* buffer, nuint buffer_size, uint flags)
{
return Api.ufbx_evaluate_props_flags(
(ufbx_anim*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
element,
time,
buffer,
buffer_size,
flags);
}
///
/// From:
///
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
public ufbx_transform EvaluateTransform(ufbx_node* node, double time)
{
return Api.ufbx_evaluate_transform(
(ufbx_anim*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
node,
time);
}
///
/// From:
///
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
public ufbx_transform EvaluateTransformFlags(ufbx_node* node, double time, uint flags)
{
return Api.ufbx_evaluate_transform_flags(
(ufbx_anim*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
node,
time,
flags);
}
///
/// From:
///
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
public float EvaluateBlendWeight(ufbx_blend_channel* channel, double time)
{
return Api.ufbx_evaluate_blend_weight(
(ufbx_anim*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
channel,
time);
}
///
/// From:
///
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
public float EvaluateBlendWeightFlags(ufbx_blend_channel* channel, double time, uint flags)
{
return Api.ufbx_evaluate_blend_weight_flags(
(ufbx_anim*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
channel,
time,
flags);
}
///
/// From:
///
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
public void Dispose()
{
Api.ufbx_free_anim((ufbx_anim*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this));
}
///
/// From:
///
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
public void Retain()
{
Api.ufbx_retain_anim((ufbx_anim*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this));
}
}