예제 #1
0
        public void Test_Sample_Linear_Primitive()
        {
            var track = new AnimationTrack ("PropetyName", InterpolationType.Linear);

            track.AddKeyframe (1, 1.0f);
            track.AddKeyframe (2, 2.0f);

            Assert.AreEqual (1.0f, track.Sample (0.0f), 0.0001f);
            Assert.AreEqual (1.0f, track.Sample (0.5f), 0.0001f);
            Assert.AreEqual (1.0f, track.Sample (1.0f), 0.0001f);
            Assert.AreEqual (1.5f, track.Sample (1.5f), 0.0001f);
            Assert.AreEqual (2.0f, track.Sample (2.0f), 0.0001f);
            Assert.AreEqual (2.0f, track.Sample (2.5f), 0.0001f);
        }
예제 #2
0
        public void Test_Sample_Linear_ValueType()
        {
            var track = new AnimationTrack ("PropetyName", InterpolationType.Linear);

            track.AddKeyframe (1, new Vector3 (1, 2, 0));
            track.AddKeyframe (2, new Vector3 (2, 3, 0));

            Assert.AreEqual (1.0f, track.Sample (0.0f).X, 0.0001f);
            Assert.AreEqual (1.0f, track.Sample (0.5f).X, 0.0001f);
            Assert.AreEqual (1.0f, track.Sample (1.0f).X, 0.0001f);
            Assert.AreEqual (1.5f, track.Sample (1.5f).X, 0.0001f);
            Assert.AreEqual (2.0f, track.Sample (2.0f).X, 0.0001f);
            Assert.AreEqual (2.0f, track.Sample (2.5f).X, 0.0001f);

            Assert.AreEqual (2.0f, track.Sample (0.0f).Y, 0.0001f);
            Assert.AreEqual (2.0f, track.Sample (0.5f).Y, 0.0001f);
            Assert.AreEqual (2.0f, track.Sample (1.0f).Y, 0.0001f);
            Assert.AreEqual (2.5f, track.Sample (1.5f).Y, 0.0001f);
            Assert.AreEqual (3.0f, track.Sample (2.0f).Y, 0.0001f);
            Assert.AreEqual (3.0f, track.Sample (2.5f).Y, 0.0001f);
        }
예제 #3
0
        public void Test_Sample_ValueType_Float2Int()
        {
            var track = new AnimationTrack ("PropetyName", InterpolationType.Linear);

            track.AddKeyframe (1, new MyStruct (1, 0));     // Int
            track.AddKeyframe (100, new MyStruct (100, 0)); // Int

            Assert.AreEqual (1, track.Sample (1).X);         // Int
            Assert.AreEqual (50, track.Sample (50).X);       // Int
            Assert.AreEqual (100, track.Sample (100).X);     // Int
        }
예제 #4
0
        public void Test_Sample_ValueType_Convert_Float2Int()
        {
            var track = new AnimationTrack ("PropetyName", InterpolationType.Linear);

            track.AddKeyframe (1, 1);                         // Int
            track.AddKeyframe (100, 100);                     // Int

            Assert.AreEqual (1, track.Sample (1), 0.0001f);      // Int
            Assert.AreEqual (50, track.Sample (50), 0.0001f);    // Int
            Assert.AreEqual (100, track.Sample (100), 0.0001f);  // Int
        }