gishur.x
Interface Intersectable

All Known Implementing Classes:
XBaseline, XLine, XPolyline, XRay, XSegment, XParabola

public interface Intersectable

Dieses Interface sollten alle Klassen implementieren, die Schnitte mit anderen Objekten unterstützen.


Method Summary
 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.
 Intersection intersection(java.lang.Object O)
          Schneidet dieses Objekt mit dem Objekt O und liefert ein entsprechendes Intersection-Objekt.
 boolean supportsIntersection(java.lang.Object O)
          Liefert true, falls diese Klasse den Schnitt mit dem übergebenen Objekt unterstützt.
 

Method Detail

supportsIntersection

public boolean supportsIntersection(java.lang.Object O)
Liefert true, falls diese Klasse den Schnitt mit dem übergebenen Objekt unterstützt. Hier sollte wirklich nur dann true zurückgegeben werden, wenn in dieser Klasse eine entsprechende Schnittroutine existiert.
Parameters:
O - zu schneidendes Objekt
Returns:
true, falls Schnittest erfolgen kann

intersection

public Intersection intersection(java.lang.Object O)
Schneidet dieses Objekt mit dem Objekt O und liefert ein entsprechendes Intersection-Objekt. Dieses ist immer !=null, was nicht heißt, daß ein Schnitt existiert. Existiert keine passende Schnittmethode in dieser Klasse, so wird versucht, die Schnittmethode des Objektes O aufzurufen, falls vorhanden. Schlägt alles fehl, so wird ein IntersectionException ausgelöst (der nicht unbedingt abgefangen werden muß, da es ein RuntimeException ist.
Parameters:
O - zu schneidendes Objekt
Throws:
IntersectionException - falls der Schnitt nicht durchgeführt werden konnte.

contains

public 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.
Parameters:
x,y - Koordinaten des Punktes
Returns:
true, falls Schnitt nicht leer.