physics.geometry
Interface GeometryArrayHandler

All Known Implementing Classes:
IndexedTriangleGeometryArrayHandler, IndexedTriangleStripGeometryArrayHandler, QuadGeometryArrayHandler, TriangleFanGeometryArrayHandler, TriangleGeometryArrayHandler, TriangleStripGeometryArrayHandler

public interface GeometryArrayHandler

Stellt den einheitlichen Zugriff auf verschiedenen GeometryArray Typen sicher.

Version:
1.0 (2005/04/25)
Author:
Martin Hedler

Method Summary
 void getNextPolygon(Polygon out)
          Liefert das nächste Polygon zurück.
 int getPolygonCount()
          Liefert die Anzahl der Polygonen zuück, welche sich in dem referenzierten GeometryArray befinden.
 boolean hasMorePolygons()
          Gibt zurück, ob weitere Polygone durch die Funktion getNextPolygon(Polygon) abgerufen werden können.
 void reset()
          Setzt den Handler zuück, so dass bei einem Aufruf von getNextPolygon(Polygon) wieder beim ersten Polygon begonnen wird.
 void setGeometryArray(javax.media.j3d.GeometryArray a)
          Setzt das GeometryArray auf welches zugegriffen werden soll.
 

Method Detail

setGeometryArray

public void setGeometryArray(javax.media.j3d.GeometryArray a)
                      throws java.lang.ClassCastException
Setzt das GeometryArray auf welches zugegriffen werden soll.

Parameters:
a - GeometryArray, auf dessen Polygone zugegriffen werden soll.
Throws:
java.lang.ClassCastException - Wenn ein GeometryArray übergeben wurde, welches von dem GeometryArrayHandler nicht unterstützt wird.

getPolygonCount

public int getPolygonCount()
                    throws java.lang.IllegalStateException
Liefert die Anzahl der Polygonen zuück, welche sich in dem referenzierten GeometryArray befinden.

Returns:
Anzahl der Polygone in dem mit setGeometryArray(GeometryArray) referenzierten GeometryArray.
Throws:
java.lang.IllegalStateException

hasMorePolygons

public boolean hasMorePolygons()
Gibt zurück, ob weitere Polygone durch die Funktion getNextPolygon(Polygon) abgerufen werden können.

Returns:
true, wenn weitere Polygone zur Verfügung stehen, sonst false.

reset

public void reset()
Setzt den Handler zuück, so dass bei einem Aufruf von getNextPolygon(Polygon) wieder beim ersten Polygon begonnen wird.


getNextPolygon

public void getNextPolygon(Polygon out)
                    throws java.lang.IndexOutOfBoundsException
Liefert das nächste Polygon zurück.

Parameters:
out - Das nächste Polygon.
Throws:
java.lang.IndexOutOfBoundsException - Wenn kein weiteres Polygon mehr vorhanden ist.