|
|||||||||
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 werdenMethod Detail |
public void copy(XPolyline pol)
l
- Objekt, von dem Daten übernommen werdenpublic java.lang.Object clone()
clone
in interface Cloneable
clone
in class XObject
Object.clone()
public java.lang.String toString(boolean length, boolean points)
length
- Längeninformationen enthaltenpoints
- Punktinformationen enthaltenpublic java.lang.String toString()
toString
in class XObject
Object.toString()
public boolean equals(java.lang.Object O)
equals
in class java.lang.Object
O
- 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 Polygonpublic 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 Randelementspublic 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 Punktdatenpublic void add(double x, double y)
x
- X-Koordinate des neuen Punktesy
- Y-Koordinate des neuen Punktespublic void add(XPoint point)
point
- neuer Punktpublic 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 sollpublic 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 Punktespublic 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 wirdpublic boolean kinkPoint(int i, byte orientation)
i
- Index des Punktesorientation
- Richtung des Knickspublic XPolyline copy(XPoint p1, XPoint p2)
p1
- erster Punkt der polygonalen Kettep2
- zweiter Punkt der polygonalen Kettepublic boolean contains(double x, double y)
contains
in interface Intersectable
x,y
- Koordinaten des Punktespublic boolean supportsIntersection(java.lang.Object O)
supportsIntersection
in interface Intersectable
O
- zu schneidendes Objektpublic Intersection intersection(java.lang.Object O)
intersection
in interface Intersectable
O
- 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 AffineXTransformable
m00,m01,m02
- erste Zeile der Transformationsmatrixm10,m11,m12
- zweite Zeile der Transformationsmatrixpublic void scale(XPoint center, double xscale, double yscale)
scale
in interface AffineXTransformable
middle
- Mittelpunkt, der nicht verschoben werden sollxscale
- Skalierung der X-Achseyscale
- Skalierung der Y-Achsepublic void rotate(XPoint center, double angle)
rotate
in interface AffineXTransformable
center
- Drehpunktangle
- Drehwinkelpublic void rotate(XPoint center, XPoint start, XPoint end)
rotate
in interface AffineXTransformable
center
- Drehpunkt_source
- Startpunktend
- Endpunktpublic void translate(double dx, double dy)
translate
in interface AffineXTransformable
(dx,dy)
- Verschiebungsvektorpublic 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 XObject
m00,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 |