Package pi.physics

Class FixtureBuilder

java.lang.Object
pi.physics.FixtureBuilder

public final class FixtureBuilder extends Object
Eine Sammlungen von statischen Methoden, die verschiedene Halterungen (englisch Fixture) für verschieden geformte Actor-Objekte erstellen.

Halterungen werden verwendet, um die Größe, Form und Materialeigenschaften eines Objekts in der Physikszene zu beschreiben.

  • Method Details

    • rectangle

      public static FixtureData rectangle(double width, double height)
      Erstellt eine einfache rechteckige Form. Einfach bedeutet: Sie beginnt immer bei (0|0) und die Breite und die Höhe ist parallel zu den Koordinatenachsen.
      Parameters:
      width - Die Breite der rechteckigen Form in Meter.
      height - Die Höhe der rechteckigen Form in Meter.
    • circle

      public static FixtureData circle(double mx, double my, double radius)
      Erschafft eine kreisförmige Form.
      Parameters:
      mx - Der Mittelpunkt des Kreises, X-Koordinate.
      my - Der Mittelpunkt des Kreises, Y-Koordinate.
      radius - Der Radius des Kreises.
    • ellipse

      public static FixtureData ellipse(double width, double height)
      Erstellt eine elliptische Form als polygonale Näherung.

      JBox2D unterstützt keine echte Ellipsenform. Deshalb wird eine Ellipse mit 8 Punkten angenähert und im Begrenzungsrechteck zentriert.

      Parameters:
      width - Die Breite der Ellipse in Meter.
      height - Die Höhe der Ellipse in Meter.
      Returns:
      Eine Halterung, die die Ellipse annähert.
      Since:
      0.53.0
    • ellipse

      public static FixtureData ellipse(double width, double height, int points)
      Erstellt eine elliptische Form als polygonale Näherung.

      JBox2D unterstützt keine echte Ellipsenform. Deshalb wird eine Ellipse mit einer frei wählbaren Anzahl an Punkten angenähert und im Begrenzungsrechteck zentriert.

      Parameters:
      width - Die Breite der Ellipse in Meter.
      height - Die Höhe der Ellipse in Meter.
      points - Die Anzahl der Polygonpunkte. Der Wert muss mindestens 3 betragen.
      Returns:
      Eine Halterung, die die Ellipse annähert.
      Throws:
      IllegalArgumentException - Wenn points kleiner als 3 oder größer als Settings.maxPolygonVertices ist.
      Since:
      0.53.0
    • line

      public static FixtureData line(Vector point1, Vector point2)
      Erstellt die Umrissdaten, die eine Linie bzw. eine Kante zwischen zwei Punkten darstellen.
      Parameters:
      point1 - Der erste Punkt der Linie als Vektor.
      point2 - Der zweite Punkt der Linie als Vektor.
      Returns:
      Eine Umrissdaten, die die Linie repräsentiert.
      Since:
      0.36.0
    • polygon

      public static FixtureData polygon(Vector... points)
      Erstellt eine polygonale Form.

      Die Methode kann nur konvexe Formen erstellen. Konkave Formen werden automatisch zur umspannenden konvexen Form formatiert.

      Parameters:
      points - Eine Reihe an Punkten, die nacheinander diese Form beschreiben (mindestens 3 Punkte).
    • axisParallelRectangular

      public static Shape axisParallelRectangular(double sx, double sy, double width, double height)
      Erstellt eine rechteckige Form, die parallel zu den Koordinatenachsen läuft.
      Parameters:
      sx - Die x-Koordinate der linken unteren Ecke.
      sy - Die y-Koordinate der linken unteren Ecke.
      width - Breite der rechteckigen Form.
      height - Höhe der rechteckigen Form.
    • fromString

      public static Supplier<List<FixtureData>> fromString(String code)
      Erstellt einen Supplier für Halterungen (Fixture) basierend auf einer Zeichenkette.
      Parameters:
      code - Eine Minisprache, die die Halterung definiert. Alle Werte sind in der Einheit Meter anzugeben. Die Koordinatenangaben beziehen sich dabei auf den Ankerpunkt der Figur links unten.
      • Die Formen werden getrennt durch "&"
      • Rechteck: R0.5,0.5,4,5 Rechteck mit Startpunkt (0.5|0.5), Breite 4 Meter, Höhe 5 Meter
      • Polygon: P4,4,5,5,1,2 Polygon mit drei Punkten: (4|4), (5|5), (1|2)
      • Kreis: C1,1,4 Kreis mit Mittelpunkt (1|1) und Radius 4
      See Also: