Ejemplo n.º 1
0
        //private readonly Action _graphicObjectSelected;
        //private readonly Action _verticleSelected;
        //private readonly Func<int, bool> _lineSelected;
        //private readonly Action _nullSelected;
        //private readonly Action _circleSelected;


        private void DrawCircle()
        {
            var circle = new Circle(Clicks.Last(), Radius, Drawing, GuidMapLogic, Width);

            GraphicObjects.Add(circle.Guid, circle);
            circle.DrawItself();
            circle.DrawOnGuidMap();
            //GuidMapLogic.SetOnMap(circle);
            Clicks.Clear();
        }
Ejemplo n.º 2
0
        private void AddVerticle()
        {
            var   line             = (SelectedObject as Line);
            Point newVerticlePoint = Clicks.Last();
            var   newLine          = (line.ParentGraphicObject as Poligon).InsertLine(line, newVerticlePoint);

            GraphicObjects.Add(newLine.Guid, newLine);
            GraphicObjects.Add(newLine.StartVerticle.Guid, newLine.StartVerticle);
            Redraw();
        }
Ejemplo n.º 3
0
 private void DrawLine()
 {
     if (Clicks.Count == 2)
     {
         var line = new Line(Clicks[0], Clicks[1], Width, Drawing, GuidMapLogic);
         line.DrawItself();
         GraphicObjects.Add(line.Guid, line);
         GraphicObjects.Add(line.StartVerticle.Guid, line.StartVerticle);
         GraphicObjects.Add(line.EndVerticle.Guid, line.EndVerticle);
         line.DrawOnGuidMap();
         Clicks.Clear();
     }
 }
Ejemplo n.º 4
0
        private void StartDrawingPolygon()
        {
            if (Clicks.Count == 1)
            {
                Poligon poligon = new Poligon(Drawing, GuidMapLogic);
                CurrentPolygon = poligon;
                GraphicObjects.Add(poligon.Guid, poligon);
                return;
            }
            var line = new Line(Clicks[Clicks.Count - 2], Clicks.Last(), Width, Drawing, GuidMapLogic, CurrentPolygon);

            CurrentPolygon.AddLine(line);
            line.DrawItself();
        }
Ejemplo n.º 5
0
        private void SetConcrentic()
        {
            Guid          mapGuid       = GuidMapLogic.GuidMap[Clicks.Last().X + Clicks.Last().Y *Drawing.Width];
            GraphicObject graphicObject = null;

            //Guid mapGuiFirstCircle = GuidMapLogic.GuidMap[Clicks.First().X + Clicks.First().Y * Drawing.Width];

            if (mapGuid != Guid.Empty)
            {
                ConnectedCircle connectedCircle;
                graphicObject = GraphicObjects[mapGuid];

                if (GraphicObjects[mapGuid].GraphicObjectType == GraphicObjectType.Circle)
                {
                    ConnectedCircles.Add(GraphicObjects[mapGuid] as Circle);
                }


                if (graphicObject.GraphicObjectType == GraphicObjectType.Circle)
                {
                    var firstCircle = ConnectedCircles.FirstOrDefault();
                    var circle      = ConnectedCircles.LastOrDefault();
                    if (ConnectedCircles.Count > 1)
                    {
                        if (firstCircle.ParentGraphicObject == null)
                        {
                            connectedCircle = new ConnectedCircle(firstCircle, circle, Drawing, GuidMapLogic);
                            firstCircle.ParentGraphicObject = connectedCircle;
                            circle.ParentGraphicObject      = connectedCircle;
                            circle.Center = firstCircle.Center;
                            GraphicObjects.Add(connectedCircle.Guid, connectedCircle);
                        }
                        else
                        {
                            circle.Center = firstCircle.Center;
                            (firstCircle.ParentGraphicObject as ConnectedCircle).AddCircle(circle);
                        }
                    }
                }
            }

            Redraw();
        }
Ejemplo n.º 6
0
        private void StopDrawPolygon()
        {
            if (Clicks.Count > 2)
            {
                var line = new Line(Clicks.Last(), Clicks.First(), Width, Drawing, GuidMapLogic, CurrentPolygon);
                CurrentPolygon.AddLastLine(line);
                line.DrawItself();

                CurrentPolygon
                .Lines.ForEach(poligonLine => GraphicObjects.Add(poligonLine.Guid, poligonLine));

                CurrentPolygon
                .Verticies.ForEach(poligonVerticle => GraphicObjects.Add(poligonVerticle.Guid, poligonVerticle));

                CurrentPolygon.DrawOnGuidMap();
                //GuidMapLogic.SetOnMap(CurrentPolygon);
            }
            _buttonControl.StopDrawingPoligon();
            Clicks.Clear();
        }