Package graph

Class Kante

  • All Implemented Interfaces:
    Comparable<GraphElement>

    public class Kante
    extends GraphElement
    Die Klasse Kante beschreibt die Datenstruktur einer Kante, bestehend aus Startknoten, Gewicht und Zielknoten. Da Kanten innerhalb von Adjazenzlisten und -Matrizen repraesentiert werden, ist diese Klasse eigentlich unnoetig! Sie wurde zum Zweck der Vereinfachung - sozusagen als Zwischenspeicher von Kanten - eingefuehrt. Auch soll sie das Kantengewicht verwalten und Aufschluss darueber geben, ob sie gefaerbt/geloescht ist oder nicht.
    Version:
    22.07.2020 (v6.4)
    Author:
    Dirk Zechnall, Thomas Schaller
    • Constructor Summary

      Constructors 
      Constructor Description
      Kante​(Knoten neuerStart, Knoten neuerZiel, double neuesGewicht)
      Der Konstruktor erstellt eine neue Kante mit Start- und Zielknoten und Kantengewicht.
    • Constructor Detail

      • Kante

        public Kante​(Knoten neuerStart,
                     Knoten neuerZiel,
                     double neuesGewicht)
        Der Konstruktor erstellt eine neue Kante mit Start- und Zielknoten und Kantengewicht. Die Kante ist zu Beginn ungefaerbt.
        Parameters:
        neuerStart - Der neue Startknoten
        neuerZiel - Der neue Zielknoten
        neuesGewicht - Das neue Kantengewicht
    • Method Detail

      • init

        protected void init()
        Die Methode init initialisiert die Kantenfaerbung (auf unmarkiert)
      • setStatus

        public void setStatus​(String status)
        Setzt den Status einer Kante, der in einem String gespeichert ist. Form: markiert,geloescht,farbe Dabei sind markiert und geloescht boolsche Werte (0 = false, 1 = true) und die farbe eine Zahl
        Specified by:
        setStatus in class GraphElement
        Parameters:
        status - Statusstring
      • getStatus

        public String getStatus()
        Liefert den Status einer Kante als String. Form: markiert,geloescht,farbe Dabei sind markiert und geloescht boolsche Werte (0 = false, 1 = true) und die farbe eine Zahl
        Specified by:
        getStatus in class GraphElement
        Returns:
        Statusstring
      • setGewicht

        public void setGewicht​(double neuesGewicht)
        Setzt das Gewicht der Kante
        Parameters:
        neuesGewicht - Das neu zu setzende Gewicht
      • getGewicht

        public double getGewicht()
        Gibt das Gewicht der Kante zurueck
        Returns:
        Gewicht der Kante
      • setStart

        public void setStart​(Knoten neuerSatrtKnoten)
        Setzt den Startknoten der Kante
        Parameters:
        neuerSatrtKnoten - Der neu zu setzende Startknoten
      • getStart

        public Knoten getStart()
        Gibt den Startknoten der Kante zurueck
        Returns:
        Startknoten
      • setZiel

        public void setZiel​(Knoten neuerZielKnoten)
        Setzt den Zielknoten der Kante
        Parameters:
        neuerZielKnoten - Der neu zu setzende Zielknoten
      • getZiel

        public Knoten getZiel()
        Gibt den Zielknoten der Kante zurueck
        Returns:
        Zielknoten
      • getAnderesEnde

        public Knoten getAnderesEnde​(Knoten k)
        Gibt Knoten am anderen Ende der Kante zurueck
        Parameters:
        k - Knoten am ersten Ende der Kante
        Returns:
        Knoten am anderen Ende
      • setMarkiert

        public void setMarkiert​(boolean wert)
        Setzt das markiert-Attribut der Kante
        Parameters:
        wert - Der neu zu setzende markiert-Wert
      • isMarkiert

        public boolean isMarkiert()
        Gibt zurück, ob die Kanten markiert ist
        Returns:
        markiert?
      • setGeloescht

        public void setGeloescht​(boolean wert)
        Setzt das gelöscht-Attribut der Kante
        Parameters:
        wert - Der neu zu setzende gelöscht-Wert
      • isGeloescht

        public boolean isGeloescht()
        Gibt den gelöscht-Wert der Kante zurueck
        Returns:
        gelöscht?
      • getFarbe

        public int getFarbe()
        Gibt zurueck, in welcher Farbe die Kante gezeichnet werden soll. Ist die Farbe nicht gesetzt, dann wird eine unmarkierte Kante in Farbe 1 und eine markierte in Farbe 2 gezeichnet.
        Returns:
        Nummer der Farbe
      • setFarbe

        public void setFarbe​(int farbe)
        Setzt die Farbe auf einen bestimmten Farbindex
        Parameters:
        farbe - Index der Farbe (0-19)
      • setStandardFarbe

        public void setStandardFarbe()
        Setzt die Farbe auf die Standardfarbgebung zurück
      • compareTo

        public int compareTo​(GraphElement e)
        Vergleicht die Kante mit einer anderen Kante bezüglich ihres Gewichts
        Specified by:
        compareTo in interface Comparable<GraphElement>
        Specified by:
        compareTo in class GraphElement
        Parameters:
        e - andere Kante
        Returns:
        kleiner 0 die andere Kante hat ein größeres Gewicht, größer 0 die andere Kante hat ein kleineres Gewicht, gleich 0 beides sind gleich
      • toString

        public String toString()
        Die Methode ueberschreibt die Methode toString() und gibt die String-Raepraesentation einer Kante zurueck
        Overrides:
        toString in class Object
        Returns:
        String-Raepraesentation der Kante