public AppController(AppWindow appView) { try { this.appView = appView; var appModel = AppModel.Instance; // Create application modules externalController = new ExternalEventsController(this.appView, appModel.ExternalModel); workspaceController = new WorkspaceController(this.appView, appModel.WorkspaceModel); menuController = new MenuItemsController(this.appView, appModel.MenuModel); sceneTreeController = new SceneTreeController(this.appView, appModel.SceneTreeModel); toolbarController = new ToolstripItemsController(this.appView, appModel.ToolbarsModel); windowController = new WindowController(this.appView, appModel.AppWindowModel); // Create application configuration appModel.InitializeSettings(workspaceController.GraphicsUpdateCallback, this.appView, this.appView.Size); // Redirect UI invocations to the main form control MyMethodInvoker.SetInvocationTarget(appView); } catch (OutOfMemoryException ex) { MessageBoxFactory.Create(caption: "Critical Error", text: string.Format("Unable to create all application modules{0}Detailed information may be available in the LogFile.", Environment.NewLine), boxType: MessageBoxType.Error); Logger.Error(ex.ToString()); } }
public MainWindowViewModel(WorkspaceController workspaces, CommandController commands) { base.DisplayName = Strings.MainWindowViewModel_DisplayName; _workspaces = workspaces; _commands = commands; }
public CustomerController(WorkspaceController workspaces, CommandController commands, ICustomerRepository customerRepository) { _workspaces = workspaces; _commands = commands; _customerRepository = customerRepository; }
//-------------------------------------------------------------------------------------------------- void _OnActionPreview(ToolAction toolAction) { if (_Phase == Phase.BaseEdgeOrVertex) { if (_GetPreviewAxis(toolAction as SelectSubshapeAction, out var axis)) { if (_DirectionPreview == null) { _DirectionPreview = new HintAxis(WorkspaceController, HintStyle.NoResize); } _DirectionPreview.SetAxis(axis); _DirectionPreview.SetLength(75.0); _DirectionPreview.SetColor(Colors.Highlight); } else { _DirectionPreview?.Remove(); _DirectionPreview = null; } WorkspaceController.Invalidate(); } }
//-------------------------------------------------------------------------------------------------- public override bool Start() { if (_Mode == ToolMode.ReselectFace) { var visualShape = WorkspaceController.VisualObjects.Get(_TargetBody) as VisualShape; if (visualShape != null) { visualShape.OverrideBrep = _TargetShape.GetTransformedBRep(); WorkspaceController.Invalidate(); } } var toolAction = new SelectSubshapeAction(this, SubshapeTypes.Face, _TargetBody, new FaceSelectionFilter(FaceSelectionFilter.FaceType.Plane)); if (!WorkspaceController.StartToolAction(toolAction)) { return(false); } toolAction.Finished += _OnActionFinished; StatusText = "Select face to create flange to."; WorkspaceController.HudManager?.SetCursor(Cursors.SelectFace); return(true); }
//-------------------------------------------------------------------------------------------------- void _RemoveReconstructed() { // Remove reconstructed if (_IsReconstructedActive) { var visObject = WorkspaceController.VisualObjects.Get(_Body, true) as VisualShape; if (visObject == null) { return; } visObject.OverrideBrep = null; } _IsReconstructedActive = false; // Remove preview if (_AisPreviewShape != null) { WorkspaceController.Workspace.AisContext.Erase(_AisPreviewShape, false); _AisPreviewShape = null; } WorkspaceController.Invalidate(); }
//-------------------------------------------------------------------------------------------------- public override bool Start() { if (_TargetBody2 != null) { var boxJoint = BoxJoint.Create(_TargetBody1, _TargetBody2); InteractiveContext.Current.UndoHandler.Commit(); Stop(); WorkspaceController.Invalidate(); return(false); } var toolAction = new SelectEntityAction <Body>(this); if (!WorkspaceController.StartToolAction(toolAction)) { return(false); } toolAction.Previewed += _OnActionPreview; toolAction.Finished += _OnActionFinished; toolAction.Exclude(_TargetBody1); UpdateStatusText(null); WorkspaceController.HudManager?.SetCursor(Cursors.SelectShape); return(true); }
protected Hint(WorkspaceController workspaceController) : base(workspaceController, null) { }
//-------------------------------------------------------------------------------------------------- public override bool Start() { _SelectionContext = WorkspaceController.Selection.OpenContext(SelectionContext.Options.NewSelectedList); var workspace = WorkspaceController.Workspace; var editorSettings = SketchEditorSettingsCache.GetOrCreate(Sketch); if (editorSettings.WorkingContext == null) { editorSettings.WorkingContext = workspace.WorkingContext.Clone(); } workspace.WorkingContext = editorSettings.WorkingContext; WorkspaceController.LockWorkingPlane = true; workspace.WorkingPlane = Sketch.Plane; var vc = WorkspaceController.ActiveViewControlller; _SavedViewParameters = vc.Viewport.GetViewParameters(); vc.LockedToPlane = true; if (editorSettings.ViewParameters != null) { vc.Viewport.RestoreViewParameters(editorSettings.ViewParameters); // Update direction var twist = vc.Viewport.Twist; vc.SetPredefinedView(ViewportController.PredefinedViews.WorkingPlane); vc.Viewport.Twist = twist; } else { _CenterView(); RotateView(0); } vc.Viewport.PropertyChanged += _Viewport_PropertyChanged; EnableClipPlane(editorSettings.ClipPlaneEnabled); if (Sketch.IsVisible) { var visualSketchShape = WorkspaceController.VisualShapes.GetVisualShape(Sketch.Body, true); if (visualSketchShape != null) { visualSketchShape.IsHidden = true; } } _LastGizmoScale = WorkspaceController.ActiveViewport.GizmoScale; _TempPoints = new Dictionary <int, Pnt2d>(Sketch.Points); Transform = Sketch.GetTransformation(); Elements.InitElements(_TempPoints); _UpdateSelections(); Sketch.ElementsChanged += _Sketch_ElementsChanged; _SelectAction = new SelectSketchElementAction(this); if (!WorkspaceController.StartToolAction(_SelectAction)) { return(false); } _SelectAction.Finished += _OnSelectionChanged; StatusText = UnselectedStatusText; return(true); }
protected VisualObject(WorkspaceController workspaceController, InteractiveEntity entity) { WorkspaceController = workspaceController; Entity = entity; }
public BuildStarterController(WorkspaceController workspaces, CommandController commands) { _workspaces = workspaces; _commands = commands; }
protected VisualObject(WorkspaceController workspaceController) { WorkspaceController = workspaceController; }
public StartingState(ToolbarController toolbar_controller_p, WorkspaceController workspace_controller_p) { ToolbarController_m = toolbar_controller_p; WorkspaceController_m = workspace_controller_p; }
//-------------------------------------------------------------------------------------------------- public VisualPlane(WorkspaceController workspaceController, DatumPlane entity) : base(workspaceController, entity) { _DatumPlane = entity; Update(); }
//-------------------------------------------------------------------------------------------------- public PropertiesPanelModel() { InteractiveContext.Current.PropertyChanged += _Context_PropertyChanged; WorkspaceController = InteractiveContext.Current.WorkspaceController; InteractiveContext.Current.PropertyPanelManager = this; }
//-------------------------------------------------------------------------------------------------- public HintLine(WorkspaceController workspaceController, HintStyle style) : base(workspaceController) { _Style = style; }
//-------------------------------------------------------------------------------------------------- public Marker(WorkspaceController workspaceController, Styles styles, string imageName) : base(workspaceController, null) { _Styles = styles; _Image = _GetMarkerImage(imageName); }
//-------------------------------------------------------------------------------------------------- public Marker(WorkspaceController workspaceController, Styles styles, Image image) : base(workspaceController, null) { _Styles = styles; _Image = image; }
private void ToggleBinder(bool visible) { int margin = (int)App.Self.Preferences.AppearancePreferences.Get("ui_base_margin"); if (_showing) { GetTween().InterpolateProperty( this, "rect_position", RectGlobalPosition, new Vector2(-RectSize.x - 2, RectGlobalPosition.y), _showingSpeed, Tween.TransitionType.Cubic, Tween.EaseType.Out); WorkspaceController workspace = App.Self.GetWorkspaceController(); GetTween().InterpolateProperty( workspace, "margin_left", workspace.MarginLeft, 0, _showingSpeed, Tween.TransitionType.Cubic, Tween.EaseType.Out); Dock.Dock dock = App.Self.Dock; GetTween().InterpolateProperty( dock.ContentControl, "margin_left", dock.MarginLeft, margin, _showingSpeed, Tween.TransitionType.Cubic, Tween.EaseType.Out); GetTween().Start(); _showing = false; } else { GetTween().InterpolateProperty( this, "rect_position", RectGlobalPosition, new Vector2(0, RectGlobalPosition.y), _showingSpeed, Tween.TransitionType.Cubic, Tween.EaseType.Out); WorkspaceController workspace = App.Self.GetWorkspaceController(); GetTween().InterpolateProperty( workspace, "margin_left", workspace.MarginLeft, RectSize.x, _showingSpeed, Tween.TransitionType.Cubic, Tween.EaseType.Out); Dock.Dock dock = App.Self.Dock; GetTween().InterpolateProperty( dock.ContentControl, "margin_left", dock.MarginLeft, RectSize.x + margin, _showingSpeed, Tween.TransitionType.Cubic, Tween.EaseType.Out); GetTween().Start(); _showing = true; } }
void ExecuteDeleteCommand() { _Tool.Component.Remove(); CommmitChange(); WorkspaceController.CancelTool(_Tool, true); }
public AddTransactionState(ToolbarController toolbar_controller_p, WorkspaceController workspace_controller_p) { ToolbarController_m = toolbar_controller_p; WorkspaceController_m = workspace_controller_p; }
//-------------------------------------------------------------------------------------------------- void _OnActionFinished(ToolAction toolAction) { bool finished = false; var selectAction = toolAction as SelectSubshapeAction; Debug.Assert(selectAction != null); if (selectAction.SelectedSubshapeType == SubshapeTypes.Face) { var face = TopoDS.Face(selectAction.SelectedSubshape); var brepAdaptor = new BRepAdaptor_Surface(face, true); if (brepAdaptor.GetGeomType() != GeomAbs_SurfaceType.GeomAbs_Plane) { StatusText = "Selected face is not a plane type surface."; } else { selectAction.Stop(); Stop(); finished = true; var faceRef = _TargetShape.GetSubshapeReference(_TargetBrep, face); if (faceRef == null) { Messages.Error("A subshape reference could not be produced for this face."); return; } if (_Mode == ToolMode.CreateNew) { // Create new var sketch = new Sketch { Body = _TargetBody, }; var imprint = Imprint.Create(_TargetBody, faceRef, sketch); if (imprint != null) { imprint.Mode = _ImprintMode; InteractiveContext.Current.UndoHandler.Commit(); InteractiveContext.Current.WorkspaceController.Selection.SelectEntity(_TargetBody); WorkspaceController.StartTool(new SketchEditorTool(sketch)); } } else if (_Mode == ToolMode.ReselectFace) { // Reselected face _ImprintToChange.Face = faceRef; _ImprintToChange.Invalidate(); InteractiveContext.Current.UndoHandler.Commit(); } } } if (!finished) { selectAction.Reset(); } WorkspaceController.Invalidate(); }