igeo
Class IEdge

java.lang.Object
  extended by igeo.IEdge

public class IEdge
extends java.lang.Object

Class of an edge of polygon mesh.

Author:
Satoru Sugihara

Field Summary
 java.util.ArrayList<IFace> faces
           
 IVertex[] vertices
           
 
Constructor Summary
IEdge(IEdge e)
           
IEdge(IVertex v1, IVertex v2)
           
 
Method Summary
 void addFace(IFace f)
           
 boolean contains(IVertex v)
           
 boolean contains(IVertex v1, IVertex v2)
           
 IFace[] createFace(IMeshType creator)
           
 void del()
           
 IEdge dup()
           
 boolean eq(IEdge e)
           
 boolean eq(IEdge e, double tolerance)
           
 IFace face(int i)
           
 int faceNum()
           
 IFace getFace(int i)
           
 IFace getOtherFace(IFace f)
           
 IFace[] getOtherFaces(IFace f)
           
 IVertex getOtherVertex(IEdge edge)
           
 IVertex getOtherVertex(IVertex v)
           
 IEdge getOverlappingEdge()
          edge sharing exact same pair of vertices
 IEdge[] getOverlappingEdges()
          edge sharing exact same pair of vertices
 IVec getPointOnEdge(double ratio)
           
 IVertex getSharedVertex(IEdge edge)
           
 IVertex getVertex(int i)
           
 boolean hasSharedVertex(IEdge edge)
           
 boolean isConnected(IEdge edge)
           
 boolean isOnEdge(IVertex v)
           
 IVec mid()
           
 IVec nml()
           
 IVec nml(double param)
           
 IVec normal()
           
 IVec normal(double param)
           
 IVec pos(double ratio)
           
 void replaceVertex(IVertex oldVertex, IVertex newVertex)
           
 IFace sharedFace(IEdge edge)
           
 IVertex[] subdivide(int divnum, java.util.ArrayList<IVertex> newVertexArray, java.util.ArrayList<IEdge> newEdgeArray)
           
 java.lang.String toString()
           
 void traceEdge(java.util.ArrayList<IEdge> trace, java.util.ArrayList<java.util.ArrayList<IEdge>> loops, int depth)
           
 java.util.ArrayList<java.util.ArrayList<IEdge>> traceEdge(int maxVertexNum)
           
 IVertex vertex(int i)
           
 int vertexNum()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

vertices

public IVertex[] vertices

faces

public java.util.ArrayList<IFace> faces
Constructor Detail

IEdge

public IEdge(IVertex v1,
             IVertex v2)

IEdge

public IEdge(IEdge e)
Method Detail

getVertex

public IVertex getVertex(int i)

vertex

public IVertex vertex(int i)

vertexNum

public int vertexNum()

addFace

public void addFace(IFace f)

getFace

public IFace getFace(int i)

face

public IFace face(int i)

faceNum

public int faceNum()

dup

public IEdge dup()

del

public void del()

nml

public IVec nml(double param)

normal

public IVec normal(double param)

nml

public IVec nml()

normal

public IVec normal()

getPointOnEdge

public IVec getPointOnEdge(double ratio)

pos

public IVec pos(double ratio)

mid

public IVec mid()

contains

public boolean contains(IVertex v)

contains

public boolean contains(IVertex v1,
                        IVertex v2)

replaceVertex

public void replaceVertex(IVertex oldVertex,
                          IVertex newVertex)

getOtherVertex

public IVertex getOtherVertex(IVertex v)

getOtherVertex

public IVertex getOtherVertex(IEdge edge)

getSharedVertex

public IVertex getSharedVertex(IEdge edge)

sharedFace

public IFace sharedFace(IEdge edge)

getOverlappingEdge

public IEdge getOverlappingEdge()
edge sharing exact same pair of vertices


getOverlappingEdges

public IEdge[] getOverlappingEdges()
edge sharing exact same pair of vertices


hasSharedVertex

public boolean hasSharedVertex(IEdge edge)

isConnected

public boolean isConnected(IEdge edge)

getOtherFace

public IFace getOtherFace(IFace f)

getOtherFaces

public IFace[] getOtherFaces(IFace f)

isOnEdge

public boolean isOnEdge(IVertex v)

traceEdge

public java.util.ArrayList<java.util.ArrayList<IEdge>> traceEdge(int maxVertexNum)

traceEdge

public void traceEdge(java.util.ArrayList<IEdge> trace,
                      java.util.ArrayList<java.util.ArrayList<IEdge>> loops,
                      int depth)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

eq

public boolean eq(IEdge e)

eq

public boolean eq(IEdge e,
                  double tolerance)

createFace

public IFace[] createFace(IMeshType creator)

subdivide

public IVertex[] subdivide(int divnum,
                           java.util.ArrayList<IVertex> newVertexArray,
                           java.util.ArrayList<IEdge> newEdgeArray)