igeo
Class IMeshGeo

java.lang.Object
  extended by igeo.IParameterObject
      extended by igeo.IMeshGeo
All Implemented Interfaces:
IMeshI, ISubobject

public class IMeshGeo
extends IParameterObject
implements IMeshI

Geometry of polygon mesh containing lists of vertices, edges and faces.

Version:
0.7.0.0;
Author:
Satoru Sugihara

Field Summary
 java.util.ArrayList<IEdge> edges
           
 java.util.ArrayList<IFace> faces
           
 java.util.ArrayList<IVertex> vertices
           
 
Fields inherited from class igeo.IParameterObject
parent
 
Constructor Summary
IMeshGeo()
           
IMeshGeo(java.util.ArrayList<ICurveI> lines)
           
IMeshGeo(java.util.ArrayList<ICurveI> lines, IMeshCreator creator)
           
IMeshGeo(java.util.ArrayList<IVertex> v, java.util.ArrayList<IEdge> e, java.util.ArrayList<IFace> f)
           
IMeshGeo(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)
           
IMeshGeo(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, double x4, double y4, double z4)
           
IMeshGeo(IFace[] fcs)
           
IMeshGeo(IMeshGeo m)
           
IMeshGeo(IVec[] vert)
           
IMeshGeo(IVec[][] matrix)
           
IMeshGeo(IVec[][] matrix, boolean triangulateDir)
           
IMeshGeo(IVec[][] matrix, boolean triangulateDir, IMeshCreator creator)
           
IMeshGeo(IVec[][] matrix, int unum, int vnum, boolean triangulateDir)
           
IMeshGeo(IVec[][] matrix, int unum, int vnum, boolean triangulateDir, IMeshCreator creator)
           
IMeshGeo(IVecI v1, IVecI v2, IVecI v3)
           
IMeshGeo(IVecI v1, IVecI v2, IVecI v3, IVecI v4)
           
IMeshGeo(IVertex[] vert)
           
IMeshGeo(IVertex v1, IVertex v2, IVertex v3)
           
IMeshGeo(IVertex v1, IVertex v2, IVertex v3, IVertex v4)
           
 
Method Summary
 void addFace(IFace f)
           
(package private) static IMeshGeo createMeshWithEdges(java.util.ArrayList<IEdge> edges, IMeshCreator creator)
           
 void deleteEdge(int i)
           
 void deleteFace(int i)
           
 void deleteVertex(int i)
           
 void divideEdge(IEdge e, double ratio, IMeshCreator creator)
           
 void divideFace(IFace f, IEdge e1, IVertex nv1, IEdge e2, IVertex nv2, IMeshCreator creator)
           
 IMeshGeo dup()
           
 IEdge edge(IIntegerI i)
           
 IEdge edge(int i)
           
 int edgeNum()
           
 int edgeNum(ISwitchE e)
           
 IInteger edgeNum(ISwitchR r)
           
 IFace face(IIntegerI i)
           
 IFace face(int i)
           
 int faceNum()
           
 int faceNum(ISwitchE e)
           
 IInteger faceNum(ISwitchR r)
           
 IMeshGeo get()
           
 IVec[] getBoundingBox()
           
 int getIndex(IEdge e)
           
 int getIndex(IFace f)
           
 int getIndex(IVertex v)
           
 void init(java.util.ArrayList<ICurveI> lines, IMeshCreator creator)
           
 void initWithEdges(java.util.ArrayList<IEdge> edges, IMeshCreator creator)
           
 void initWithPointMatrix(IVec[][] matrix, int unum, int vnum, boolean triangulateDir, IMeshCreator creator)
           
 IVertex insertVertex(IFace f, IVertex v, IMeshCreator creator)
           
 boolean isValid()
           
static IMeshGeo joinMesh(IMeshGeo[] meshes)
           
protected  void replaceEdge(IEdge origEdge, IEdge newEdge)
          For use in copy constructor
 void replaceEdge(IFace f, IEdge oldEdge, IEdge newEdge1, IEdge newEdge2, IVertex vertexOnEdge, IMeshCreator creator)
           
protected  void replaceFace(IFace origFace, IFace newFace)
          For use in copy constructor
protected  void replaceVertex(IVertex origVertex, IVertex newVertex)
          For use in copy constructor
 void triangulate(IFace f, boolean triangulateDirection, IMeshCreator creator)
           
 void triangulateAll(boolean triangulateDirection, IMeshCreator creator)
           
 void triangulateAtCenter(IMeshCreator creator)
           
 IVertex vertex(IIntegerI i)
           
 IVertex vertex(int i)
           
 int vertexNum()
           
 int vertexNum(ISwitchE e)
           
 IInteger vertexNum(ISwitchR r)
           
 
Methods inherited from class igeo.IParameterObject
createObject, parent, parent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

vertices

public java.util.ArrayList<IVertex> vertices

edges

public java.util.ArrayList<IEdge> edges

faces

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

IMeshGeo

public IMeshGeo(java.util.ArrayList<ICurveI> lines)

IMeshGeo

public IMeshGeo(java.util.ArrayList<ICurveI> lines,
                IMeshCreator creator)

IMeshGeo

public IMeshGeo(IVec[][] matrix)

IMeshGeo

public IMeshGeo(IVec[][] matrix,
                boolean triangulateDir)

IMeshGeo

public IMeshGeo(IVec[][] matrix,
                boolean triangulateDir,
                IMeshCreator creator)

IMeshGeo

public IMeshGeo(IVec[][] matrix,
                int unum,
                int vnum,
                boolean triangulateDir)

IMeshGeo

public IMeshGeo(IVec[][] matrix,
                int unum,
                int vnum,
                boolean triangulateDir,
                IMeshCreator creator)

IMeshGeo

public IMeshGeo()

IMeshGeo

public IMeshGeo(java.util.ArrayList<IVertex> v,
                java.util.ArrayList<IEdge> e,
                java.util.ArrayList<IFace> f)

IMeshGeo

public IMeshGeo(IVec[] vert)

IMeshGeo

public IMeshGeo(IVertex[] vert)

IMeshGeo

public IMeshGeo(IVertex v1,
                IVertex v2,
                IVertex v3)

IMeshGeo

public IMeshGeo(IVertex v1,
                IVertex v2,
                IVertex v3,
                IVertex v4)

IMeshGeo

public IMeshGeo(IVecI v1,
                IVecI v2,
                IVecI v3)

IMeshGeo

public IMeshGeo(IVecI v1,
                IVecI v2,
                IVecI v3,
                IVecI v4)

IMeshGeo

public IMeshGeo(double x1,
                double y1,
                double z1,
                double x2,
                double y2,
                double z2,
                double x3,
                double y3,
                double z3)

IMeshGeo

public IMeshGeo(double x1,
                double y1,
                double z1,
                double x2,
                double y2,
                double z2,
                double x3,
                double y3,
                double z3,
                double x4,
                double y4,
                double z4)

IMeshGeo

public IMeshGeo(IFace[] fcs)

IMeshGeo

public IMeshGeo(IMeshGeo m)
Method Detail

init

public void init(java.util.ArrayList<ICurveI> lines,
                 IMeshCreator creator)

get

public IMeshGeo get()
Specified by:
get in interface IMeshI

dup

public IMeshGeo dup()
Specified by:
dup in interface IMeshI

isValid

public boolean isValid()
Specified by:
isValid in interface IMeshI

replaceVertex

protected void replaceVertex(IVertex origVertex,
                             IVertex newVertex)
For use in copy constructor


replaceEdge

protected void replaceEdge(IEdge origEdge,
                           IEdge newEdge)
For use in copy constructor


replaceFace

protected void replaceFace(IFace origFace,
                           IFace newFace)
For use in copy constructor


createMeshWithEdges

static IMeshGeo createMeshWithEdges(java.util.ArrayList<IEdge> edges,
                                    IMeshCreator creator)

initWithEdges

public void initWithEdges(java.util.ArrayList<IEdge> edges,
                          IMeshCreator creator)

initWithPointMatrix

public void initWithPointMatrix(IVec[][] matrix,
                                int unum,
                                int vnum,
                                boolean triangulateDir,
                                IMeshCreator creator)

vertexNum

public int vertexNum()
Specified by:
vertexNum in interface IMeshI

edgeNum

public int edgeNum()
Specified by:
edgeNum in interface IMeshI

faceNum

public int faceNum()
Specified by:
faceNum in interface IMeshI

vertexNum

public int vertexNum(ISwitchE e)
Specified by:
vertexNum in interface IMeshI

edgeNum

public int edgeNum(ISwitchE e)
Specified by:
edgeNum in interface IMeshI

faceNum

public int faceNum(ISwitchE e)
Specified by:
faceNum in interface IMeshI

vertexNum

public IInteger vertexNum(ISwitchR r)
Specified by:
vertexNum in interface IMeshI

edgeNum

public IInteger edgeNum(ISwitchR r)
Specified by:
edgeNum in interface IMeshI

faceNum

public IInteger faceNum(ISwitchR r)
Specified by:
faceNum in interface IMeshI

vertex

public IVertex vertex(int i)
Specified by:
vertex in interface IMeshI

edge

public IEdge edge(int i)
Specified by:
edge in interface IMeshI

face

public IFace face(int i)
Specified by:
face in interface IMeshI

vertex

public IVertex vertex(IIntegerI i)
Specified by:
vertex in interface IMeshI

edge

public IEdge edge(IIntegerI i)
Specified by:
edge in interface IMeshI

face

public IFace face(IIntegerI i)
Specified by:
face in interface IMeshI

deleteVertex

public void deleteVertex(int i)

deleteEdge

public void deleteEdge(int i)

deleteFace

public void deleteFace(int i)

getIndex

public int getIndex(IVertex v)

getIndex

public int getIndex(IEdge e)

getIndex

public int getIndex(IFace f)

addFace

public void addFace(IFace f)

insertVertex

public IVertex insertVertex(IFace f,
                            IVertex v,
                            IMeshCreator creator)

replaceEdge

public void replaceEdge(IFace f,
                        IEdge oldEdge,
                        IEdge newEdge1,
                        IEdge newEdge2,
                        IVertex vertexOnEdge,
                        IMeshCreator creator)

divideEdge

public void divideEdge(IEdge e,
                       double ratio,
                       IMeshCreator creator)

divideFace

public void divideFace(IFace f,
                       IEdge e1,
                       IVertex nv1,
                       IEdge e2,
                       IVertex nv2,
                       IMeshCreator creator)

triangulate

public void triangulate(IFace f,
                        boolean triangulateDirection,
                        IMeshCreator creator)

triangulateAll

public void triangulateAll(boolean triangulateDirection,
                           IMeshCreator creator)

triangulateAtCenter

public void triangulateAtCenter(IMeshCreator creator)

getBoundingBox

public IVec[] getBoundingBox()

joinMesh

public static IMeshGeo joinMesh(IMeshGeo[] meshes)