Ejemplo n.º 1
0
        /// <summary>
        /// Das Zeichnen des Kreises wird jetzt per Maus-Klick bestätigt
        /// </summary>
        /// <param name="pt"></param>
        /// <param name="buttons"></param>
        /// <param name="screenHeight"></param>
        /// <param name="curElement"></param>
        /// <param name="statusMessage"></param>
        /// <returns></returns>
        public static ClickResult Circle_ClickHandler(System.Drawing.Point pt, MouseButtons buttons,
                                                      int screenHeight, ref Curve curElement, out string statusMessage)
        {
            ClickResult result = ClickResult.canceled;

            statusMessage = string.Empty;

            Point worldPoint = TransformScreen2World(pt, screenHeight);

            if (buttons != MouseButtons.Right)
            {
                if (curElement == null || curElement.GetType() != typeof(Circle))
                {
                    //Der Kreis-Center wird gemerkt
                    curElement    = new Circle(worldPoint, new Vector(), 0);
                    result        = ClickResult.created;
                    statusMessage = EndMessage;
                }
                else
                {
                    Circle c = curElement as Circle;
                    //Der Raduis wird berechnen durch
                    c.Radius      = c.CenterPoint.DistanceTo(worldPoint);
                    result        = ClickResult.finished;
                    statusMessage = StartMessage;
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
        public static ClickResult Polyline_ClickHandler(System.Drawing.Point pt, MouseButtons buttons,
                                                        int screenHeight, ref Curve curElement, out string statusMessage)
        {
            ClickResult result = ClickResult.canceled;

            statusMessage = string.Empty;

            Point worldPoint = TransformScreen2World(pt, screenHeight);

            if (curElement == null || curElement.GetType() != typeof(Polyline))
            {
                if (buttons == MouseButtons.Left)
                {
                    PolylinePoints.Add(worldPoint);
                    curElement    = new Polyline(new Point[] { worldPoint });
                    result        = ClickResult.created;
                    statusMessage = NextMessage;
                }
                else if (buttons == MouseButtons.Right)
                {
                    result        = ClickResult.canceled;
                    statusMessage = StartMessage;
                }
            }
            else
            {
                Polyline p = curElement as Polyline;

                if (buttons == MouseButtons.Left)
                {
                    PolylinePoints.Add(worldPoint);
                    p.AddPoint(worldPoint);
                    result        = ClickResult.pointHandled;
                    statusMessage = EndMessage;
                }
                else if (buttons == MouseButtons.Right && p.Points.Count < 2)
                {
                    result        = ClickResult.canceled;
                    statusMessage = StartMessage;
                }
                else if (buttons == MouseButtons.Right)
                {
                    result        = ClickResult.finished;
                    statusMessage = StartMessage;
                }
            }

            return(result);
        }
Ejemplo n.º 3
0
        // <summary>
        /// Das Zeichnen der Linie wird jetzt per Maus-Click betätigt
        /// </summary>
        /// <param name="pt">Nimmt die Werte von "e.Location"</param>
        /// <param name="buttons">Bestimmt, ob es ein rechter oder linker Mouse-Klick ist </param>
        /// <param name="screenHeight">Höhe der PictureBox</param>
        /// <param name="curElement"></param>
        /// <param name="statusMessage">Aktuelle Anzeige von dem Toolstrip"Infos vom System"</param>
        /// <returns></returns>
        public static ClickResult Linie_ClickHandler(System.Drawing.Point pt, MouseButtons buttons,
                                                     int screenHeight, ref Curve curElement, out string statusMessage)
        {
            statusMessage = string.Empty;
            ClickResult result     = ClickResult.canceled;
            Point       worldPoint = TransformScreen2World(pt, screenHeight);

            if (buttons != MouseButtons.Right)
            {
                if (curElement == null || curElement.GetType() != typeof(Line))
                {
                    curElement    = new Line(worldPoint, worldPoint);
                    result        = ClickResult.created;
                    statusMessage = EndMessage;
                }
                else
                {
                    (curElement as Line).EndPoint = worldPoint;
                    result        = ClickResult.finished;
                    statusMessage = StartMessage;
                }
            }
            return(result);
        }
Ejemplo n.º 4
0
        /// <summary>

        /// </summary>
        /// <param name="centerPoint">Centre du cercle</param>
        /// <param name="normal">Vecteur normal</param>
        /// <param name="radius"></param>
        public Circle(Point centerPoint, Vector normal, double radius)
        {
            this.CenterPoint = centerPoint;
            this.Normal      = normal;
            this.Radius      = radius;
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Methoden
 /// </summary>
 /// <param name="startPoint"></param>
 /// <param name="endPoint"></param>
 public Line(Point startPoint, Point endPoint)
 {
     this.StartPoint = startPoint;
     this.EndPoint   = endPoint;
 }
Ejemplo n.º 6
0
 public void InsertPointAt(int position, Point newPoint)
 {
     Points.Insert(position, newPoint);
 }
Ejemplo n.º 7
0
 public void AddPoint(Point newPoint)
 {
     Points.Add(newPoint);
 }