示例#1
0
        private static void AnimationFunction_Changed(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            Rotation3DAnimation a = (Rotation3DAnimation)d;

            a._isAnimationFunctionValid = false;
            a.PropertyChanged(e.Property);
        }
        private Media3D.Transform3D CreateAnimatedTransform2(Vector3D translate, Vector3D axis, double speed = 4)
        {
            var lightTrafo = new Media3D.Transform3DGroup();
            lightTrafo.Children.Add(new Media3D.TranslateTransform3D(translate));

            var rotateAnimation = new Rotation3DAnimation
            {
                RepeatBehavior = RepeatBehavior.Forever,
                //By = new Media3D.AxisAngleRotation3D(axis, 180),
                From = new Media3D.AxisAngleRotation3D(axis, 135),
                To = new Media3D.AxisAngleRotation3D(axis, 225),
                AutoReverse = true,
                Duration = TimeSpan.FromSeconds(speed / 4),
                //IsCumulative = true,                  
            };

            var rotateTransform = new Media3D.RotateTransform3D();
            rotateTransform.BeginAnimation(Media3D.RotateTransform3D.RotationProperty, rotateAnimation);
            lightTrafo.Children.Add(rotateTransform);
            return lightTrafo;
        }
示例#3
0
        private Transform3D CreateAnimatedTransform(Vector3D translate, Vector3D axis, double speed = 4)
        {
            var animationTrafo = new Transform3DGroup();
            animationTrafo.Children.Add(new TranslateTransform3D(translate));

            var rotateAnimation = new Rotation3DAnimation
            {
                RepeatBehavior = RepeatBehavior.Forever,
                By = new AxisAngleRotation3D(axis, 90),
                Duration = TimeSpan.FromSeconds(speed / 4),
                IsCumulative = true,
            };

            var rotateTransform = new RotateTransform3D();
            rotateTransform.BeginAnimation(RotateTransform3D.RotationProperty, rotateAnimation);
            animationTrafo.Children.Add(rotateTransform);

            return animationTrafo;
        }
示例#4
0
文件: V3D.cs 项目: dingxinbei/OLdBck
        void ClearItem(bool isSelected, int indexToClear)
        {
            Vector3D offset;
            RotateTransform3D rotation;
            CalculatePeiceLocation(indexToClear, out offset, out rotation);
            var tranG = (_models[indexToClear] as Visual3D).Transform as Transform3DGroup;
            if (tranG != null)
            {
                DoubleAnimation d = new DoubleAnimation();
                d.Duration = new TimeSpan(0, 0, 0, 0, 500);
                d.From = 0.0;
                d.To = offset.X;
                DoubleAnimation d2 = new DoubleAnimation();
                d2.Duration = new TimeSpan(0, 0, 0, 0, 500);
                d2.From = 0.0;
                d2.To = offset.Y;
                DoubleAnimation d3 = new DoubleAnimation();
                d3.Duration = new TimeSpan(0, 0, 0, 0, 500);
                d3.From = offset.Z + (PeicesPerSide - 1);
                d3.To = offset.Z;
                Rotation3DAnimation d4 = new Rotation3DAnimation();
                d4.Duration = new TimeSpan(0, 0, 0, 0, 500);
                d4.From = new AxisAngleRotation3D(new Vector3D(0, 1, 0), 0);
                d4.To = rotation.Rotation;
                d4.BeginTime = new TimeSpan(0, 0, 0);
                DoubleAnimation d5 = new DoubleAnimation();
                d5.Duration = new TimeSpan(0, 0, 0, 0, 500);
                d5.From = 0.0;
                d5.To = offset.X;
                DoubleAnimation d6 = new DoubleAnimation();
                d6.Duration = new TimeSpan(0, 0, 0, 0, 500);
                d6.From = 0.0;
                d6.To = offset.Y;

                d6.Completed += delegate(object sender, EventArgs e)
                {
                    if (isSelected == true)
                    {
                        // selectedIndex = -1;
                        tranG.Children[0].BeginAnimation(TranslateTransform3D.OffsetXProperty, null);
                        tranG.Children[0].BeginAnimation(TranslateTransform3D.OffsetYProperty, null);
                        tranG.Children[0].BeginAnimation(TranslateTransform3D.OffsetZProperty, null);
                        tranG.Children[1].BeginAnimation(RotateTransform3D.RotationProperty, null);
                        tranG.Children[1].BeginAnimation(RotateTransform3D.CenterXProperty, null);
                        tranG.Children[1].BeginAnimation(RotateTransform3D.CenterYProperty, null);
                        needsUpdate = true;

                        selectedIndex = -1;
                        if (_itemsOwner != null)
                        {
                            _itemsOwner.SelectedIndex = -1;
                        }
                        BuildScene();
                    }
                };

                tranG.Children[0].BeginAnimation(TranslateTransform3D.OffsetXProperty, d);
                tranG.Children[0].BeginAnimation(TranslateTransform3D.OffsetYProperty, d2);
                tranG.Children[0].BeginAnimation(TranslateTransform3D.OffsetZProperty, d3);
                tranG.Children[1].BeginAnimation(RotateTransform3D.RotationProperty, d4);
                tranG.Children[1].BeginAnimation(RotateTransform3D.CenterXProperty, d5);
                tranG.Children[1].BeginAnimation(RotateTransform3D.CenterYProperty, d6);
            }
        }
        void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target)
        {
            switch (connectionId)
            {
            case 1:

            #line 8 "..\..\MainWindow.xaml"
                ((_3DCubeImages.MainWindow)(target)).Loaded += new System.Windows.RoutedEventHandler(this.Window_Loaded);

            #line default
            #line hidden
                return;

            case 2:
                this.ColorLight = ((System.Windows.Media.Media3D.DirectionalLight)(target));
                return;

            case 3:
                this.imageBrush1 = ((System.Windows.Media.ImageBrush)(target));
                return;

            case 4:
                this.myRotate3D = ((System.Windows.Media.Media3D.RotateTransform3D)(target));
                return;

            case 5:
                this.rotate = ((System.Windows.Media.Media3D.AxisAngleRotation3D)(target));
                return;

            case 6:
                this.rotateAnimation = ((System.Windows.Media.Animation.Rotation3DAnimation)(target));
                return;

            case 7:
                this.ColorAnimation1 = ((System.Windows.Media.Animation.ColorAnimation)(target));
                return;

            case 8:
                this.ColorAnimation2 = ((System.Windows.Media.Animation.ColorAnimation)(target));
                return;

            case 9:
                this.ColorAnimation3 = ((System.Windows.Media.Animation.ColorAnimation)(target));
                return;

            case 10:
                this.listFile1 = ((System.Windows.Controls.ListView)(target));

            #line 116 "..\..\MainWindow.xaml"
                this.listFile1.MouseUp += new System.Windows.Input.MouseButtonEventHandler(this.ListFile1_MouseUp);

            #line default
            #line hidden
                return;

            case 11:
                this.button2 = ((System.Windows.Controls.Button)(target));

            #line 123 "..\..\MainWindow.xaml"
                this.button2.Click += new System.Windows.RoutedEventHandler(this.Button2_Click);

            #line default
            #line hidden
                return;
            }
            this._contentLoaded = true;
        }