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; }
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; }
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; }