|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objecthmi.graphics.geometry.Triangulator
public class Triangulator
A utility class for operations on polygons, like triangulation.
| Field Summary | |
|---|---|
private static Logger |
logger
|
private float |
nx
|
private float |
ny
|
private float |
nz
|
private int[] |
polyIndex
|
private int |
polyVCount
|
private float[] |
vertexCoords
|
private int |
vertexOffset
|
private int |
vertexStride
|
| Constructor Summary | |
|---|---|
Triangulator()
Creates a new Triangulator object, specifying vertex coordinates, vertex indices, and polygon vertex counts. |
|
| Method Summary | |
|---|---|
private void |
calcNormal()
calculates the normal vector for a polygon representing its surface area and orientation. |
private void |
delete(int pi)
remove polgon vertex nr pi, within the rangle 0 .. vCount-1; |
private boolean |
insideTriangle(int pi0,
int pi1,
int pi2,
int q)
|
boolean |
isEar(int pi)
check whether the pi-1 mod vCount, pi, pi+1 mod vCount triangle forms an ear: left turn, and no other polgon point inside (or on the border of) the triangle. |
private int |
next(int p)
|
private int |
prev(int p)
|
private boolean |
toLeft(int pi,
int qi,
int ri)
|
String |
toString()
Returns a String representation for debugging purposes |
int[] |
triangulate(float[] vertexCoords,
int vertexStride,
int[] indices,
int[] vCounts)
triangulates the polygons of this Triangulator object, and returns the result in a new index array. |
private int |
triangulatePolygon(int[] triangles,
int triangleOffset)
turn a single polygon into triangles. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
private float[] vertexCoords
private int vertexStride
private int vertexOffset
private int[] polyIndex
private int polyVCount
private float nx
private float ny
private float nz
private static Logger logger
| Constructor Detail |
|---|
public Triangulator()
| Method Detail |
|---|
public int[] triangulate(float[] vertexCoords,
int vertexStride,
int[] indices,
int[] vCounts)
private void calcNormal()
private boolean toLeft(int pi,
int qi,
int ri)
private boolean insideTriangle(int pi0,
int pi1,
int pi2,
int q)
public boolean isEar(int pi)
private int prev(int p)
private int next(int p)
private void delete(int pi)
private int triangulatePolygon(int[] triangles,
int triangleOffset)
public String toString()
toString in class Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||