Feedback

Methode zur Selektierung von Segmenten eines Funktionsgrafen

Sprache: C#

Die Methode ist Bestandteil eines Programms zur Lösung von Differentialgleichungen und deren grafischer Darstellung. Sie selektiert ein mit der Maus markiertes Segment des Lösungsgrafen mit dem Zweck, die für diesen Punkt gültigen Funktionswerte zusätzlich zur Skalierung der Koordinaten zu berechnen und anzuzeigen.
using System.Collections.Generic;
using System.Windows;
using System.Windows.Shapes;

namespace Arbeitsblatt_Version_2
{
    class Segmente_Abfrage
    {
        public Point Pnt { get; }
        public List<Line> Segmente { get; }     
        public Segmente_Abfrage(Point pnt, List<Line> segmente)
        {
            Pnt = pnt; // Mit Ereignis MouseLeftButtonDown übergebener Punkt.
            Segmente = segmente; // Liste der Grafensegmente.
        }
        public bool Treffer()
        {
            for (int i = 0; i < Segmente.Count; i++)
            {
                if (Pnt.X >= Segmente[i].X1 && Pnt.X <= Segmente[i].X2)
                { // Suche der X-Koordinaten des Segments über oder unter Pnt.X
                    if (Segmente[i].IsMouseOver)
                    { // Segmen wurde getroffen.
                        return true;
                    }
                }
            }
            return false; // Segmen wurde nicht getroffen.
        }
    }
}
using System.Collections.Generic;
using System.Windows;
using System.Windows.Shapes;

namespace Arbeitsblatt_Version_2
{
    class Segmente_Abfrage
    {
        public Point Pnt { get; }
        public List<Line> Segmente { get; }     
        public Segmente_Abfrage(Point pnt, List<Line> segmente)
        {
            Pnt = pnt; // Mit Ereignis MouseLeftButtonDown übergebener Punkt.
            Segmente = segmente; // Liste der Grafensegmente.
        }
        public bool Treffer()
        {
            for (int i = 0; i < Segmente.Count; i++)
            {
                if (Pnt.X >= Segmente[i].X1 && Pnt.X <= Segmente[i].X2)
                { // Suche der X-Koordinaten des Segments über oder unter Pnt.X
                    if (Segmente[i].IsMouseOver)
                    { // Segmen wurde getroffen.
                        return true;
                    }
                }
            }
            return false; // Segmen wurde nicht getroffen.
        }
    }
}