Package pi
Record Class Bounds
java.lang.Object
java.lang.Record
pi.Bounds
- Record Components:
x- Diex-Koordinate der unteren linken Ecke des Rechtecks.y- Diey-Koordinate der unteren linken Ecke des Rechtecks.width- Die Breite des Rechtecks.height- Die Höhe des Rechtecks.
Ein nicht-grafisches Rechteck auf der Zeichenebene, das eine
allgemeine Fläche beschreibt.
- Author:
- Michael Andonie, Josef Friedrich
-
Constructor Summary
ConstructorsConstructorDescriptionBounds(double x, double y, double width, double height) Creates an instance of aBoundsrecord class. -
Method Summary
Modifier and TypeMethodDescriptionabove(double lowerBound) Berechnet, ob dieses Rechteck über einer Grenze liegt und wenn nicht, dann berechnet es eines, das gerade so an der Untergrenze liegt.booleanBerechnet, ob diesesBoundsoberhalb eines zweiten ist.atPosition(double realX, double realY) Gibt ein neuesBoundsmit selber Höhe und Breite, jedoch einer bestimmten, zu definierenden Position.
Diese Position ist die der linken unteren Ecke des BoundingRechtecks.below(double upperBound) Berechnet, ob dieses Rechteck unter einer Grenze liegt, und wenn nicht, dann berechnet es eines, das gerade so an der Obergrenze liegt.center()Berechnet den Mittelpunkt diesesBounds-Rechtecks in der Zeichenebene.clone()Erstellt einen Klon von diesemBounds.booleanDiese Methoden prüft, ob diesesBounds-Rechteck ein zweites vollkommen enthält.
Gemeinsame Ränder zählen AUCH als umschliessen!booleanTestet, ob ein Punkt sich in demBoundsbefindet.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.doubleheight()Gibt die Höhe aus.leftOf(double border) Berechnet, ob dieses Rechteck links von einer bestimmten Grenze liegt, und wenn nicht, dann berechnet es eines, das gerade so an der rechten Extremgrenze liegt.Berechnet ein neuesBoundsmit denselben Maßen wie dieses, jedoch um einen bestimmten Vector verschoben.Vector[]points()Berechnet die vier Eckpunkte des umfassendenBounds.position()Gibt die exakte Position der linken unteren Ecke diesesBounds-Rechtecks aus.rightOf(double border) Berechnet, ob dieses Rechteck rechts von einer bestimmten Grenze liegt, und wenn nicht, dann berechnet es eines, das gerade so an der linken Extremgrenze liegt.smallestCommon(Bounds bounds) Berechnet aus diesem und einem weiterenBoundsein neues, dass die beiden genau fasst.toString()Returns a string representation of this record class.doublewidth()Gibt die Breite aus.withCenterAtBoundsCenter(Bounds bounds) Gleicht das eigene Zentrum mit der Mitte eines anderenBoundsab.withCenterPoint(Vector point) Gibt ein neuesBoundsmit derselben Höhe und Breite zurück, das seinen Mittelpunkt genau im angegebenen Zentrum hat.doublex()Gibt die X-Koordinate der unteren linken Ecke aus.doublexLeft()Die x-Koordinate der linken Ecken.doublexRight()Die x-Koordinate der rechten Ecken.doubley()Gibt die Y-Koordinate der unteren linken Ecke aus.doubleyBottom()Die y-Koordinate der untern Ecken.doubleyTop()Die y-Koordinate der oberen Ecken.
-
Constructor Details
-
Bounds
public Bounds(double x, double y, double width, double height) Creates an instance of aBoundsrecord class.
-
-
Method Details
-
withCenterAtBoundsCenter
Gleicht das eigene Zentrum mit der Mitte eines anderenBoundsab.- Parameters:
bounds- DasBounds, an dessen Mitte auch die Mitte dieses Rechtecks angeglichen werden soll.
-
withCenterPoint
Gibt ein neuesBoundsmit derselben Höhe und Breite zurück, das seinen Mittelpunkt genau im angegebenen Zentrum hat. -
center
Berechnet den Mittelpunkt diesesBounds-Rechtecks in der Zeichenebene.- Returns:
- Der Punkt mit den Koordinaten, der im Zentrum des Rechtecks liegt.
-
moveBy
Berechnet ein neuesBoundsmit denselben Maßen wie dieses, jedoch um einen bestimmten Vector verschoben.- Parameters:
v- Der Vector, der die Verschiebung des neuen Objektes von diesem beschreibt.- Returns:
- Ein neues
Bounds-Objekt, das dieselben Maße wie dieses hat, jedoch um die entsprechende Verschiebung verschoben ist.
-
smallestCommon
Berechnet aus diesem und einem weiterenBoundsein neues, dass die beiden genau fasst.- Parameters:
bounds- Das zweite Rechteck für die Berechnung- Returns:
- Ein neues
Bounds, dass die beiden Rechtecke genau umfasst.
-
above
Berechnet, ob dieses Rechteck über einer Grenze liegt und wenn nicht, dann berechnet es eines, das gerade so an der Untergrenze liegt.- Parameters:
lowerBound- Die Grenze, auf der das Ergebnis maximal liegen darf.- Returns:
- Ein
Boundsderselben Höhe und Breite wie dieses, das in jedem Fall über, oder auf der Grenze liegt, wenn es passt, ist esthis.
-
below
Berechnet, ob dieses Rechteck unter einer Grenze liegt, und wenn nicht, dann berechnet es eines, das gerade so an der Obergrenze liegt.- Parameters:
upperBound- Die Grenze, auf der das Ergebnis maximal liegen darf.- Returns:
- Ein
Boundsderselben Höhe und Breite wie dieses, das in jedem Fall unter oder auf der Grenze liegt, wenn es passt, ist esthis.
-
rightOf
Berechnet, ob dieses Rechteck rechts von einer bestimmten Grenze liegt, und wenn nicht, dann berechnet es eines, das gerade so an der linken Extremgrenze liegt.- Parameters:
border- Der Wert, den das Ergebnisrechteck maximal links sein darf- Returns:
- Ein
Boundsderselben Höhe und Breite, das in jedem rechts jenseits oder auf der Grenze liegt.
Wenn diese Eigenschaften bereits von diesem Objekt erfüllt werden, so wirdthiszurückgegeben.
-
leftOf
Berechnet, ob dieses Rechteck links von einer bestimmten Grenze liegt, und wenn nicht, dann berechnet es eines, das gerade so an der rechten Extremgrenze liegt.- Parameters:
border- Der Wert, den das Ergebnisrechteck maximal rechts sein darf- Returns:
- Ein
Boundsderselben Höhe und Breite, das in jedem Fall links jenseits oder auf der Grenze liegt.
Wenn diese Eigenschaften bereits von diesem Objekt erfüllt werden, so wirdthiszurückgegeben.
-
atPosition
Gibt ein neuesBoundsmit selber Höhe und Breite, jedoch einer bestimmten, zu definierenden Position.
Diese Position ist die der linken unteren Ecke des BoundingRechtecks.- Parameters:
realX- Die X-Koordinate der linken unteren Ecke des BoundingRechtecksrealY- Die Y-Koordinate der linken unteren Ecke des BoundingRechtecks- Returns:
- Ein neues
Boundsmit der eingegebenen Position und derselben Breite und Höhe.
-
contains
Testet, ob ein Punkt sich in demBoundsbefindet.- Parameters:
v- Der Punkt, der getestet werden soll- Returns:
- true, wenn der Punkt in dem
Boundsist
-
points
Berechnet die vier Eckpunkte des umfassendenBounds.- Returns:
- Array mit den vier Eckpunkten des umfassenden
Bounds.
-
contains
Diese Methoden prüft, ob diesesBounds-Rechteck ein zweites vollkommen enthält.
Gemeinsame Ränder zählen AUCH als umschliessen! -
above
Berechnet, ob diesesBoundsoberhalb eines zweiten ist.- Parameters:
r- Das Rechteck, bei dem dies getestet werden soll- Returns:
wahr, wenn dieses Rechteck rechts von dem anderen ist, sonstfalsch.
-
in
Sollte diesesBounds-Rechteck nicht voll innerhalb eines bestimmten anderen, äußeren Rechtecks liegen, so wird versucht, diesesBounds-Rechteck in das andere mit möglichst wenig Verschiebung zu bringen. Diese Methode wird intern für die Beschränkung des Kamera-Bereiches genutzt.Achtung: Voraussetzung dafür, dass dieser Algorithmus Sinn macht ist, dass das äußere Rechteck ausreichend größer als dieses ist!- Parameters:
outer- Das äußere Rechteck, innerhalb dessen sich das Ergebnis-Rechteck befinden wird (sollte das äußere ausreichend groß sein).- Returns:
- Das Ergebnis-Rechteck, das sich im äußeren Rechteck befinden wird.
-
clone
Erstellt einen Klon von diesemBounds. -
x
Gibt die X-Koordinate der unteren linken Ecke aus.- Returns:
- Die X-Koordinate der unteren linken Ecke dieses BoundingRechtecks.
- See Also:
-
()()()
-
xLeft
Die x-Koordinate der linken Ecken.Dieser Wert entspricht
x().- Since:
- 0.42.0
-
xRight
- Since:
- 0.42.0
-
y
Gibt die Y-Koordinate der unteren linken Ecke aus.- Returns:
- Die Y-Koordinate der unteren linken Ecke dieses
Bounds-Rechtecks. - See Also:
-
()()()
-
yTop
- Since:
- 0.42.0
-
yBottom
Die y-Koordinate der untern Ecken.Dieser Wert entspricht
y()- Since:
- 0.42.0
-
width
Gibt die Breite aus. -
height
Gibt die Höhe aus. -
position
Gibt die exakte Position der linken unteren Ecke diesesBounds-Rechtecks aus.- Returns:
- die Position des
Bounds-Rechtecks, beschrieben durch den Punkt der linken unteren Ecke dieses Objekts.
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with '=='.
-