public ArcSelection(IServiceProvider serviceProvider, LayerContainerViewModel layer, ArcShapeViewModel shapeViewModel, ShapeStyleViewModel style) { _serviceProvider = serviceProvider; _layer = layer; _arc = shapeViewModel; _styleViewModel = style; }
public void BeginDown(InputArgs args) { var factory = _serviceProvider.GetService <IFactory>(); var editor = _serviceProvider.GetService <ProjectEditorViewModel>(); (decimal sx, decimal sy) = editor.TryToSnap(args); switch (_currentState) { case State.Point1: { editor.IsToolIdle = false; var style = editor.Project.CurrentStyleLibrary?.Selected is { } ? editor.Project.CurrentStyleLibrary.Selected : editor.Factory.CreateShapeStyle(ProjectEditorConfiguration.DefaulStyleName); _connectedPoint3 = false; _connectedPoint4 = false; _arc = factory.CreateArcShape( (double)sx, (double)sy, (ShapeStyleViewModel)style.Copy(null), editor.Project.Options.DefaultIsStroked, editor.Project.Options.DefaultIsFilled); editor.SetShapeName(_arc); var result = editor.TryToGetConnectionPoint((double)sx, (double)sy); if (result is { })
public override object Copy(IDictionary <object, object>?shared) { var copy = new ArcShapeViewModel(ServiceProvider) { Name = Name, State = State, Style = _style?.CopyShared(shared), IsStroked = IsStroked, IsFilled = IsFilled, Properties = _properties.CopyShared(shared).ToImmutable(), Record = _record, Point1 = _point1?.CopyShared(shared), Point2 = _point2?.CopyShared(shared), Point3 = _point3?.CopyShared(shared), Point4 = _point4?.CopyShared(shared) }; return(copy); }
public static AM.Geometry ToGeometry(ArcShapeViewModel arc) { var sg = new AM.StreamGeometry(); using var sgc = sg.Open(); var a = new WpfArc( Point2.FromXY(arc.Point1.X, arc.Point1.Y), Point2.FromXY(arc.Point2.X, arc.Point2.Y), Point2.FromXY(arc.Point3.X, arc.Point3.Y), Point2.FromXY(arc.Point4.X, arc.Point4.Y)); sgc.BeginFigure( new A.Point(a.Start.X, a.Start.Y), arc.IsFilled); sgc.ArcTo( new A.Point(a.End.X, a.End.Y), new A.Size(a.Radius.Width, a.Radius.Height), 0.0, a.IsLargeArc, AM.SweepDirection.Clockwise); sgc.EndFigure(false); return(sg); }
public ArcDrawNode(ArcShapeViewModel arc, ShapeStyleViewModel style) { Style = style; Arc = arc; UpdateGeometry(); }
public void Bind(ArcShapeViewModel arc, object db, object r) { }
public IArcDrawNode CreateArcDrawNode(ArcShapeViewModel arc, ShapeStyleViewModel style) { return(new ArcDrawNode(arc, style)); }