|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object
|
+--gishur.x.XObject
|
+--gishur.x.XPolyline
Ein Polygonzug.
| Constructor Summary | |
XPolyline()
Leerer Konstruktor. |
|
XPolyline(SimpleList L)
Konstruiert ein Polygon aus der Liste L mit XPoint-, XSegment- und XRay-Objekten. |
|
XPolyline(XPoint[] points)
Konstruiert ein XPolygon mit dem Punktarray points. |
|
XPolyline(XPolyline pol)
Copy-Konstruktor. |
|
| Method Summary | |
void |
add(double x,
double y)
Fügt einen Punkt an. |
void |
add(XPoint point)
Fügt einen Punkt an. |
XSegment |
borderSegment(int i)
Liefert das Randsegment Nummer i. |
boolean |
checkSimplicity(int i)
Überprüft, ob es in der Kette einen Schnitt mit einer mit Punkt Nummer i inzidierenden Kante gibt und somit die Einfachheit verletzt wird. |
boolean |
checkSimplicity(XPoint p)
Wie checkSimplicity(int), nur wird vorher noch der Punkt gesucht. |
double |
circumference()
Berechnet den Umfang der Polygonkette, besser: die Länge. |
void |
clear()
Löscht alle Polygonpunkte. |
java.lang.Object |
clone()
Überschreibt Object.clone(). |
XPoint |
closestPoint(XPoint p)
Liefert einen Punkt auf dem Rand der Polyline, der am nächsten am Punkt p liegt. |
boolean |
contains(double x,
double y)
Liefert true, falls das Objekt den Punkt (x,y) enthält, d.h. der Schnitt mit dem Punkt nicht leer ist. |
boolean |
convex()
Liefert true, falls die Polygonkette konvex ist. |
XPolyline |
copy(XPoint p1,
XPoint p2)
Schneidet eine Polygonkette aus einem polygonalen Objekt in Umlaufordnung von Punkt 1 bis Punkt 2. |
void |
copy(XPolyline pol)
Copy-Routine übernimmt Daten von anderen Objekten. |
int |
countBorderSegments()
Liefert die Anzahl der Randsegmente. |
void |
cycle(int i)
Verschiebt die Polygonpunkte zyklisch so, daß Punkt Nr. i nun Punkt Nr. 0 ist. |
boolean |
empty()
Liefert true, falls das unbeschränkte Polygon leer (oder alles) ist. |
boolean |
equals(java.lang.Object O)
Überschreibt Object.equals(Object) |
int |
findBorderIndex(int pointindex,
boolean start)
Sucht das Randelement, das mit dem Punkt mit Index pointindex beginnt, falls start==true bzw. endet, falls start==false. |
int |
findPoint(XPoint p)
Sucht einen gleichen Punkt zu p im Polygon und liefert dessen Index. |
int |
findPoint(XPoint p,
int i)
Sucht einen gleichen Punkt zu p im Polygon und liefert dessen Index. |
XPoint[] |
getMinMaxPoints()
Liefert die Extrempunkte eines kleinsten umschließenden Rechteckes, also den Punkt mit den Minimum der X- und Y-Koordinaten und den Punkt mit dem Maximum der X- und Y-Koordinaten. |
SimpleList |
getSegmentList()
Liefert die Segmentliste der Polygonkette. |
int |
indexOf(XPoint p)
Liefert den Index des Punktes p. p sollte eine Referenz auf ein im Polygon gespeichertes XPoint-Objekt sein. |
void |
insert(double x,
double y,
int i)
Fügt einen Punkt vor der Stelle i ein. |
void |
insert(XPoint point,
int i)
Fügt einen Punkt vor der Stelle i ein. |
Intersection |
intersection(java.lang.Object O)
Schneidet dieses Objekt mit dem Objekt O und liefert ein entsprechendes Intersection-Objekt. |
boolean |
kinkPoint(int i,
byte orientation)
Testet, ob die Ecke mit Index i einen "Knick" in Richtung orientation macht. |
int |
length()
Liefert die Anzahl der Punkte der Polygonkette. |
int |
liesOn(XPoint p)
Sucht das erste borderSegment, auf dem der Punkt p liegt und liefert dessen Index oder -1, falls der Punkt nicht auf dem Rand liegt. |
XLine |
line(int i)
Liefert eine Gerade durch den i-ten und (i+1)-ten Punkt der Kette. |
XPoint |
point(int i)
Liefert den Punkt mit Nummer i. |
void |
remove(int i)
Entfernt den Punkt mit Index i aus dem Polygon. |
void |
reverse()
Kehrt die Polygonkette um. |
void |
rotate(XPoint center,
double angle)
Dreht das Objekt um den Punkt center mit dem Winkel angle. |
void |
rotate(XPoint center,
XPoint start,
XPoint end)
Dreht das Objekt um den Punkt center mit dem Winkel start-center-end. |
void |
scale(XPoint center,
double xscale,
double yscale)
Skaliert das Objekt mit xscale und yscale so, daß der Punkt middle davon unberührt bleibt. |
XSegment |
segment(int i)
Liefert das Segment vom i-ten bis zum (i+1)ten Punkt. |
void |
set(SimpleList L)
Übernimmt die Polygonkettenpunkte aus der Liste L. |
void |
set(XPoint[] points)
Setzt die Polygonkette auf die Punkte im Punktarray points. |
void |
setPoint(XPoint p,
int i)
Setzt den Punkt Nr. i auf p. |
boolean |
simple()
Test, ob die Polygonkette einfach ist. |
boolean |
supportsIntersection(java.lang.Object O)
Liefert true, falls diese Klasse den Schnitt mit dem übergebenen Objekt unterstützt. |
java.lang.String |
toString()
Überschreibt Object.toString(). |
java.lang.String |
toString(boolean length,
boolean points)
Liefert einen String mit Angaben über das Objekt. |
XObject |
transform_XObject(double m00,
double m01,
double m02,
double m10,
double m11,
double m12)
Transforms this XObject by the given affine
transformation matrix. |
void |
transform(double m00,
double m01,
double m02,
double m10,
double m11,
double m12)
Transformiert das Objekt mit der übergebenen Transformationsmatrix. |
void |
translate(double dx,
double dy)
Verschiebt das Objekt um den Vektor (dx,dy). |
| Methods inherited from class gishur.x.XObject |
copy, getMutable, inverseTransform_XObject, mutable, restoreMutability, rotate_XObject, scale_XObject, transform_XObject, translate_XObject, translate_XObject |
| Methods inherited from class java.lang.Object |
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public XPolyline()
public XPolyline(XPoint[] points)
points - Punktlistepublic XPolyline(SimpleList L)
L - Liste mit Punktdaten.set(gishur.x.XPoint[])public XPolyline(XPolyline pol)
l - Objekt, von dem Daten übernommen werden| Method Detail |
public void copy(XPolyline pol)
l - Objekt, von dem Daten übernommen werdenpublic java.lang.Object clone()
clone in interface Cloneableclone in class XObjectObject.clone()
public java.lang.String toString(boolean length,
boolean points)
length - Längeninformationen enthaltenpoints - Punktinformationen enthaltenpublic java.lang.String toString()
toString in class XObjectObject.toString()public boolean equals(java.lang.Object O)
equals in class java.lang.ObjectO - Objekt, mit dem verglichen werden sollObject.equals(java.lang.Object)public XPoint point(int i)
i - Indexpublic int length()
public SimpleList getSegmentList()
public int indexOf(XPoint p)
p - Punkt aus dem Polygon
public int findPoint(XPoint p,
int i)
p - Vergleichspunkti - Index, ab dem gesucht wirdpublic int findPoint(XPoint p)
p - Vergleichspunktpublic boolean empty()
public XLine line(int i)
i - Index für die gewünschte Geradepublic XSegment segment(int i)
i - Indexpublic int countBorderSegments()
public XSegment borderSegment(int i)
i - Index des gewünschten Randelements
public int findBorderIndex(int pointindex,
boolean start)
pointindex - Index des Polygonpunktesstart - falls true wird Randelement zurückgegeben, das mit pointindex
beginnt; falls false jenes, das mit pointindex endetpublic XPoint[] getMinMaxPoints()
public void clear()
public void set(XPoint[] points)
points - Punktlistepublic void set(SimpleList L)
L - Liste mit Punktdaten
public void add(double x,
double y)
x - X-Koordinate des neuen Punktesy - Y-Koordinate des neuen Punktespublic void add(XPoint point)
point - neuer Punkt
public void insert(double x,
double y,
int i)
x - X-Koordinate des neuen Punktesy - Y-Koordinate des neuen Punktesi - Index, vor dem eingefügt werden soll
public void insert(XPoint point,
int i)
point - neuer Punkti - Index, vor dem eingefügt werden sollpublic void remove(int i)
i - Index des zu löschenden Punktes
public void setPoint(XPoint p,
int i)
p - neuer Punkti - Indexpublic void reverse()
public void cycle(int i)
i - Index des neuen Startpunktespublic double circumference()
public boolean simple()
public boolean checkSimplicity(int i)
i - Index des Punktespublic boolean checkSimplicity(XPoint p)
p - Punkt, an dessen Stelle Einfachheit überprüft werden sollpublic boolean convex()
public int liesOn(XPoint p)
p - zu suchender Punktpublic XPoint closestPoint(XPoint p)
p - Punkt, zu dem der nächste Randpunkt gesucht wird
public boolean kinkPoint(int i,
byte orientation)
i - Index des Punktesorientation - Richtung des Knicks
public XPolyline copy(XPoint p1,
XPoint p2)
p1 - erster Punkt der polygonalen Kettep2 - zweiter Punkt der polygonalen Kette
public boolean contains(double x,
double y)
contains in interface Intersectablex,y - Koordinaten des Punktespublic boolean supportsIntersection(java.lang.Object O)
supportsIntersection in interface IntersectableO - zu schneidendes Objektpublic Intersection intersection(java.lang.Object O)
intersection in interface IntersectableO - zu schneidendes ObjektIntersectionException - falls der Schnitt nicht
durchgeführt werden konnte.
public void transform(double m00,
double m01,
double m02,
double m10,
double m11,
double m12)
transform in interface AffineXTransformablem00,m01,m02 - erste Zeile der Transformationsmatrixm10,m11,m12 - zweite Zeile der Transformationsmatrix
public void scale(XPoint center,
double xscale,
double yscale)
scale in interface AffineXTransformablemiddle - Mittelpunkt, der nicht verschoben werden sollxscale - Skalierung der X-Achseyscale - Skalierung der Y-Achse
public void rotate(XPoint center,
double angle)
rotate in interface AffineXTransformablecenter - Drehpunktangle - Drehwinkel
public void rotate(XPoint center,
XPoint start,
XPoint end)
rotate in interface AffineXTransformablecenter - Drehpunkt_source - Startpunktend - Endpunkt
public void translate(double dx,
double dy)
translate in interface AffineXTransformable(dx,dy) - Verschiebungsvektor
public XObject transform_XObject(double m00,
double m01,
double m02,
double m10,
double m11,
double m12)
this XObject by the given affine
transformation matrix.transform_XObject in class XObjectm00,m01,m02 - first row of the transformation matrixm10,m11,m12 - second row of the transformation matrixthis, only if it is
mutable, otherwise a new XObject represeting the transformed object).
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||