com.jme.scene.lod
Class VETMesh

java.lang.Object
  extended by com.jme.scene.lod.VETMesh
Direct Known Subclasses:
ClodCreator

public class VETMesh
extends java.lang.Object

VETMesh originally ported from David Eberly's c++, modifications and enhancements made from there.

This class is used as a base class for ClodCreator, and should have little use outside of a base class for clod meshes.

Version:
$Id: VETMesh.java 4131 2009-03-19 20:15:28Z blaine.dev $
Author:
Joshua Slack
See Also:
ClodCreator

Nested Class Summary
 class VETMesh.Edge
           
 class VETMesh.EdgeAttribute
           
 class VETMesh.Triangle
           
 class VETMesh.TriangleAttribute
           
 class VETMesh.VertexAttribute
           
 
Field Summary
protected  java.util.TreeMap<VETMesh.Edge,VETMesh.EdgeAttribute> edgeMap
           
protected  java.util.TreeMap<VETMesh.Triangle,VETMesh.TriangleAttribute> triangleMap
           
protected  java.util.TreeMap<java.lang.Integer,VETMesh.VertexAttribute> vertexMap
           
 
Constructor Summary
VETMesh()
           
 
Method Summary
 VETMesh create()
           
 void getComponents(java.util.Vector<java.lang.Integer> rkIndex, int[] raiConnect)
           
 void getComponents(java.util.Vector<VETMesh> store)
           
 boolean getConsistentComponents(java.util.Vector<VETMesh> store)
           
 java.lang.Object getData(int vert)
           
 java.lang.Object getData(int vert0, int vert1)
           
 java.lang.Object getData(int vert0, int vert1, int vert2)
           
 java.lang.Object getData(VETMesh.Edge edge)
           
 java.lang.Object getData(VETMesh.Triangle tri)
           
 java.util.TreeMap<VETMesh.Edge,VETMesh.EdgeAttribute> getEdgeMap()
           
 int getEdgeQuantity()
           
 ExVector getEdges(int vert)
           
 void getEdges(java.util.Set<VETMesh.Edge> store)
           
 VETMesh getReversedOrderMesh()
           
 java.util.TreeMap<VETMesh.Triangle,VETMesh.TriangleAttribute> getTriangleMap()
           
 int getTriangleQuantity()
           
 ExVector getTriangles(int vert)
           
 ExVector getTriangles(int vert0, int vert1)
           
 void getTriangles(java.util.Set<VETMesh.Triangle> store)
           
 java.util.TreeMap getVertexMap()
           
 int getVertexQuantity()
           
 void getVertices(java.util.Set<java.lang.Integer> store)
           
 void insertTriangle(int ivert0, int ivert1, int ivert2)
           
 void insertTriangle(VETMesh.Triangle tri)
           
 boolean isClosed()
           
 boolean isConnected()
           
 boolean isManifold()
           
 void onEdgeInsert(VETMesh.Edge edge, boolean insert, VETMesh.EdgeAttribute att)
           
 void onEdgeRemove(VETMesh.Edge edge, boolean remove, VETMesh.EdgeAttribute att)
           
 void onTriangleInsert(VETMesh.Triangle tri, boolean insert, VETMesh.TriangleAttribute att)
           
 void onTriangleRemove(VETMesh.Triangle tri, boolean remove, VETMesh.TriangleAttribute att)
           
 void onVertexInsert(java.lang.Integer vert, boolean insert, VETMesh.VertexAttribute att)
           
 void onVertexRemove(java.lang.Integer vert, boolean remove, VETMesh.VertexAttribute att)
           
 void removeAllTriangles()
           
 int removeComponent(int[] aiConnect)
           
 void removeTriangle(int ivert0, int ivert1, int ivert2)
           
 void removeTriangle(VETMesh.Triangle tri)
           
 void setData(int vert0, int vert1, int vert2, java.lang.Object data)
           
 void setData(VETMesh.Triangle tri, java.lang.Object data)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

vertexMap

protected java.util.TreeMap<java.lang.Integer,VETMesh.VertexAttribute> vertexMap

edgeMap

protected java.util.TreeMap<VETMesh.Edge,VETMesh.EdgeAttribute> edgeMap

triangleMap

protected java.util.TreeMap<VETMesh.Triangle,VETMesh.TriangleAttribute> triangleMap
Constructor Detail

VETMesh

public VETMesh()
Method Detail

getVertexQuantity

public int getVertexQuantity()

getEdgeQuantity

public int getEdgeQuantity()

getTriangleQuantity

public int getTriangleQuantity()

create

public VETMesh create()

onVertexInsert

public void onVertexInsert(java.lang.Integer vert,
                           boolean insert,
                           VETMesh.VertexAttribute att)

onVertexRemove

public void onVertexRemove(java.lang.Integer vert,
                           boolean remove,
                           VETMesh.VertexAttribute att)

onEdgeInsert

public void onEdgeInsert(VETMesh.Edge edge,
                         boolean insert,
                         VETMesh.EdgeAttribute att)

onEdgeRemove

public void onEdgeRemove(VETMesh.Edge edge,
                         boolean remove,
                         VETMesh.EdgeAttribute att)

onTriangleInsert

public void onTriangleInsert(VETMesh.Triangle tri,
                             boolean insert,
                             VETMesh.TriangleAttribute att)

onTriangleRemove

public void onTriangleRemove(VETMesh.Triangle tri,
                             boolean remove,
                             VETMesh.TriangleAttribute att)

insertTriangle

public void insertTriangle(int ivert0,
                           int ivert1,
                           int ivert2)

insertTriangle

public void insertTriangle(VETMesh.Triangle tri)

removeTriangle

public void removeTriangle(int ivert0,
                           int ivert1,
                           int ivert2)

removeTriangle

public void removeTriangle(VETMesh.Triangle tri)

removeAllTriangles

public void removeAllTriangles()

getVertexMap

public java.util.TreeMap getVertexMap()

getEdgeMap

public java.util.TreeMap<VETMesh.Edge,VETMesh.EdgeAttribute> getEdgeMap()

getTriangles

public ExVector getTriangles(int vert0,
                             int vert1)

getTriangleMap

public java.util.TreeMap<VETMesh.Triangle,VETMesh.TriangleAttribute> getTriangleMap()

isManifold

public boolean isManifold()

isClosed

public boolean isClosed()

isConnected

public boolean isConnected()

getComponents

public void getComponents(java.util.Vector<VETMesh> store)

getComponents

public void getComponents(java.util.Vector<java.lang.Integer> rkIndex,
                          int[] raiConnect)

removeComponent

public int removeComponent(int[] aiConnect)

getConsistentComponents

public boolean getConsistentComponents(java.util.Vector<VETMesh> store)

getReversedOrderMesh

public VETMesh getReversedOrderMesh()

getVertices

public void getVertices(java.util.Set<java.lang.Integer> store)

getData

public java.lang.Object getData(int vert)

getEdges

public ExVector getEdges(int vert)

getTriangles

public ExVector getTriangles(int vert)

getEdges

public void getEdges(java.util.Set<VETMesh.Edge> store)

getData

public java.lang.Object getData(int vert0,
                                int vert1)

getData

public java.lang.Object getData(VETMesh.Edge edge)

getTriangles

public void getTriangles(java.util.Set<VETMesh.Triangle> store)

getData

public java.lang.Object getData(int vert0,
                                int vert1,
                                int vert2)

setData

public void setData(int vert0,
                    int vert1,
                    int vert2,
                    java.lang.Object data)

getData

public java.lang.Object getData(VETMesh.Triangle tri)

setData

public void setData(VETMesh.Triangle tri,
                    java.lang.Object data)