Ejemplo n.º 1
0
    /// <summary>
    /// Returns the float value of the passed <paramref name="alpha"/>.
    /// </summary>
    /// <param name="alpha">The CatmullRomAlpha to interpret.</param>
    public static float CatmullRomAlphaToFloat(CatmullRomAlpha alpha)
    {
        switch (alpha)
        {
        default:
        case CatmullRomAlpha.Centripetal:
            return(0.5f);

        case CatmullRomAlpha.Chordal:
            return(1f);

        case CatmullRomAlpha.Uniform:
            return(0f);
        }
    }
Ejemplo n.º 2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="position">The positions to use.</param>
 /// <param name="doWrap">Wrap the provided positions array, else clamp it.</param>
 /// <param name="index">The index to calculate from.</param>
 /// <param name="alpha">The Catmull-Rom alpha value.</param>
 /// <param name="time">The interpolations point to perform, 0f to 1f.</param>
 public static Vector3 CatmullRomSingle(Vector3[] position, bool doWrap, int index, CatmullRomAlpha alpha, float time)
 {
     return(CatmullRomSingle(position, doWrap, index, CatmullRomAlphaToFloat(alpha), time));
 }
Ejemplo n.º 3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="position">The positions to use.</param>
 /// <param name="doWrap">Wrap the provided positions array, else clamp it.</param>
 /// <param name="index">The index to calculate from.</param>
 /// <param name="alpha">The Catmull-Rom alpha value.</param>
 /// <param name="interpolations">The number of interpolations to perform.</param>
 public static Vector3[] CatmullRom(Vector3[] position, bool doWrap, int index, CatmullRomAlpha alpha, int interpolations)
 {
     return(CatmullRom(position, doWrap, index, CatmullRomAlphaToFloat(alpha), interpolations));
 }