com.jme3.math
Class Triangle

java.lang.Object
  extended by com.jme3.math.AbstractTriangle
      extended by com.jme3.math.Triangle
All Implemented Interfaces:
Collidable, Savable, java.io.Serializable

public class Triangle
extends AbstractTriangle
implements Savable, java.io.Serializable

Triangle defines an object for containing triangle information. The triangle is defined by a collection of three Vector3f objects.

See Also:
Serialized Form

Constructor Summary
Triangle()
           
Triangle(Vector3f p1, Vector3f p2, Vector3f p3)
          Constructor instantiates a new Triangle object with the supplied vectors as the points.
 
Method Summary
 void calculateCenter()
          calculateCenter finds the average point of the triangle.
 void calculateNormal()
          calculateNormal generates the normal for this triangle
 Triangle clone()
           
static Vector3f computeTriangleNormal(Vector3f v1, Vector3f v2, Vector3f v3, Vector3f store)
           
 Vector3f get(int i)
          get retrieves a point on the triangle denoted by the index supplied.
 Vector3f get1()
           
 Vector3f get2()
           
 Vector3f get3()
           
 Vector3f getCenter()
          obtains the center point of this triangle (average of the three triangles)
 int getIndex()
          obtains an index that this triangle represents if it is contained in a OBBTree.
 Vector3f getNormal()
          obtains the unit length normal vector of this triangle, if set or calculated
 float getProjection()
          obtains the projection of the vertices relative to the line origin.
 void read(JmeImporter e)
           
 void set(int i, float x, float y, float z)
          set sets one of the triangle's points to that specified as a parameter.
 void set(int i, Vector3f point)
          set sets one of the triangle's points to that specified as a parameter.
 void set(Vector3f v1, Vector3f v2, Vector3f v3)
           
 void set1(Vector3f v)
           
 void set2(Vector3f v)
           
 void set3(Vector3f v)
           
 void setCenter(Vector3f center)
          sets the center point of this triangle (average of the three triangles)
 void setIndex(int index)
          sets an index that this triangle represents if it is contained in a OBBTree.
 void setNormal(Vector3f normal)
          sets the normal vector of this triangle (to conform, must be unit length)
 void setProjection(float projection)
          sets the projection of the vertices relative to the line origin.
 void write(JmeExporter e)
           
 
Methods inherited from class com.jme3.math.AbstractTriangle
collideWith
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Triangle

public Triangle()

Triangle

public Triangle(Vector3f p1,
                Vector3f p2,
                Vector3f p3)
Constructor instantiates a new Triangle object with the supplied vectors as the points. It is recommended that the vertices be supplied in a counter clockwise winding to support normals for a right handed coordinate system.

Parameters:
p1 - the first point of the triangle.
p2 - the second point of the triangle.
p3 - the third point of the triangle.
Method Detail

get

public Vector3f get(int i)
get retrieves a point on the triangle denoted by the index supplied.

Parameters:
i - the index of the point.
Returns:
the point.

get1

public Vector3f get1()
Specified by:
get1 in class AbstractTriangle

get2

public Vector3f get2()
Specified by:
get2 in class AbstractTriangle

get3

public Vector3f get3()
Specified by:
get3 in class AbstractTriangle

set

public void set(int i,
                Vector3f point)
set sets one of the triangle's points to that specified as a parameter.

Parameters:
i - the index to place the point.
point - the point to set.

set

public void set(int i,
                float x,
                float y,
                float z)
set sets one of the triangle's points to that specified as a parameter.

Parameters:
i - the index to place the point.

set1

public void set1(Vector3f v)

set2

public void set2(Vector3f v)

set3

public void set3(Vector3f v)

set

public void set(Vector3f v1,
                Vector3f v2,
                Vector3f v3)
Specified by:
set in class AbstractTriangle

calculateCenter

public void calculateCenter()
calculateCenter finds the average point of the triangle.


calculateNormal

public void calculateNormal()
calculateNormal generates the normal for this triangle


getCenter

public Vector3f getCenter()
obtains the center point of this triangle (average of the three triangles)

Returns:
the center point.

setCenter

public void setCenter(Vector3f center)
sets the center point of this triangle (average of the three triangles)

Parameters:
center - the center point.

getNormal

public Vector3f getNormal()
obtains the unit length normal vector of this triangle, if set or calculated

Returns:
the normal vector

setNormal

public void setNormal(Vector3f normal)
sets the normal vector of this triangle (to conform, must be unit length)

Parameters:
normal - the normal vector.

getProjection

public float getProjection()
obtains the projection of the vertices relative to the line origin.

Returns:
the projection of the triangle.

setProjection

public void setProjection(float projection)
sets the projection of the vertices relative to the line origin.

Parameters:
projection - the projection of the triangle.

getIndex

public int getIndex()
obtains an index that this triangle represents if it is contained in a OBBTree.

Returns:
the index in an OBBtree

setIndex

public void setIndex(int index)
sets an index that this triangle represents if it is contained in a OBBTree.

Parameters:
index - the index in an OBBtree

computeTriangleNormal

public static Vector3f computeTriangleNormal(Vector3f v1,
                                             Vector3f v2,
                                             Vector3f v3,
                                             Vector3f store)

write

public void write(JmeExporter e)
           throws java.io.IOException
Specified by:
write in interface Savable
Throws:
java.io.IOException

read

public void read(JmeImporter e)
          throws java.io.IOException
Specified by:
read in interface Savable
Throws:
java.io.IOException

clone

public Triangle clone()
Overrides:
clone in class java.lang.Object