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.
}
}
}
Kommentare zum Snippet