Ejemplo n.º 1
0
        public IEnumerable EvaluateLinear(TestContext context)
        {
            var curve = new BezierAnimationCurve {
                loop = false
            };

            curve.SetKeyframe(0, 10, CurveTypeValues.Linear);
            curve.SetKeyframe(1, 20, CurveTypeValues.Linear);
            curve.SetKeyframe(2, 30, CurveTypeValues.Linear);

            if (!context.Assert(curve.Evaluate(0.0f), 10f, "Linear/0"))
            {
                yield break;
            }
            if (!context.Assert(curve.Evaluate(0.5f), 15f, "Linear/1"))
            {
                yield break;
            }
            if (!context.Assert(curve.Evaluate(1.0f), 20f, "Linear/2"))
            {
                yield break;
            }
            if (!context.Assert(curve.Evaluate(1.5f), 25f, "Linear/3"))
            {
                yield break;
            }
            if (!context.Assert(curve.Evaluate(2.0f), 30f, "Linear/4"))
            {
                yield break;
            }
        }
Ejemplo n.º 2
0
 public Vector3 EvaluatePosition(float time)
 {
     return(new Vector3(
                x.Evaluate(time),
                y.Evaluate(time),
                z.Evaluate(time)
                ));
 }
Ejemplo n.º 3
0
        public IEnumerable EvaluateSmoothGlobalNonLooping(TestContext context)
        {
            var curve = new BezierAnimationCurve {
                loop = false
            };

            curve.SetKeyframe(0, 100, CurveTypeValues.SmoothGlobal);
            curve.SetKeyframe(1, 200, CurveTypeValues.SmoothGlobal);
            curve.SetKeyframe(2, 300, CurveTypeValues.SmoothGlobal);
            curve.SetKeyframe(3, 200, CurveTypeValues.SmoothGlobal);
            curve.SetKeyframe(4, 100, CurveTypeValues.SmoothGlobal);
            curve.ComputeCurves();

            if (!context.Assert(curve.Evaluate(0.0f), 100f, "0.0"))
            {
                yield break;
            }
            if (!context.Assert(curve.Evaluate(0.5f).Snap(0.001f), 144.643f, "0.5"))
            {
                yield break;
            }
            if (!context.Assert(curve.Evaluate(1.0f), 200f, "1.0"))
            {
                yield break;
            }
            if (!context.Assert(curve.Evaluate(1.5f).Snap(0.001f), 266.071f, "1.5"))
            {
                yield break;
            }
            if (!context.Assert(curve.Evaluate(2.0f), 300f, "2.0"))
            {
                yield break;
            }
            if (!context.Assert(curve.Evaluate(2.5f).Snap(0.001f), 266.071f, "2.5"))
            {
                yield break;
            }
            if (!context.Assert(curve.Evaluate(3.0f), 200f, "3.0"))
            {
                yield break;
            }
            if (!context.Assert(curve.Evaluate(3.5f).Snap(0.001f), 144.643f, "3.5"))
            {
                yield break;
            }
            if (!context.Assert(curve.Evaluate(4.0f), 100f, "4.0"))
            {
                yield break;
            }
        }
Ejemplo n.º 4
0
 public Quaternion EvaluateRotation(float time)
 {
     return(new Quaternion(
                rotX.Evaluate(time),
                rotY.Evaluate(time),
                rotZ.Evaluate(time),
                rotW.Evaluate(time)
                ));
 }