org.xith3d.scenegraph
Class TriangleFanArray

java.lang.Object
  extended by org.xith3d.scenegraph.SceneGraphObject
      extended by org.xith3d.scenegraph.NodeComponent
          extended by org.xith3d.scenegraph.Geometry
              extended by org.xith3d.scenegraph.GeometryStripArray
                  extended by org.xith3d.scenegraph.TriangleFanArray
All Implemented Interfaces:
org.jagatoo.datatypes.NamableObject, org.jagatoo.datatypes.NamedObject, org.openmali.spatial.TriangleContainer, org.openmali.spatial.VertexContainer, org.openmali.spatial.WriteableTriangleContainer

public class TriangleFanArray
extends GeometryStripArray
implements org.openmali.spatial.WriteableTriangleContainer

TriangleFanArray defines a triangle array, where the first vertex is part of any triangle. The second and thirtvertex form the first triangle (together with the first vertex) and the fourth and fifth triangle form the second triangle (together with the first vertex) and so forth.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.xith3d.scenegraph.Geometry
Geometry.Optimization
 
Field Summary
 
Fields inherited from class org.xith3d.scenegraph.Geometry
BY_REFERENCE, COLORS, COORDINATES, dataContainer, INTERLEAVED, NORMALS, TEXTURE_COORDINATES, VERTEX_ATTRIBUTES
 
Fields inherited from class org.xith3d.scenegraph.SceneGraphObject
XITH3D_USERDATAKEY_OLDUSERDATA
 
Constructor Summary
TriangleFanArray(int vertexCount)
           
TriangleFanArray(int coordsSize, int vertexCount)
           
TriangleFanArray(int vertexCount, int[] stripVertexCounts)
           
TriangleFanArray(int coordsSize, int vertexCount, int[] stripVertexCounts)
           
 
Method Summary
 TriangleFanArray cloneNodeComponent(boolean forceDuplicate)
          
protected  void duplicateNodeComponent(NodeComponent original, boolean forceDuplicate)
          
 boolean getTriangle(int i, org.openmali.spatial.polygons.Triangle triangle)
          
 int getTriangleCount()
          
 boolean isTriangulatable()
          
 boolean isTriangulated()
          
 boolean setTriangle(int i, org.openmali.spatial.polygons.Triangle triangle)
          
 
Methods inherited from class org.xith3d.scenegraph.GeometryStripArray
getNumStrips, getStripVertexCounts, getStripVertexCounts
 
Methods inherited from class org.xith3d.scenegraph.Geometry
addData, addData, addData, calculateFaceNormals, calculateFaceNormals, finalize, flipNormals, freeOpenGLResources, getColor, getColor, getColorData, getColorRefFloat, getColors, getColorsOffset, getColorsSize, getCoordinate, getCoordinate, getCoordinates, getCoordinates, getCoordinatesData, getCoordinatesOffset, getCoordinatesSize, getCoordRefFloat, getFaceSize, getInitialVertexIndex, getInterleavedData, getMaxVertexCount, getNormal, getNormal, getNormalRefFloat, getNormals, getNormals, getNormalsData, getNormalsOffset, getNormalsSize, getNumTextureUnits, getOpenGLReference_DL_GeomData, getOpenGLReference_DL_TexCoords, getOpenGLReference_DL, getOptimization, getTexCoordRefFloat, getTexCoordsData, getTexCoordSetCount, getTexCoordSetMap, getTexCoordSetMap, getTexCoordSize, getTexCoordsOffset, getTextureCoordinate, getTextureCoordinate, getTextureCoordinates, getTriangle, getType, getValidVertexCount, getVertex, getVertexAttribData, getVertexAttribSize, getVertexAttribsOffset, getVertexAttribute, getVertexAttribute, getVertexAttribute, getVertexAttributes, getVertexAttributesCount, getVertexCount, getVertexFormat, hasColorAlpha, hasColors, hasFeature, hasIndex, hasNormals, hasTextureCoordinates, hasTextureCoordinates, hasVertexAttributes, hasVertexAttributes, invertNormals, isBoundsDirty, isInterleaved, isStrip, makeInterleaved, makeInterleaved, setBoundsDirty, setColor, setColor, setColor, setColor, setColorData, setColors, setColors, setColors, setColors, setCoordinate, setCoordinate, setCoordinate, setCoordinateData, setCoordinates, setCoordinates, setCoordinates, setCoordinates, setCoordinates, setInitialVertexIndex, setNormal, setNormal, setNormal, setNormalData, setNormals, setNormals, setNormals, setNormals, setOptimization, setTexCoordData, setTextureCoordinate, setTextureCoordinate, setTextureCoordinate, setTextureCoordinate, setTextureCoordinate, setTextureCoordinate, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTextureCoordinates, setTriangle, setTriangle, setValidVertexCount, setVertexAttribute, setVertexAttribute, setVertexAttribute, setVertexAttributes, setVertexAttributes, setVertexAttributes, setVertexAttributes, toString
 
Methods inherited from class org.xith3d.scenegraph.NodeComponent
freeOpenGLResources, getDuplicateOnCloneTree, getModListener, isChanged, isChanged2, setChanged, setDuplicateOnCloneTree, setModListener
 
Methods inherited from class org.xith3d.scenegraph.SceneGraphObject
getName, getUserData, getUserData, getUserDataMap, isLive, setLive, setName, setUserData, setUserData, setUserDataRecursive, setUserDataRecursive
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TriangleFanArray

public TriangleFanArray(int coordsSize,
                        int vertexCount,
                        int[] stripVertexCounts)

TriangleFanArray

public TriangleFanArray(int vertexCount,
                        int[] stripVertexCounts)

TriangleFanArray

public TriangleFanArray(int coordsSize,
                        int vertexCount)

TriangleFanArray

public TriangleFanArray(int vertexCount)
Method Detail

isTriangulatable

public final boolean isTriangulatable()

Specified by:
isTriangulatable in class Geometry
Returns:
true, if this Geometry is built of triangles or can at least be interpreted as triangles.

isTriangulated

public final boolean isTriangulated()

Specified by:
isTriangulated in class Geometry
Returns:
true, if this Geometry is built of triangles.

getTriangleCount

public int getTriangleCount()

Specified by:
getTriangleCount in interface org.openmali.spatial.TriangleContainer

setTriangle

public boolean setTriangle(int i,
                           org.openmali.spatial.polygons.Triangle triangle)

Specified by:
setTriangle in interface org.openmali.spatial.WriteableTriangleContainer

getTriangle

public boolean getTriangle(int i,
                           org.openmali.spatial.polygons.Triangle triangle)

Specified by:
getTriangle in interface org.openmali.spatial.TriangleContainer

duplicateNodeComponent

protected void duplicateNodeComponent(NodeComponent original,
                                      boolean forceDuplicate)

Overrides:
duplicateNodeComponent in class GeometryStripArray

cloneNodeComponent

public TriangleFanArray cloneNodeComponent(boolean forceDuplicate)

Specified by:
cloneNodeComponent in class Geometry