OverviewFilesCommitsIssuesDocsReleasesPeers

ifsrenderer-linux / IFSEngine / Animation / HandleType.cs

27 lines · csharp ref:
namespace IFSEngine.Animation;

/// <summary>
/// How a bezier keyframe's handle is derived, matching Blender's handle types.
/// </summary>
public enum HandleType
{
    /// <summary>Positioned by the user; the two handles are independent.</summary>
    Free = 0,

    /// <summary>Positioned by the user, but kept collinear with the opposite handle.</summary>
    Aligned,

    /// <summary>Points at the neighbouring keyframe, making that side of the segment straight.</summary>
    Vector,

    /// <summary>Derived from the neighbours, smoothing through the key.</summary>
    Automatic,

    /// <summary>
    /// <see cref="Automatic"/>, but flattened where the key is a local extremum and clamped so
    /// a segment cannot overshoot its endpoints. Blender's default, and the reason a hold
    /// between two equal keyframes stays flat there.
    /// </summary>
    AutoClamped,
}