/// <summary>
        /// 
        /// </summary>
        public ResizeManipulator3D()
        {
            var red = PhongMaterials.Red;
            red.ReflectiveColor = Color.Black;
            //red.SpecularShininess = 0f;
            this.translateXR = new UITranslateManipulator3D { Direction = new Vector3(+1, 0, 0), IsThrowingShadow = false, Material = red, };
            this.translateYR = new UITranslateManipulator3D { Direction = new Vector3(0, +1, 0), IsThrowingShadow = false, Material = PhongMaterials.Green };
            this.translateZR = new UITranslateManipulator3D { Direction = new Vector3(0, 0, +1), IsThrowingShadow = false, Material = PhongMaterials.Blue };
            this.translateXL = new UITranslateManipulator3D { Direction = new Vector3(-1, 0, 0), IsThrowingShadow = false, Material = red };
            this.translateYL = new UITranslateManipulator3D { Direction = new Vector3(0, -1, 0), IsThrowingShadow = false, Material = PhongMaterials.Green };
            this.translateZL = new UITranslateManipulator3D { Direction = new Vector3(0, 0, -1), IsThrowingShadow = false, Material = PhongMaterials.Blue };
            //this.rotateZ = new UIRotateManipulator3D { Axis = Vector3.UnitZ, InnerDiameter = 2, OuterDiameter = 2.15, Length = 0.05 };

            this.CanTranslateX = true;
            this.CanTranslateY = false;
            this.CanTranslateZ = false;
            this.IsRendering = false;

            this.OnChildrenChanged();
           // this.OnContentChanged();                       
        }
        /// <summary>
        ///
        /// </summary>
        public UICompositeManipulator3D()
        {
            this.translateX = new UITranslateManipulator3D {
                Direction = new Vector3(1, 0, 0), Material = PhongMaterials.Red
            };
            this.translateY = new UITranslateManipulator3D {
                Direction = new Vector3(0, 1, 0), Material = PhongMaterials.Green
            };
            this.translateZ = new UITranslateManipulator3D {
                Direction = new Vector3(0, 0, 1), Material = PhongMaterials.Blue
            };
            this.rotateX = new UIRotateManipulator3D {
                Axis = new Vector3(1, 0, 0), Length = 0.05, Material = PhongMaterials.Red,
            };
            this.rotateY = new UIRotateManipulator3D {
                Axis = new Vector3(0, 1, 0), Length = 0.05, Material = PhongMaterials.Green
            };
            this.rotateZ = new UIRotateManipulator3D {
                Axis = new Vector3(0, 0, 1), Length = 0.05, Material = PhongMaterials.Blue
            };

            // bind UITranslateManipulators3D.TargetTransform to this.Transform
            BindingOperations.SetBinding(this.translateX, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform")
            {
                Source = this
            });
            BindingOperations.SetBinding(this.translateY, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform")
            {
                Source = this
            });
            BindingOperations.SetBinding(this.translateZ, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform")
            {
                Source = this
            });

            BindingOperations.SetBinding(this.rotateX, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform")
            {
                Source = this
            });
            BindingOperations.SetBinding(this.rotateY, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform")
            {
                Source = this
            });
            BindingOperations.SetBinding(this.rotateZ, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform")
            {
                Source = this
            });

            //BindingOperations.SetBinding(this.translateX, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });
            //BindingOperations.SetBinding(this.translateY, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });
            //BindingOperations.SetBinding(this.translateZ, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });

            //BindingOperations.SetBinding(this.rotateX, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });
            //BindingOperations.SetBinding(this.rotateY, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });
            //BindingOperations.SetBinding(this.rotateZ, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });

            // bind this.Transform to this.TargetTransform (TwoWay)
            BindingOperations.SetBinding(this, TransformProperty, new Binding("TargetTransform")
            {
                Source = this, Mode = BindingMode.TwoWay,
            });

            this.OnChildrenChanged();
        }
Example #3
0
        /// <summary>
        ///
        /// </summary>
        public UICompositeManipulator3D()
        {
            OnSceneNodeCreated += (s, e) =>
            {
                e.Node.OnAttached += SceneNode_OnAttached;
            };
            this.translateX = new UITranslateManipulator3D {
                Direction = new Vector3(1, 0, 0), Material = DiffuseMaterials.Red
            };
            this.translateY = new UITranslateManipulator3D {
                Direction = new Vector3(0, 1, 0), Material = DiffuseMaterials.Green
            };
            this.translateZ = new UITranslateManipulator3D {
                Direction = new Vector3(0, 0, 1), Material = DiffuseMaterials.Blue
            };
            this.rotateX = new UIRotateManipulator3D {
                Axis = new Vector3(1, 0, 0), Length = 0.05, Material = DiffuseMaterials.Red,
            };
            this.rotateY = new UIRotateManipulator3D {
                Axis = new Vector3(0, 1, 0), Length = 0.05, Material = DiffuseMaterials.Green
            };
            this.rotateZ = new UIRotateManipulator3D {
                Axis = new Vector3(0, 0, 1), Length = 0.05, Material = DiffuseMaterials.Blue
            };

            // bind UITranslateManipulators3D.TargetTransform to this.Transform
            BindingOperations.SetBinding(this.translateX, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform")
            {
                Source = this
            });
            BindingOperations.SetBinding(this.translateY, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform")
            {
                Source = this
            });
            BindingOperations.SetBinding(this.translateZ, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform")
            {
                Source = this
            });

            BindingOperations.SetBinding(this.rotateX, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform")
            {
                Source = this
            });
            BindingOperations.SetBinding(this.rotateY, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform")
            {
                Source = this
            });
            BindingOperations.SetBinding(this.rotateZ, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform")
            {
                Source = this
            });

            //BindingOperations.SetBinding(this.translateX, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });
            //BindingOperations.SetBinding(this.translateY, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });
            //BindingOperations.SetBinding(this.translateZ, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });

            //BindingOperations.SetBinding(this.rotateX, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });
            //BindingOperations.SetBinding(this.rotateY, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });
            //BindingOperations.SetBinding(this.rotateZ, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });

            // bind this.Transform to this.TargetTransform (TwoWay)
            BindingOperations.SetBinding(this, TransformProperty, new Binding("TargetTransform")
            {
                Source = this, Mode = BindingMode.TwoWay,
            });

            this.Children.Clear();
            this.Children.Add(this.translateX);
            this.Children.Add(this.translateY);
            this.Children.Add(this.translateZ);
            this.Children.Add(this.rotateX);
            this.Children.Add(this.rotateY);
            this.Children.Add(this.rotateZ);
        }
        /// <summary>
        /// 
        /// </summary>
        public UICompositeManipulator3D()
        {
            this.translateX = new UITranslateManipulator3D { Direction = new Vector3(1, 0, 0), Material = PhongMaterials.Red };
            this.translateY = new UITranslateManipulator3D { Direction = new Vector3(0, 1, 0), Material = PhongMaterials.Green };
            this.translateZ = new UITranslateManipulator3D { Direction = new Vector3(0, 0, 1), Material = PhongMaterials.Blue };
            this.rotateX = new UIRotateManipulator3D { Axis = new Vector3(1, 0, 0), Length = 0.05, Material = PhongMaterials.Red, };
            this.rotateY = new UIRotateManipulator3D { Axis = new Vector3(0, 1, 0), Length = 0.05, Material = PhongMaterials.Green };
            this.rotateZ = new UIRotateManipulator3D { Axis = new Vector3(0, 0, 1), Length = 0.05, Material = PhongMaterials.Blue };

            // bind UITranslateManipulators3D.TargetTransform to this.Transform            
            BindingOperations.SetBinding(this.translateX, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform") { Source = this });
            BindingOperations.SetBinding(this.translateY, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform") { Source = this });
            BindingOperations.SetBinding(this.translateZ, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform") { Source = this });

            BindingOperations.SetBinding(this.rotateX, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform") { Source = this });
            BindingOperations.SetBinding(this.rotateY, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform") { Source = this });
            BindingOperations.SetBinding(this.rotateZ, UIManipulator3D.TargetTransformProperty, new Binding("TargetTransform") { Source = this });

            //BindingOperations.SetBinding(this.translateX, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });
            //BindingOperations.SetBinding(this.translateY, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });
            //BindingOperations.SetBinding(this.translateZ, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });

            //BindingOperations.SetBinding(this.rotateX, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });
            //BindingOperations.SetBinding(this.rotateY, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });
            //BindingOperations.SetBinding(this.rotateZ, UIManipulator3D.TransformProperty, new Binding("TargetTransform") { Source = this });

            // bind this.Transform to this.TargetTransform (TwoWay)
            BindingOperations.SetBinding(this, TransformProperty, new Binding("TargetTransform") { Source = this, Mode = BindingMode.TwoWay, });            

            this.OnChildrenChanged();
        }