virtual public bool OnCommand(string MenuId) { switch (MenuId) { case "MenuId.Reverse": (ellipse as ICurve).Reverse(); return(true); case "MenuId.CurveSplit": Frame.SetAction(new ConstrSplitCurve(ellipse)); return(true); case "MenuId.Approximate": if (Frame.ActiveAction is SelectObjectsAction) { Curves.Approximate(Frame, ellipse); } return(true); case "MenuId.Aequidist": Frame.SetAction(new ConstructAequidist(ellipse)); return(true); } return(false); }
virtual public bool OnCommand(string MenuId) { switch (MenuId) { case "MenuId.Reverse": (circle as ICurve).Reverse(); return(true); case "MenuId.CurveSplit": Frame.SetAction(new ConstrSplitCurve(circle)); return(true); case "MenuId.Approximate": if (Frame.ActiveAction is SelectObjectsAction && (Frame.GetIntSetting("Approximate.Mode", 0) == 0)) { Curves.Approximate(Frame, circle); } return(true); case "MenuId.Aequidist": Frame.SetAction(new ConstructAequidist(circle)); return(true); } return(false); }
virtual public bool OnCommand(string MenuId) { switch (MenuId) { case "MenuId.Reverse": (bSpline as ICurve).Reverse(); ReloadProperties(); //polesProperty.ShowOpen(false); //if (throughPointsProperty!=null) throughPointsProperty.ShowOpen(false); return(true); case "MenuId.CurveSplit": Frame.SetAction(new ConstrSplitCurve(bSpline)); return(true); case "MenuId.Approximate": if (Frame.ActiveAction is SelectObjectsAction) { Curves.Approximate(Frame, bSpline); } return(true); } return(false); }
virtual public bool OnCommand(string MenuId) { switch (MenuId) { case "MenuId.Reverse": (path as ICurve).Reverse(); if (propertyPage != null) { propertyPage.Refresh(this); } return(true); case "MenuId.CurveSplit": Frame.SetAction(new ConstrSplitCurve(path)); return(true); case "MenuId.Approximate": if (Frame.ActiveAction is SelectObjectsAction) { Curves.Approximate(Frame, path); } return(true); case "MenuId.Explode": if (Frame.ActiveAction is SelectObjectsAction) { using (Frame.Project.Undo.UndoFrame) { IGeoObjectOwner addTo = path.Owner; if (addTo == null) { addTo = Frame.ActiveView.Model; } ICurve[] pathCurves = path.Curves; GeoObjectList toSelect = path.Decompose(); addTo.Remove(path); for (int i = toSelect.Count - 1; i >= 0; --i) { if (!toSelect[i].HasValidData()) { toSelect.Remove(i); } } for (int i = 0; i < toSelect.Count; i++) { addTo.Add(toSelect[i]); } SelectObjectsAction soa = Frame.ActiveAction as SelectObjectsAction; soa.SetSelectedObjects(toSelect); // alle Teilobjekte markieren } } return(true); case "MenuId.Aequidist": Frame.SetAction(new ConstructAequidist(path)); return(true); case "MenuId.Reduce": if (path.GetPlanarState() == PlanarState.Planar) { Plane pln = path.GetPlane(); Path2D p2d = path.GetProjectedCurve(pln) as Path2D; if (p2d != null) { p2d.ForceConnected(); Reduce2D r2d = new Reduce2D(); r2d.Precision = Settings.GlobalSettings.GetDoubleValue("Approximate.Precision", 0.01); r2d.Add(p2d.SubCurves); r2d.OutputMode = Reduce2D.Mode.Paths; ICurve2D[] red = r2d.Reduced; if (red.Length == 1) { using (Frame.Project.Undo.UndoFrame) { IGeoObjectOwner addTo = path.Owner; if (addTo == null) { addTo = Frame.ActiveView.Model; } addTo.Remove(path); Path redpath = red[0].MakeGeoObject(pln) as Path; if (redpath != null) { SelectObjectsAction soa = Frame.ActiveAction as SelectObjectsAction; soa.SetSelectedObjects(new GeoObjectList(redpath)); } } } } } return(true); } return(false); }