public static BoundaryBaseViewModel GetBoundaryFromModel(IBoundaryBase model) { IArtefactsBoundary artefactModel = model as IArtefactsBoundary; if (artefactModel != null) { return(new ArtefactsBoundaryViewModel(artefactModel, model.Points)); } IBoxBoundary boxModel = model as IBoxBoundary; if (model is IBoxBoundary) { return(new BoxesBoundary(boxModel, model.Points)); } ICircleBoundary circleModel = model as ICircleBoundary; if (model is ICircleBoundary) { return(new CircularBoundary(circleModel, model.Points)); } IOuterBoundary outerModel = model as IOuterBoundary; if (model is IOuterBoundary) { return(new OuterBoundaryViewModel(outerModel, model.Points)); } return(null); }
public override IBoundaryBase GetBoundary() { ICircleBoundary boundary = ModelResolver.Resolve <ICircleBoundary>(); boundary.Id = Id; boundary.Points = Points.Select(x => x.GetPoint()).ToArray();; return(boundary); }
public CircularBoundary(ICircleBoundary model, CircleF circle) : base(model) { List <Point> points = new List <Point>(); for (int i = 0; i < CircularEdges; i++) { Point point = new Point(); point.X = (int)(circle.Center.X + (circle.Radius * Math.Sin(i * deltaAngle))); point.Y = (int)(circle.Center.X + (circle.Radius * Math.Cos(i * deltaAngle))); points.Add(point); } Points = points.ToArray(); Color = new Bgr(System.Drawing.Color.Lime); Name = "Circle - " + Id; }
public CircularBoundary(ICircleBoundary model, Point[] points) : base(model) { Points = points; Color = new Bgr(System.Drawing.Color.Lime); Name = "Circle - " + Id; }