gishur.x
Class ScreenXTransformation

java.lang.Object
  |
  +--gishur.x.ScreenXTransformation
All Implemented Interfaces:
AffineTransformable, ScreenTransformation

public class ScreenXTransformation
extends java.lang.Object
implements ScreenTransformation

ScreenTransformation für die 2-dimensionalen X-Objekte. Es werden alle Skalierungsmethoden unterstützt.

Version:
1.0
Author:
Thomas Wolf

Constructor Summary
ScreenXTransformation()
          Leerer Konstruktor.
ScreenXTransformation(double m00, double m10, double m01, double m11, double m02, double m12)
          Konstruktor mit allen TransformationsParametern.
 
Method Summary
 void calculateClipBorder()
          Berechnet den Rand für das Clipping.
 XSegment clipSegment(XSegment s)
          Schneidet das Segment mit dem Clipping-Gebiet und gibt das eventuell gekürzte Segment zurück.
 SimpleList clipSegmentList(SimpleList L)
          Clippt eine Liste von Segmenten.
 SimpleList convertPolygonSegmentList2PointList(SimpleList L)
          Konvertiert die geclippte Segmentliste eines Polygons in eine Punktliste.
 boolean drawable(java.lang.Object O)
          Liefert true, falls, das Object innerhalb des darstellbaren Bereiches liegt (darstellbarer Bereich !
 boolean drawable(XPoint p)
          Liefert true, falls der Punkt p innerhalb des Clipping-Rechtecks liegt.
 java.awt.Point[] getBoundPoints()
          Liefert den sichtbaren Bereich als Punktliste in Bildschirmkoordinaten.
 java.lang.Object getStatus()
          Liefert ein Objekt mit dem Transformationsstatus.
 XPolygon getXBounds()
          Liefert den sichtbaren Bereich umgerechnet in Weltkoordinaten.
 double getXResolution()
          Liefert die Auflösung, d.h. die Entfernung eines Pixels zum nächsten in Weltkoordinaten.
 void resetTransform()
          Setzt die Transformation auf 1:1 Skalierung.
 void rotate(double angle)
          Dreht das Objekt um seinen Mittelpunkt mit dem Winkel angle.
 void rotate(java.awt.Point center, double angle)
          Dreht das Objekt um den Punkt center mit dem Winkel angle.
 void rotate(java.awt.Point center, java.awt.Point start, java.awt.Point end)
          Dreht das Objekt um den Punkt center mit dem Winkel start-center-end.
 void scale(double xscale, double yscale)
          Skaliert das Objekt so mit xscale und yscale.
 void scale(java.awt.Point center, double xscale, double yscale)
          Skaliert das Objekt mit xscale und yscale so, daß der Punkt middle davon unberührt bleibt.
 void setStatus(java.lang.Object status)
          Stellt den im Objekt status gespeicherten Status der Transformation wieder her.
 void setVirtualScreen(VirtualScreen vscreen)
          Weist der ScreenTransformation einen virtuellen Bildschirm zu.
 java.lang.String toString()
          Überschreibt Object.toString.
 void transform(double m00, double m01, double m02, double m10, double m11, double m12)
          Transformiert das Objekt mit der übergebenen Transformationsmatrix.
 java.awt.Point[] transform(java.lang.Object O)
          Transformiert das Object O in Bildschirmkorrdinaten.
 java.lang.Object transform(java.awt.Point[] points)
          Transformiert die Punktliste in ein Objekt.
 boolean transformObjectFromPseudoScreen(java.lang.Object O)
          Macht die durch transformObjectToPseudoScreen auf das Objekt O angewandte Transformation wieder rückgängig.
 boolean transformObjectToPseudoScreen(java.lang.Object O)
          Transformiert das Objekt O nach Möglichkeit (umkehrbar!)
 java.lang.Object transformPoint(int x, int y)
          Transformiert den Punkt (x,y) in ein Objekt.
 java.awt.Point transformPoint(java.lang.Object O)
          Transformiert das Objekt O in einen Punkt in Bildschirmkoordinaten.
 java.lang.Object transformVector(int x, int y)
          Transformiert den Vektor, d.h. lediglich Länge und Richtung können sich ändern, der Vektor wird jedoch nicht verschoben.
 java.awt.Point transformVector(java.lang.Object O)
          Transformiert den Vektor in Bildschirmkoordinaten, d.h. lediglich Länge und Richtung können sich ändern, der Vektor wird jedoch nicht verschoben.
 java.awt.Point[] transformXHalfplane(XHalfplane halfplane)
          Transformiert eine Halbebene in ein Punkteliste.
 XLine transformXLine(int x1, int y1, int x2, int y2)
          Erzeugt eine neue XLine durch die Punkte p1 und p2, die in Bildschirmkoordinaten übergeben werden.
 XLine transformXLine(java.awt.Point p1, java.awt.Point p2)
          Erzeugt eine neue XLine durch die Punkte p1 und p2, die in Bildschirmkoordinaten übergeben werden.
 java.awt.Point[] transformXLine(XLine xline)
          Transformiert eine XLine in eine Punktliste.
 java.awt.Point[] transformXParabola(XParabola para)
          Transformiert ein Parabelstück in eine Punktliste.
 java.awt.Point transformXPoint(double x, double y)
          Transformiert einen Punkt (x,y) in Bildschirmkoordinaten.
 XPoint[] transformXPoint(int[] xp, int[] yp, int len)
          Transformiert ein Array mit Punkten in Bildschirmkoordinaten in ein Array mit XPoint-Objekten.
 XPoint transformXPoint(int xx, int yy)
          Transformiert einen Punkt (xx,yy) in Bildschirmkoordinaten in einen XPoint.
 XPoint transformXPoint(java.awt.Point p)
          Transformiert einen Punkt p in Bildschirmkoordinaten in einen XPoint.
 XPoint[] transformXPoint(java.awt.Point[] points)
          Transformiert ein Array mit Punkten in Bildschirmkoordinaten in ein Array mit XPoint-Objekten.
 java.awt.Point transformXPoint(XPoint p)
          Transformiert einen XPunkt p in Bildschirmkoordinaten.
 java.awt.Point[] transformXPoint(XPoint[] xpoints)
          Transformiert ein XPunkt-Array in Bildschirmkoordinaten.
 XPolygon transformXPolygon(int[] xp, int[] yp, int len)
          Erzeugt ein neues XPolygon aus Punkten in Bildschirmkoordinaten.
 XPolygon transformXPolygon(java.awt.Point[] points)
          Erzeugt ein neues XPolygon aus Punkten in Bildschirmkoordinaten.
 XPolygon transformXPolygon(java.awt.Polygon pol)
          Erzeugt ein neues XPolygon aus einem Polygon in Bildschirmkoordinaten.
 java.awt.Point[] transformXPolygon(XPolygon xpolygon)
          Transformiert ein XPolygon in eine Punktliste.
 java.awt.Point[] transformXPolyline(XPolyline xpolyline)
          Transformiert eine XPolyline in eine Punktliste.
 XRay transformXRay(int x1, int y1, int x2, int y2)
          Erzeugt einen neuen XRay durch beginnend mit Punkt p1 durch p2, die beide in Bildschirmkoordinaten übergeben werden.
 XRay transformXRay(java.awt.Point p1, java.awt.Point p2)
          Erzeugt einen neuen XRay durch beginnend mit Punkt p1 durch p2, die beide in Bildschirmkoordinaten übergeben werden.
 java.awt.Point[] transformXRay(XRay xray)
          Transformiert ein XRay in eine Punktliste.
 XRectangle transformXRectangle(int x, int y, int width, int height)
          Erzeugt ein neues XRectangle durch den Punkt (x,y) mit Breite width, und Höhe height (in Bildschirmkoordinaten).
 XRectangle transformXRectangle(java.awt.Rectangle rect)
          Erzeugt ein neues XRectangle aus dem Rectangle rect.
 XSegment transformXSegment(int x1, int y1, int x2, int y2)
          Erzeugt ein neues XSegment durch die Punkte p1 und p2, die in Bildschirmkoordinaten übergeben werden.
 XSegment transformXSegment(java.awt.Point p1, java.awt.Point p2)
          Erzeugt ein neues XSegment durch die Punkte p1 und p2, die in Bildschirmkoordinaten übergeben werden.
 java.awt.Point[] transformXSegment(XSegment xseg)
          Transformiert ein XSegment in eine Punktliste.
 java.awt.Point[] transformXSegment(XSegment[] xseglist)
          Transformiert ein XSegment-Feld in eine Punktfeld.
 java.awt.Point[] transformXUPolygon(XUPolygon xupolygon)
          Transformiert das unbeschränkte Polygon in eine Punktliste.
 void translate(int dx, int dy)
          Verschiebt das Objekt um den Vektor (dx,dy).
 void zoomTo(java.awt.Rectangle border, java.awt.Rectangle source, boolean maintain_aspect_ration)
          Skaliert so, daß das Rechteck source im Rechteck border möglichst den gesamten Platz einnimmt.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ScreenXTransformation

public ScreenXTransformation()
Leerer Konstruktor.

ScreenXTransformation

public ScreenXTransformation(double m00,
                             double m10,
                             double m01,
                             double m11,
                             double m02,
                             double m12)
Konstruktor mit allen TransformationsParametern.
Method Detail

setVirtualScreen

public void setVirtualScreen(VirtualScreen vscreen)
Weist der ScreenTransformation einen virtuellen Bildschirm zu.
Specified by:
setVirtualScreen in interface ScreenTransformation

getXResolution

public double getXResolution()
Liefert die Auflösung, d.h. die Entfernung eines Pixels zum nächsten in Weltkoordinaten.
Returns:
(minimale) Entfernung zweier Pixel in Weltkoordinaten

transform

public void transform(double m00,
                      double m01,
                      double m02,
                      double m10,
                      double m11,
                      double m12)
Transformiert das Objekt mit der übergebenen Transformationsmatrix.
Specified by:
transform in interface ScreenTransformation
Parameters:
m00,m01,m02 - erste Zeile der Transformationsmatrix
m10,m11,m12 - zweite Zeile der Transformationsmatrix

scale

public void scale(java.awt.Point center,
                  double xscale,
                  double yscale)
Skaliert das Objekt mit xscale und yscale so, daß der Punkt middle davon unberührt bleibt.
Specified by:
scale in interface ScreenTransformation
Parameters:
middle - Mittelpunkt, der nicht verschoben werden soll
xscale - Skalierung der X-Achse
yscale - Skalierung der Y-Achse

scale

public void scale(double xscale,
                  double yscale)
Skaliert das Objekt so mit xscale und yscale.
Specified by:
scale in interface ScreenTransformation
Parameters:
xscale - Skalierung der X-Achse
yscale - Skalierung der Y-Achse

resetTransform

public void resetTransform()
Setzt die Transformation auf 1:1 Skalierung.
Specified by:
resetTransform in interface ScreenTransformation

rotate

public void rotate(java.awt.Point center,
                   double angle)
Dreht das Objekt um den Punkt center mit dem Winkel angle.
Specified by:
rotate in interface ScreenTransformation
Parameters:
center - Drehpunkt
angle - Drehwinkel

rotate

public void rotate(java.awt.Point center,
                   java.awt.Point start,
                   java.awt.Point end)
Dreht das Objekt um den Punkt center mit dem Winkel start-center-end.
Specified by:
rotate in interface ScreenTransformation
Parameters:
center - Drehpunkt
start - Startpunkt
end - Endpunkt

rotate

public void rotate(double angle)
Dreht das Objekt um seinen Mittelpunkt mit dem Winkel angle.
Specified by:
rotate in interface ScreenTransformation
Parameters:
angle - Drehwinkel

translate

public void translate(int dx,
                      int dy)
Verschiebt das Objekt um den Vektor (dx,dy).
Specified by:
translate in interface ScreenTransformation
Parameters:
(dx,dy) - Verschiebungsvektor

zoomTo

public void zoomTo(java.awt.Rectangle border,
                   java.awt.Rectangle source,
                   boolean maintain_aspect_ration)
Skaliert so, daß das Rechteck source im Rechteck border möglichst den gesamten Platz einnimmt. Ist maintain_aspect_ration true, so wird das Seitenverhältnis beibehalten.
Specified by:
zoomTo in interface ScreenTransformation
Parameters:
rect - neuer Sichtbereich in aktuellen Bildschirmkoordinaten
maintain_aspect_ration - falls true wird das Seitenverhältnis beibehalten

transform

public java.awt.Point[] transform(java.lang.Object O)
Transformiert das Object O in Bildschirmkorrdinaten. Falls die ScreenTransformation das Objekt nicht konvertieren kann, sollte sie eine ScreenTransformException auslösen.
Specified by:
transform in interface ScreenTransformation
Parameters:
zu - konvertierendes Objekt.

transform

public java.lang.Object transform(java.awt.Point[] points)
Transformiert die Punktliste in ein Objekt. Falls die ScreenTransformation die Punktliste nicht konvertieren kann, sollte sie eine ScreenTransformException auslösen.
Specified by:
transform in interface ScreenTransformation
Parameters:
zu - konvertierende Punktliste.

transformPoint

public java.lang.Object transformPoint(int x,
                                       int y)
Transformiert den Punkt (x,y) in ein Objekt.
Specified by:
transformPoint in interface ScreenTransformation
Parameters:
x,y - Koordinaten
Returns:
Objekt

transformPoint

public java.awt.Point transformPoint(java.lang.Object O)
Transformiert das Objekt O in einen Punkt in Bildschirmkoordinaten.
Specified by:
transformPoint in interface ScreenTransformation
Parameters:
O - Objekt
Returns:
Punkt

transformVector

public java.lang.Object transformVector(int x,
                                        int y)
Transformiert den Vektor, d.h. lediglich Länge und Richtung können sich ändern, der Vektor wird jedoch nicht verschoben.
Specified by:
transformVector in interface ScreenTransformation
Parameters:
x,y - Vektor
Returns:
Objekt

transformVector

public java.awt.Point transformVector(java.lang.Object O)
Transformiert den Vektor in Bildschirmkoordinaten, d.h. lediglich Länge und Richtung können sich ändern, der Vektor wird jedoch nicht verschoben.
Specified by:
transformVector in interface ScreenTransformation
Parameters:
O - Vektor-Objekt
Returns:
Point

toString

public java.lang.String toString()
Überschreibt Object.toString.
Overrides:
toString in class java.lang.Object
Returns:
String

getXBounds

public XPolygon getXBounds()
Liefert den sichtbaren Bereich umgerechnet in Weltkoordinaten. Zwar ist der Bereich in Bildschirmkoordinaten ein Rechteck, aber durch die Transformation kann dieses auch verdreht werden. Das Polygon ist links herum orientiert.
Returns:
XPolygon mit dem Bildschirm

getBoundPoints

public java.awt.Point[] getBoundPoints()
Liefert den sichtbaren Bereich als Punktliste in Bildschirmkoordinaten.
Returns:
Punktliste in Bildschirmkoordinaten

transformXPoint

public XPoint transformXPoint(java.awt.Point p)
Transformiert einen Punkt p in Bildschirmkoordinaten in einen XPoint.
Parameters:
p - Punkt in Bildschirmkoordinaten
Returns:
transformierter XPoint

transformXPoint

public XPoint transformXPoint(int xx,
                              int yy)
Transformiert einen Punkt (xx,yy) in Bildschirmkoordinaten in einen XPoint.
Parameters:
(xx,yy) - Punkt in Bildschirmkoordinaten
Returns:
transformierter XPoint

transformXPoint

public XPoint[] transformXPoint(int[] xp,
                                int[] yp,
                                int len)
Transformiert ein Array mit Punkten in Bildschirmkoordinaten in ein Array mit XPoint-Objekten.
Parameters:
xp - X-Koordinaten
yp - Y-Koordinaten
Anzahl - der Punkte
Returns:
Array der XPoint-Objekte

transformXPoint

public XPoint[] transformXPoint(java.awt.Point[] points)
Transformiert ein Array mit Punkten in Bildschirmkoordinaten in ein Array mit XPoint-Objekten.
Parameters:
points - Array mit Point-Objekten
Returns:
Array der XPoint-Objekte

transformXPoint

public java.awt.Point transformXPoint(double x,
                                      double y)
Transformiert einen Punkt (x,y) in Bildschirmkoordinaten.
Parameters:
x - x-Koordinate
y - y-Koordinate
Returns:
Point in Bildschirmkoordinaten

transformXPoint

public java.awt.Point transformXPoint(XPoint p)
Transformiert einen XPunkt p in Bildschirmkoordinaten.
Parameters:
p - XPoint
Returns:
Point in Bildschirmkoordinaten

transformXPoint

public java.awt.Point[] transformXPoint(XPoint[] xpoints)
Transformiert ein XPunkt-Array in Bildschirmkoordinaten.
Parameters:
xpoints - XPoint-Array
Returns:
Punktarray in Bildschirmkoordinaten

transformXSegment

public XSegment transformXSegment(java.awt.Point p1,
                                  java.awt.Point p2)
Erzeugt ein neues XSegment durch die Punkte p1 und p2, die in Bildschirmkoordinaten übergeben werden.
Parameters:
p1 - erster Punkt
p2 - zweiter Punkt
Returns:
XSegment

transformXSegment

public XSegment transformXSegment(int x1,
                                  int y1,
                                  int x2,
                                  int y2)
Erzeugt ein neues XSegment durch die Punkte p1 und p2, die in Bildschirmkoordinaten übergeben werden.
Parameters:
(x1,x2) - erster Punkt
(x2,y2) - zweiter Punkt
Returns:
XSegment

transformXSegment

public java.awt.Point[] transformXSegment(XSegment xseg)
Transformiert ein XSegment in eine Punktliste.
Parameters:
xseg - zu transformierendes XSegment
Returns:
Punktliste

transformXSegment

public java.awt.Point[] transformXSegment(XSegment[] xseglist)
Transformiert ein XSegment-Feld in eine Punktfeld.
Parameters:
xseg - zu transformierendes XSegment-Array
Returns:
Punktliste

transformXRectangle

public XRectangle transformXRectangle(int x,
                                      int y,
                                      int width,
                                      int height)
Erzeugt ein neues XRectangle durch den Punkt (x,y) mit Breite width, und Höhe height (in Bildschirmkoordinaten).
Parameters:
(x,y) - linker oberer Eckpunkt
width - Breite
height - Höhe
Returns:
transformiertes Rechteck

transformXRectangle

public XRectangle transformXRectangle(java.awt.Rectangle rect)
Erzeugt ein neues XRectangle aus dem Rectangle rect.
Parameters:
rect - zu trsnaformierendes Rectangle
Returns:
transformiertes Rechteck

transformXRay

public XRay transformXRay(java.awt.Point p1,
                          java.awt.Point p2)
Erzeugt einen neuen XRay durch beginnend mit Punkt p1 durch p2, die beide in Bildschirmkoordinaten übergeben werden.
Parameters:
p1 - erster Punkt
p2 - zweiter Punkt
Returns:
XRay

transformXRay

public XRay transformXRay(int x1,
                          int y1,
                          int x2,
                          int y2)
Erzeugt einen neuen XRay durch beginnend mit Punkt p1 durch p2, die beide in Bildschirmkoordinaten übergeben werden.
Parameters:
(x1,x2) - erster Punkt
(x2,y2) - zweiter Punkt
Returns:
XRay

transformXRay

public java.awt.Point[] transformXRay(XRay xray)
Transformiert ein XRay in eine Punktliste.
Parameters:
xray - zu transformierender XRay
Returns:
Punktliste

transformXLine

public XLine transformXLine(java.awt.Point p1,
                            java.awt.Point p2)
Erzeugt eine neue XLine durch die Punkte p1 und p2, die in Bildschirmkoordinaten übergeben werden.
Parameters:
p1 - erster Punkt
p2 - zweiter Punkt
Returns:
XLine

transformXLine

public XLine transformXLine(int x1,
                            int y1,
                            int x2,
                            int y2)
Erzeugt eine neue XLine durch die Punkte p1 und p2, die in Bildschirmkoordinaten übergeben werden.
Parameters:
(x1,x2) - erster Punkt
(x2,y2) - zweiter Punkt
Returns:
XLine

transformXLine

public java.awt.Point[] transformXLine(XLine xline)
Transformiert eine XLine in eine Punktliste.
Parameters:
xline - zu transformierende XLine
Returns:
Punktliste

transformXPolygon

public XPolygon transformXPolygon(int[] xp,
                                  int[] yp,
                                  int len)
Erzeugt ein neues XPolygon aus Punkten in Bildschirmkoordinaten.
Parameters:
xp - X-Koordinaten
yp - Y-Koordinaten
Anzahl - der Punkte
Returns:
XPolygon

transformXPolygon

public XPolygon transformXPolygon(java.awt.Point[] points)
Erzeugt ein neues XPolygon aus Punkten in Bildschirmkoordinaten.
Parameters:
points - Array mit Point-Objekten
Returns:
XPolygon

transformXPolygon

public XPolygon transformXPolygon(java.awt.Polygon pol)
Erzeugt ein neues XPolygon aus einem Polygon in Bildschirmkoordinaten.
Parameters:
pol - Polygon
Returns:
XPolygon

transformXPolygon

public java.awt.Point[] transformXPolygon(XPolygon xpolygon)
Transformiert ein XPolygon in eine Punktliste. Dabei wird das Polygon eventuell geclippt.
Parameters:
polygon - zu transformierendes Polygon
Returns:
Punktliste

transformXPolyline

public java.awt.Point[] transformXPolyline(XPolyline xpolyline)
Transformiert eine XPolyline in eine Punktliste.
Parameters:
xpolyline - zu transformierende XPolyline
Returns:
Punktliste

transformXUPolygon

public java.awt.Point[] transformXUPolygon(XUPolygon xupolygon)
Transformiert das unbeschränkte Polygon in eine Punktliste. Falls der Rand des unbeschränkten Polygons den Bildschirmrand nicht schneidet, wird null zurückgegeben! (Das ist nicht ganz korrekt und muß bei der Darstellung beachtet werden!) Die ersten xupolygon.length() Punkte entsprechen den transformierten Eckpunkten.
Parameters:
xupolygon - zu transformierendes unbeschränktes Polygon
Returns:
Punktliste

transformXHalfplane

public java.awt.Point[] transformXHalfplane(XHalfplane halfplane)
Transformiert eine Halbebene in ein Punkteliste.
Parameters:
halfplane - Halbebene
Returns:
Punkteliste

transformXParabola

public java.awt.Point[] transformXParabola(XParabola para)
Transformiert ein Parabelstück in eine Punktliste. Dieses Array kann groß werden!
Parameters:
para - Parabelstück
Returns:
Punktliste

getStatus

public java.lang.Object getStatus()
Liefert ein Objekt mit dem Transformationsstatus.
Specified by:
getStatus in interface ScreenTransformation
Returns:
Status der Transformation

setStatus

public void setStatus(java.lang.Object status)
Stellt den im Objekt status gespeicherten Status der Transformation wieder her.
Specified by:
setStatus in interface ScreenTransformation
Parameters:
status - Statusobjekt

transformObjectToPseudoScreen

public boolean transformObjectToPseudoScreen(java.lang.Object O)
Transformiert das Objekt O nach Möglichkeit (umkehrbar!) in ein Koordinatensystem, das folgende Eigenschaften hat:
Specified by:
transformObjectToPseudoScreen in interface ScreenTransformation
Parameters:
O - zu transformierendes Object
Returns:
true, falls Objekt transformiert werden konnte

transformObjectFromPseudoScreen

public boolean transformObjectFromPseudoScreen(java.lang.Object O)
Macht die durch transformObjectToPseudoScreen auf das Objekt O angewandte Transformation wieder rückgängig.
Specified by:
transformObjectFromPseudoScreen in interface ScreenTransformation
Parameters:
O - Objekt
Returns:
true, falls Rücktransformation erfolgreich.

calculateClipBorder

public void calculateClipBorder()
Berechnet den Rand für das Clipping.

drawable

public boolean drawable(java.lang.Object O)
Liefert true, falls, das Object innerhalb des darstellbaren Bereiches liegt (darstellbarer Bereich != sichtbarer Bereich!!!).
Specified by:
drawable in interface ScreenTransformation
Parameters:
O - zu testendes Objekt
Returns:
true, falls darstellbar

drawable

public boolean drawable(XPoint p)
Liefert true, falls der Punkt p innerhalb des Clipping-Rechtecks liegt.
Returns:
true, falls darstellbar

clipSegment

public XSegment clipSegment(XSegment s)
Schneidet das Segment mit dem Clipping-Gebiet und gibt das eventuell gekürzte Segment zurück.
Parameters:
s - zu clippendes Segment
Returns:
geclipptes Segment

clipSegmentList

public SimpleList clipSegmentList(SimpleList L)
Clippt eine Liste von Segmenten.
Parameters:
L - SimpleList mit XSegment-Objekten
Returns:
eine Liste mit den geclippten Segmenten

convertPolygonSegmentList2PointList

public SimpleList convertPolygonSegmentList2PointList(SimpleList L)
Konvertiert die geclippte Segmentliste eines Polygons in eine Punktliste. Lücken werden durch einen entsprechenden Weg auf dem Clipping-Rand aufgefüllt. Das Polygon muß links orientiert sein!
Parameters:
L - Liste mit (geclippten) Segmenten
Returns:
Liste mit Punkten