Exemplo n.º 1
0
        public void OnInsertAgain(string scene3DModelObj, ModelVisual3D device, Cursor _previousCursor)
        {
            Debug.WriteLine("CALLING async is DONE ...curthread:" + Application.Current.Dispatcher.ToString());
            this.helixViewport3D.Children.Add(device);
            Scene3DViewModelLib.Scene3DModel scene3DModel = new Scene3DViewModelLib.Scene3DModel(scene3DModelObj, new ActionCommand(action => OnInsertAgain(scene3DModelObj), canExecute => true, (b) =>
            {
                On3DControlFocus(b ? "Insert Again" : null);
            }), device);

            Scene3DEles.Add(scene3DModel);

            {
                //< ht:BindableTranslateManipulator Direction = "1 0 0"  Length = "5" Diameter = "1" Color = "Black" Value = "{Binding TranslateValue}" TargetTransform = "{Binding ElementName=sphere1, Path=Transform}" />
                TranslateManipulator manipulator = new TranslateManipulator();
                manipulator.Bind(device);
                manipulator.Color     = Colors.Red;
                manipulator.Direction = new Vector3D(1, 0, 0);
                manipulator.Diameter  = 0.1;
                manipulator.Length    = 9;//TODO: len = obj-len * 2
                this.helixViewport3D.Children.Add(manipulator);
            }

            Mouse.OverrideCursor = _previousCursor;

            Debug.WriteLine("CALLED  async...");
        }
Exemplo n.º 2
0
        public DeplacementForme()
        {
            Cylindre = new PipeVisual3D();
            InitializeComponent();
            viewport.Children.Add(Cylindre);


            Cylindre.Point2 = new Point3D(0, 0, -10);



            // Translate X
            TranslateManipulator translateManipulatorX = new TranslateManipulator();

            translateManipulatorX.Visibility = Visibility.Visible;
            translateManipulatorX.Bind(Cylindre);
            translateManipulatorX.Color     = Colors.DarkRed;
            translateManipulatorX.Direction = new Vector3D(1, 0, 0);
            viewport.Children.Add(translateManipulatorX);

            // Translate Y
            TranslateManipulator translateManipulatorY = new TranslateManipulator();

            translateManipulatorY.Visibility = Visibility.Visible;
            translateManipulatorY.Bind(Cylindre);
            translateManipulatorY.Color     = Colors.AliceBlue;
            translateManipulatorY.Direction = new Vector3D(0, 1, 0);
            viewport.Children.Add(translateManipulatorY);

            // Translate Z
            TranslateManipulator translateManipulatorZ = new TranslateManipulator();

            translateManipulatorZ.Visibility = Visibility.Visible;
            translateManipulatorZ.Bind(Cylindre);
            translateManipulatorZ.Color     = Colors.ForestGreen;
            translateManipulatorZ.Direction = new Vector3D(0, 0, -1);
            viewport.Children.Add(translateManipulatorZ);

            //translateManipulatorX.MouseUp += MouseUpHandler;
            //translateManipulatorY.MouseUp += MouseUpHandler;
            //translateManipulatorZ.MouseUp += MouseUpHandler;
        }
Exemplo n.º 3
0
        public void CheckManipulatorVisible()
        {
            ClearManipulator();
            switch (ToolBoxIndex)
            {
            case 1:
                ViewPortModel.Children.ToList().ForEach(e =>
                {
                    if (e.GetType().Equals(typeof(BoxVisual3D)))
                    {
                        //CombinedManipulator manipulator = new CombinedManipulator();
                        //manipulator.Offset = new Vector3D(0, 0, (e as BoxVisual3D).Height + 1);
                        //manipulator.Bind(e as BoxVisual3D);
                        //ViewPortModel.Children.Add(manipulator);
                        TranslateManipulator manipulatorZ = new TranslateManipulator()
                        {
                            Color = Colors.Blue, Diameter = 0.3, Direction = new Vector3D(0, 0, 1), Length = ((e as BoxVisual3D).Height / 2f) + 2f
                        };
                        manipulatorZ.Bind((e as BoxVisual3D));
                        ViewPortModel.Children.Add(manipulatorZ);

                        TranslateManipulator manipulatorZ2 = new TranslateManipulator()
                        {
                            Color = Colors.Blue, Diameter = 0.3, Direction = new Vector3D(0, 0, -1), Length = ((e as BoxVisual3D).Height / 2f) + 2f
                        };
                        manipulatorZ2.Bind((e as BoxVisual3D));
                        ViewPortModel.Children.Add(manipulatorZ2);


                        TranslateManipulator manipulatorX = new TranslateManipulator()
                        {
                            Color = Colors.Blue, Diameter = 0.3, Direction = new Vector3D(0, 1, 0), Length = ((e as BoxVisual3D).Width / 2f) + 2f
                        };
                        manipulatorX.Bind((e as BoxVisual3D));
                        ViewPortModel.Children.Add(manipulatorX);
                        TranslateManipulator manipulatorX2 = new TranslateManipulator()
                        {
                            Color = Colors.Blue, Diameter = 0.3, Direction = new Vector3D(0, -1, 0), Length = ((e as BoxVisual3D).Width / 2f) + 2f
                        };
                        manipulatorX2.Bind((e as BoxVisual3D));
                        ViewPortModel.Children.Add(manipulatorX2);

                        TranslateManipulator manipulatorY = new TranslateManipulator()
                        {
                            Color = Colors.Blue, Diameter = 0.3, Direction = new Vector3D(1, 0, 0), Length = ((e as BoxVisual3D).Length / 2f) + 2f
                        };
                        manipulatorY.Bind((e as BoxVisual3D));
                        ViewPortModel.Children.Add(manipulatorY);
                        TranslateManipulator manipulatorY2 = new TranslateManipulator()
                        {
                            Color = Colors.Blue, Diameter = 0.3, Direction = new Vector3D(-1, 0, 0), Length = ((e as BoxVisual3D).Length / 2f) + 2f
                        };
                        manipulatorY2.Bind((e as BoxVisual3D));
                        ViewPortModel.Children.Add(manipulatorY2);
                    }
                });
                break;

            case 2:
                ViewPortModel.Children.ToList().ForEach(e =>
                {
                    if (e.GetType().Equals(typeof(BoxVisual3D)))
                    {
                        ViewPortModel.Children.Add(new TranslateManipulatorScaleZ(e as BoxVisual3D).manipulator);
                        ViewPortModel.Children.Add(new TranslateManipulatorScaleX(e as BoxVisual3D).manipulator);
                        ViewPortModel.Children.Add(new TranslateManipulatorScaleY(e as BoxVisual3D).manipulator);
                    }
                });
                break;
            }
        }