Package pi.actor

Class Line

All Implemented Interfaces:
FrameListenerRegistration, KeyStrokeListenerRegistration, MouseClickListenerRegistration, MouseScrollListenerRegistration
Direct Known Subclasses:
LabeledEdge

public class Line extends Actor
Eine Linie zwischen zwei Endpunkten.
Since:
0.36.0
Author:
Josef Friedrich
  • Field Details

    • end1

      public final Line.End end1
      Das Linenende bei Endpunkt 1.
    • end2

      public final Line.End end2
      Das Linienende bei Endpunkt 2.
  • Constructor Details

    • Line

      public Line()
      Erstellt eine neue Linie mit zwei Endpunkten an den Koordinaten (0|0) und (1|1).
      Since:
      0.47.0
    • Line

      public Line(double x1, double y1, double x2, double y2)
      Erstellt eine neue Linie mit den angegebenen Koordinaten der zwei Endpunkte.
      Parameters:
      x1 - Die x-Koordinate des ersten Endpunkts.
      y1 - Die y-Koordinate des ersten Endpunkts.
      x2 - Die x-Koordinate des zweiten Endpunkts.
      y2 - Die y-Koordinate des zweiten Endpunkts.
    • Line

      public Line(Vector end1, Vector end2)
      Erstellt eine neue Linie zwischen zwei Endpunkten als Vektoren.
      Parameters:
      end1 - Der erste Endpunkt der Linie als Vektor.
      end2 - Der zweite Endpunkt der Linie als Vektor.
  • Method Details

    • end1

      @API @Getter public Vector end1()
      Gibt ersten Endpunkt der Linie zurück.
      Returns:
      Der ersten Endpunkt der Linie.
    • end1

      @API @Setter @ChainableMethod public Line end1(Vector end1)
      Setzt den ersten Endpunkt der Linie.
      Parameters:
      end1 - Der neue erste Endpunkt als Vector.
      Returns:
      diese Line Instanz für Method Chaining
    • end2

      @API @Getter public Vector end2()
      Gibt zweiten Endpunkt der Linie zurück.
      Returns:
      Der zweiten Endpunkt der Linie.
    • end2

      @API @Setter @ChainableMethod public Line end2(Vector end2)
      Setzt den zweiten Endpunkt der Linie.
      Parameters:
      end2 - Der neue zweite Endpunkt als Vector.
      Returns:
      diese Line Instanz für Method Chaining
    • strokeWidth

      @API @Getter public double strokeWidth()
      Gibt die Dicke der Linie in Meter.

      Der voreingestellt Standardwert beträgt 0.125 Meter.

    • strokeWidth

      @API @Setter @ChainableMethod public Line strokeWidth(double strokeWidth)
      Setzt die Dicke der Linie in Meter.

      Der voreingestellt Standardwert beträgt 0.125 Meter.

      Parameters:
      strokeWidth - Die Dicke der Linie in Meter.
    • rounded

      @API @Getter public boolean rounded()
      Gibt zurück, ob die Enden der Linie abgerundet dargestellt werden.
      Returns:
      true, wenn die Linienenden abgerundet sind, andernfalls false
      Since:
      0.45.0
    • rounded

      @API @Setter @ChainableMethod public Line rounded(boolean rounded)
      Legt fest, ob die Linie mit abgerundeten Enden dargestellt wird.

      Ist rounded true, wird der Linienabschluss automatisch auf Line.Cap.ROUND gesetzt.

      Parameters:
      rounded - true für abgerundete Linienenden, sonst false
      Returns:
      diese Line-Instanz zur Verkettung weiterer Aufrufe
      Since:
      0.45.0
    • cap

      @API @Getter public Line.Cap cap()
      Gibt den Linienabschluss zurück.

      Wenn ein Linienabschluss gesetzt wurde, wird dieser zurückgegeben. Andernfalls wird Line.Cap.ROUND zurückgegeben, falls die Linie abgerundet ist, oder Line.Cap.BUTT, falls keine Abrundung vorliegt.

      Returns:
      Den Linienabschluss.
      Since:
      0.45.0
    • cap

      Setzt den Linienabschluss.
      Parameters:
      cap - Der Linienabschluss
      Returns:
      diese Instanz zur Verkettung von Methodenaufrufen.
      Since:
      0.45.0
    • dashed

      @API @Getter public boolean dashed()
      Gibt an, ob die Linie gestrichelt oder durchgezogen gezeichnet wird.
      Returns:
      Ob die Linie gestrichelt oder durchgezogen gezeichnet wird.
    • dashed

      @API @Setter @ChainableMethod public Line dashed(boolean dashed)
      Setzt, ob eine gestrichelte Linie gezeichnet werden soll oder nicht.
      Parameters:
      dashed - Die Dicke der Linie in Meter.
    • dashPattern

      public double[] dashPattern()
    • dashPattern

      @API @Setter @ChainableMethod public Line dashPattern(double... dashPattern)
      Legt das Strichmuster für die Darstellung dieser Linie fest.

      Die übergebenen Werte definieren abwechselnd sichtbare und ausgelassene Abschnittslängen (z. B. 5, 3 für 5 Einheiten Strich, 3 Einheiten Lücke).

      Parameters:
      dashPattern - Ein Strichmuster als Folge von Abschnittslängen.
      Returns:
      diese Line-Instanz zur Verkettung weiterer Aufrufe (Fluent API)
      Since:
      0.45.0
    • offset

      @API @Setter @ChainableMethod public double offset()
      Gibt den Versatz beider Linienenden in Richtung des gegenüberliegenden Punkts in Meter zurück. Dieser Versatz ist beispielsweise nützlich, um Kanten zwischen Knoten einzuzeichnen. Werden die Knoten als Kreise dargestellt, kann der Radius der Knoten als Versatz verwendet werden.
      Returns:
      Der Versatz beider Linienende in Richtung des gegenüberliegenden Punkts in Meter.
      Throws:
      RuntimeException - Falls die beiden Linienenden einen unterschiedlichen Versatz haben.
    • offset

      @API @Setter @ChainableMethod public Line offset(double offset)
      Setzt den Versatz beider Linienenden in Richtung des gegenüberliegenden Punkts in Meter. Dieser Versatz ist beispielsweise nützlich, um Kanten zwischen Knoten einzuzeichnen. Werden die Knoten als Kreise dargestellt, kann der Radius der Knoten als Versatz verwendet werden.
      Parameters:
      offset - Der Versatz beider Linienenden in Richtung des gegenüberliegenden Punkts in Meter.
    • update

      public void update()
      Description copied from class: Actor
      Aktualisiert die Attribute einer Figur.

      Die Methode kann von abgeleiteten Klassen überschrieben werden. Manche Figuren benötigen eine Aktualisierung, wenn Attribute gesetzt werden. Wenn beispielsweise bei der Text-Figur die Schriftart geändert wird, müssen auch Breite und Höhe angepasst werden. Somit ist sichergestellt, dass die Methoden zum Aktualisieren von Attributen bei allen Figur-Unterklassen den gleichen Namen haben.

      Overrides:
      update in class Actor