|
|||||||||
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 | +--gishur.x.XUPolygon
Ein unbeschränktes Polygon.
Field Summary | |
static byte |
ORIENTATION_LEFT
'Innen' liegt links von der Kette. |
static byte |
ORIENTATION_RIGHT
'Innen' liegt rechts von der Kette. |
Fields inherited from interface gishur.x.AreaIntersectable |
POINT_INSIDE, POINT_ON_EDGE, POINT_OUTSIDE |
Constructor Summary | |
XUPolygon()
Leerer Konstruktor. |
|
XUPolygon(SimpleList L)
Konstruiert ein Polygon aus der Liste L mit XPoint-, XSegment- und XRay-Objekten. |
|
XUPolygon(XPoint[] points)
Konstruiert ein XPolygon mit dem Punktarray points. |
|
XUPolygon(XUPolygon pol)
Copy-Konstruktor. |
Method Summary | |
XSegment |
borderSegment(int i)
Liefert das Randsegment Nummer i. |
java.lang.Object |
clone()
Überschreibt Object.clone(). |
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. |
void |
copy(XUPolygon pol)
Copy-Routine übernimmt Daten von anderen Objekten. |
int |
countBorderSegments()
Liefert die Anzahl der Randsegmente. |
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. |
XPolygon |
getInfiniteXPolygon()
Liefert das Schnittpolygon des unbeschränkten Polygons mit der 'unendlichen' Bounding Box. |
boolean |
in(XPoint q)
Ein Point-in-Polygon Test. |
XRay |
inRay()
Liefert den einfallenden Strahl. |
Area |
intersection(AreaIntersectable O,
boolean is_convex)
Flächenschnitt mit dem Objekt O. |
Intersection |
intersection(java.lang.Object O)
Schneidet dieses Objekt mit dem Objekt O und liefert ein entsprechendes Intersection-Objekt. |
boolean |
isAngle()
Liefert true, falls das unbeschränkte Polygon ein Winkel ist. |
boolean |
isHalfplane()
Liefert true, falls das unbeschränkte Polygon eine Halbebene ist. |
XLine |
line(int i)
Liefert eine Gerade durch den i-ten und (i+1)-ten Punkt des Polygons. |
byte |
locate(XPoint q)
Point-Location. |
byte |
orientation()
Liefert die Orientierung des unbeschränkten Polygons, also die Seite, auf der an jedem Segment (oder Strahl) 'innen' liegt. |
XRay |
outRay()
Liefert den ausfallenden Strahl. |
void |
set(SimpleList L)
Übernimmt die Polygonkettenpunkte aus der Liste L. |
void |
setInRay(XRay ray)
Setzt den einfallenden Strahl auf die Daten von ray. |
void |
setOrientation(byte orientation)
Definiert das 'Innere' des unbeschränkten Polygons neu. |
void |
setOutRay(XRay ray)
Setzt den ausfallenden Strahl auf die Daten von ray. |
boolean |
supportsIntersection(AreaIntersectable O,
boolean is_convex)
Liefert true, falls diese Klasse den Schnitt mit dem übergebenen Gebiet unterstützt. |
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 len,
boolean points,
boolean inray,
boolean outray,
boolean orientation)
Liefert einen String mit Angaben über das Objekt. |
Methods inherited from class gishur.x.XPolyline |
add, add, checkSimplicity, checkSimplicity, circumference, clear, closestPoint, convex, copy, copy, cycle, empty, findPoint, findPoint, getMinMaxPoints, getSegmentList, indexOf, insert, insert, kinkPoint, length, liesOn, point, remove, reverse, rotate, rotate, scale, segment, set, setPoint, simple, toString, transform_XObject, transform, translate |
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 |
Methods inherited from interface gishur.x.AreaIntersectable |
convex |
Field Detail |
public static final byte ORIENTATION_LEFT
public static final byte ORIENTATION_RIGHT
Constructor Detail |
public XUPolygon()
public XUPolygon(XPoint[] points)
points
- Punktlistepublic XUPolygon(SimpleList L)
L
- Liste mit Punktdaten.set(gishur.core.SimpleList)
public XUPolygon(XUPolygon pol)
l
- Objekt, von dem Daten übernommen werdenMethod Detail |
public java.lang.Object clone()
clone
in class XPolyline
Object.clone()
public java.lang.String toString(boolean len, boolean points, boolean inray, boolean outray, boolean orientation)
len
- Längeninformationen enthaltenpoints
- Punktinformationen enthalteninray
- Eingangsstrahlinformationen enthaltenoutray
- Ausgangsstrahlinformationen enthaltenorientation
- Orientierungsinformationen enthaltenpublic java.lang.String toString()
toString
in class XPolyline
Object.toString()
public boolean equals(java.lang.Object O)
equals
in class XPolyline
O
- Objekt, mit dem verglichen werden sollObject.equals(java.lang.Object)
public void copy(XUPolygon pol)
l
- Objekt, von dem Daten übernommen werdenpublic XRay inRay()
public XRay outRay()
public XLine line(int i)
line
in class XPolyline
i
- Index für die gewünschte Geradepublic int countBorderSegments()
countBorderSegments
in class XPolyline
public XSegment borderSegment(int i)
borderSegment
in class XPolyline
i
- Index des gewünschten Randelementspublic int findBorderIndex(int pointindex, boolean start)
findBorderIndex
in class XPolyline
pointindex
- Index des Polygonpunktesstart
- falls true wird Randelement zurückgegeben, das mit pointindex
beginnt; falls false jenes, das mit pointindex endetpublic void set(SimpleList L)
set
in class XPolyline
L
- Liste mit Punktdatenpublic void setInRay(XRay ray)
ray
- Strahl, dessen Daten übernommen werdenpublic void setOutRay(XRay ray)
ray
- Strahl, dessen Daten übernommen werdenpublic boolean isHalfplane()
public boolean isAngle()
public byte orientation()
public void setOrientation(byte orientation)
orientation
- neue Konstante für das Innere des unbeschränkten Polygonspublic boolean in(XPoint q)
p
- zu testender Punktlocate(gishur.x.XPoint)
public byte locate(XPoint q)
locate
in interface AreaIntersectable
p
- zu lokalisierender Punktpublic XPolygon getInfiniteXPolygon()
public boolean contains(double x, double y)
contains
in class XPolyline
x,y
- Koordinaten des Punktespublic boolean supportsIntersection(java.lang.Object O)
supportsIntersection
in class XPolyline
O
- zu schneidendes Objektpublic Intersection intersection(java.lang.Object O)
intersection
in class XPolyline
O
- zu schneidendes ObjektIntersectionException
- falls der Schnitt nicht
durchgeführt werden konnte.public boolean supportsIntersection(AreaIntersectable O, boolean is_convex)
supportsIntersection
in interface AreaIntersectable
O
- zu schneidendes Objektis_convex
- falls true, ist das Objekt O konvexpublic Area intersection(AreaIntersectable O, boolean is_convex)
intersection
in interface AreaIntersectable
O
- zu schneidendes Objektis_convex
- falls true, ist das Objekt O konvexIntersectionException
- falls der Schnitt nicht
durchgeführt werden konnte.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |