net.jinx.video.model
Class TriangleFan

java.lang.Object
  extended by net.jinx.video.model.MeshElement
      extended by net.jinx.video.model.TriangleFan

public final class TriangleFan
extends MeshElement

MeshElement implementation that uses OpenGL's GL_TRIANGLE_FAN drawing mode to draw triangles. The first vertex is always the first corner of the trinagles drawn. The next corner is the previous vertex. The last corner is the current vertex.

API Stability: Stable.


Constructor Summary
TriangleFan(float[][] vertices)
          Constructs a TriangleFan with the given vertex array.
 
Method Summary
 int draw(Context opt, float[][] normals, float[][] texCoord, Coloration coloration, int offset)
          Draws the mesh, using the given array of Materials.
 Face[] getFaces()
          Provides an array of all the Faces formed by this MeshElement.
 
Methods inherited from class net.jinx.video.model.MeshElement
getVertices, toLineElement, vertexCount
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TriangleFan

public TriangleFan(float[][] vertices)
Constructs a TriangleFan with the given vertex array.

Parameters:
vertices - the vertex array.
Method Detail

getFaces

public Face[] getFaces()
Description copied from class: MeshElement
Provides an array of all the Faces formed by this MeshElement. This is used to calculate per-vertex normals for lighting.

Specified by:
getFaces in class MeshElement
Returns:
the array of Face objects.

draw

public int draw(Context opt,
                float[][] normals,
                float[][] texCoord,
                Coloration coloration,
                int offset)
Description copied from class: MeshElement
Draws the mesh, using the given array of Materials. One Material will be used per vertex, unless there is only one, in which case the same color will be used for each vertex. The offset into the array will be incremented with each vertex and then returned once the Mesh has finished drawing.

Specified by:
draw in class MeshElement
Parameters:
opt - the rendering options to use.
normals - vectors in a vertex array for per-vertex normals. If null, this indicates that per-face normals should be used instead.
coloration - the Coloration object to use to color the vertices.
offset - the index into normal array to start at. This is also the current vertex number.
Returns:
the index of the next normal to use, once this method has completed. This is also the number of the next vertex.