public RotationForme() { Cylindre = new PipeVisual3D(); InitializeComponent(); viewport.Children.Add(Cylindre); RotateManipulator rotateManipulatorX = new RotateManipulator(); rotateManipulatorX.Visibility = Visibility.Visible; rotateManipulatorX.Bind(Cylindre); rotateManipulatorX.Color = Colors.Aqua; rotateManipulatorX.Axis = new Vector3D(-10, 0, 0); rotateManipulatorX.Pivot = Cylindre.Point2; viewport.Children.Add(rotateManipulatorX); RotateManipulator rotateManipulatorY = new RotateManipulator(); rotateManipulatorY.Visibility = Visibility.Visible; rotateManipulatorY.Bind(Cylindre); rotateManipulatorY.Color = Colors.Aqua; rotateManipulatorY.Axis = new Vector3D(0, -10, 0); rotateManipulatorY.Pivot = Cylindre.Point2; viewport.Children.Add(rotateManipulatorY); RotateManipulator rotateManipulatorZ = new RotateManipulator(); rotateManipulatorZ.Visibility = Visibility.Visible; rotateManipulatorZ.Bind(Cylindre); rotateManipulatorZ.Color = Colors.Aqua; rotateManipulatorZ.Axis = new Vector3D(0, 0, -10); rotateManipulatorZ.Pivot = Cylindre.Point2; viewport.Children.Add(rotateManipulatorZ); }
public MainViewModel(IFileDialogService fds, HelixViewport3D viewport, RotateManipulator rmX, RotateManipulator rmY, RotateManipulator rmZ, TranslateManipulator scaleXYZ, PrintConfiguration PrintConfig) { if (viewport == null) { throw new ArgumentNullException("viewport"); } this.printConfig = PrintConfig; ScaleFactor = 100; SizeX = SizeY = SizeZ = 0; this.rotatorManipulatorX = rmX; this.rotatorManipulatorY = rmY; this.rotatorManipulatorZ = rmZ; this.ScaleXYZ = scaleXYZ; this.dispatcher = Dispatcher.CurrentDispatcher; this.Expansion = 1; this.fileDialogService = fds; this.viewport = viewport; this.FileOpenCommand = new DelegateCommand(this.FileOpen); this.FileExportCommand = new DelegateCommand(this.FileExport); this.FileExitCommand = new DelegateCommand(FileExit); this.ViewZoomExtentsCommand = new DelegateCommand(this.ViewZoomExtents); this.EditCopyXamlCommand = new DelegateCommand(this.CopyXaml); this.ViewRotateCommand = new DelegateCommand(this.ViewRotate); this.ViewScaleCommand = new DelegateCommand(this.ViewScale); this.ResetSolidCommand = new DelegateCommand(this.ResetSolid); this.PrintCommand = new DelegateCommand(this.GenerateGCODE); this.PronterfaceCommand = new DelegateCommand(this.Prontercae); this.AbortCommand = new DelegateCommand(this.Abort); this.ApplicationTitle = "Fracktory"; ModelLoaded = Visibility.Collapsed; ModelNotLoaded = Visibility.Visible; ModelPrint = Visibility.Collapsed; ModelPrintDone = Visibility.Collapsed; this.Elements = new List <VisualViewModel>(); foreach (var c in viewport.Children) { this.Elements.Add(new VisualViewModel(c)); } }
/// <summary> /// Initializes a new instance of the <see cref="ManipulatorGizmoVisual" /> class. /// </summary> public ManipulatorGizmoVisual() { //Translators this.translateXManipulator = new TranslateManipulator { Direction = new Vector3D(1, 0, 0), Length = 40, Diameter = 4, Color = Colors.Red }; this.translateYManipulator = new TranslateManipulator { Direction = new Vector3D(0, 1, 0), Length = 40, Diameter = 4, Color = Colors.Green }; this.translateZManipulator = new TranslateManipulator { Direction = new Vector3D(0, 0, 1), Length = 40, Diameter = 4, Color = Colors.Blue }; //Rotators this.rotateXManipulator = new RotateManipulator { InnerDiameter = 25, Diameter = 35, Axis = new Vector3D(1, 0, 0), Color = Colors.Red }; this.rotateYManipulator = new RotateManipulator { InnerDiameter = 25, Diameter = 35, Axis = new Vector3D(0, 1, 0), Color = Colors.Green }; this.rotateZManipulator = new RotateManipulator { InnerDiameter = 25, Diameter = 35, Axis = new Vector3D(0, 0, 1), Color = Colors.Blue }; //BindingOperations.SetBinding(this, TransformProperty, new Binding("TargetTransform") { Source = this }); //Transalate transform SetManipulatorBinding(translateXManipulator, Manipulator.TargetTransformProperty, nameof(TargetTransform)); SetManipulatorBinding(translateYManipulator, Manipulator.TargetTransformProperty, nameof(TargetTransform)); SetManipulatorBinding(translateZManipulator, Manipulator.TargetTransformProperty, nameof(TargetTransform)); SetManipulatorBinding(translateXManipulator, Manipulator.TransformProperty, nameof(TargetTransform)); SetManipulatorBinding(translateYManipulator, Manipulator.TransformProperty, nameof(TargetTransform)); SetManipulatorBinding(translateZManipulator, Manipulator.TransformProperty, nameof(TargetTransform)); //Diameter SetManipulatorBinding(rotateXManipulator, RotateManipulator.DiameterProperty, nameof(Diameter)); SetManipulatorBinding(rotateYManipulator, RotateManipulator.DiameterProperty, nameof(Diameter)); SetManipulatorBinding(rotateZManipulator, RotateManipulator.DiameterProperty, nameof(Diameter)); //Rotation Transform SetManipulatorBinding(rotateXManipulator, Manipulator.TargetTransformProperty, nameof(TargetTransform)); SetManipulatorBinding(rotateYManipulator, Manipulator.TargetTransformProperty, nameof(TargetTransform)); SetManipulatorBinding(rotateZManipulator, Manipulator.TargetTransformProperty, nameof(TargetTransform)); SetManipulatorBinding(rotateXManipulator, Manipulator.TransformProperty, nameof(TargetTransform)); SetManipulatorBinding(rotateYManipulator, Manipulator.TransformProperty, nameof(TargetTransform)); SetManipulatorBinding(rotateZManipulator, Manipulator.TransformProperty, nameof(TargetTransform)); UpdateChildren(); }