igeo
Class IMeshGeo

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

public class IMeshGeo
extends IParameterObject
implements IMeshI

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

Author:
Satoru Sugihara

Field Summary
 boolean closed
           
 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<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(ICurveI[] lines)
           
IMeshGeo(ICurveI[] lines, IMeshType creator)
           
IMeshGeo(IFace[] fcs)
           
IMeshGeo(IMeshGeo m)
           
IMeshGeo(ISurfaceI[] faces)
          takes surfaces as face with 3 or 4 points face.
IMeshGeo(ISurfaceI[] faces, IMeshType creator)
          takes surfaces as face with 3 or 4 points face.
IMeshGeo(IVec[] vert)
           
IMeshGeo(IVec[][] matrix)
           
IMeshGeo(IVec[][] matrix, boolean triangulateDir)
           
IMeshGeo(IVec[][] matrix, boolean triangulateDir, IMeshType creator)
           
IMeshGeo(IVec[][] matrix, int unum, int vnum, boolean triangulateDir)
           
IMeshGeo(IVec[][] matrix, int unum, int vnum, boolean triangulateDir, IMeshType creator)
           
IMeshGeo(IVecI v1, IVecI v2, IVecI v3)
           
IMeshGeo(IVecI v1, IVecI v2, IVecI v3, IVecI v4)
           
IMeshGeo(IVertex[] vert)
           
IMeshGeo(IVertex[] vtx, IEdge[] edg, IFace[] fcs)
           
IMeshGeo(IVertex v1, IVertex v2, IVertex v3)
           
IMeshGeo(IVertex v1, IVertex v2, IVertex v3, IVertex v4)
           
 
Method Summary
 IMeshGeo add(double x, double y, double z)
          ITransformable methods
 IMeshGeo add(double f, IVecI v)
          scale add alias
 IMeshGeo add(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IMeshGeo add(IDoubleI f, IVecI v)
          scale add alias
 IMeshGeo add(IVecI v)
           
 IMeshGeo add(IVecI v, double f)
          scale add
 IMeshGeo add(IVecI v, IDoubleI f)
          scale add
 void addFace(IFace f)
           
 void addFace(IFace f, boolean checkVertexExisting, boolean checkEdgeExisting, boolean checkFaceExisting)
           
 void addPolygon(IVec[] v)
           
 void addPolygon(IVertex[] v)
           
 void addQuads(IVec[] v)
           
 void addQuads(IVertex[] v)
           
 void addQuadStrip(IVec[] v)
           
 void addQuadStrip(IVertex[] v)
           
 void addTriangleFan(IVec[] v)
           
 void addTriangleFan(IVertex[] v)
           
 void addTriangles(IVec[] v)
           
 void addTriangles(IVertex[] v)
           
 void addTriangleStrip(IVec[] v)
           
 void addTriangleStrip(IVertex[] v)
           
 IVec center()
          center of mesh, calculated by average of all vertices
 IMeshGeo close()
          only setting value to closed.
 IMeshGeo cp()
          cp() is alias of dup()
 IMeshGeo cp(double x, double y, double z)
          cp() is alias of dup().add()
 IMeshGeo cp(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IMeshGeo cp(IVecI v)
           
(package private) static IMeshGeo createMeshWithEdges(java.util.ArrayList<IEdge> edges, IMeshType creator)
           
 IMeshGeo deleteEdge(IEdge e)
           
 IMeshGeo deleteEdge(IIntegerI i)
           
 IMeshGeo deleteEdge(int i)
           
 IMeshGeo deleteFace(IFace f)
           
 IMeshGeo deleteFace(IIntegerI i)
           
 IMeshGeo deleteFace(int i)
           
 void deleteUnlinked()
           
 IMeshGeo deleteVertex(IIntegerI i)
           
 IMeshGeo deleteVertex(int i)
           
 IMeshGeo deleteVertex(IVertex v)
           
 IMeshGeo div(double v)
           
 IMeshGeo div(IDoubleI v)
           
 IEdge[] divideEdge(IEdge e, double[] ratios, IMeshType creator)
          divide by multiple ratios.
 void divideEdge(IEdge e, double ratio, IMeshType creator)
           
 IMeshGeo divideFace(IFace f, IEdge e1, IVertex nv1, IEdge e2, IVertex nv2, IMeshType creator)
           
 IMeshGeo dup()
          duplicate the instance
 IEdge edge(IIntegerI i)
           
 IEdge edge(int i)
           
 int edgeNum()
           
 int edgeNum(ISwitchE e)
           
 IInteger edgeNum(ISwitchR r)
           
 java.util.ArrayList<IEdge> edges()
          return all edges
 IFace face(IIntegerI i)
           
 IFace face(int i)
           
 int faceNum()
           
 int faceNum(ISwitchE e)
           
 IInteger faceNum(ISwitchR r)
           
 java.util.ArrayList<IFace> faces()
          return all faces
 java.util.ArrayList<java.util.ArrayList<IEdge>> findLoop(java.util.ArrayList<IEdge> edges)
           
 IMeshGeo flip()
          alias of neg
 IMeshGeo get()
           
 IVec[] getBoundingBox()
           
 int getIndex(IEdge e)
           
 int getIndex(IFace f)
           
 int getIndex(IVertex v)
           
 void initWithClosedLines(ICurveI[] lines, IMeshType creator)
           
 void initWithClosedLines(IVecI[][] linePts, IMeshType creator)
           
 void initWithEdges(java.util.ArrayList<IEdge> edges, IMeshType creator)
           
 void initWithLines(ICurveI[] lines, IMeshType creator)
           
 void initWithPointMatrix(IVec[][] matrix, int unum, int vnum, boolean triangulateDir, IMeshType creator)
           
 void initWithSurfaces(ISurfaceI[] faces, IMeshType creator)
           
 IVertex insertVertex(IFace f, IVertex v, IMeshType creator)
           
 boolean isClosed()
           
 boolean isValid()
           
 IMeshGeo join(IMeshGeo[] meshes)
          join other meshes into the current one and remove duplicated edges and vertices
 IMeshGeo join(IMeshGeo[] meshes, double tolerance)
          join other meshes into the current one and remove duplicated edges and vertices
static IMeshGeo joinMesh(IMeshGeo[] meshes)
           
 IMeshGeo mirror(IVecI planeDir)
          mirror is alias of ref
 IMeshGeo mirror(IVecI center, IVecI planeDir)
           
 IMeshGeo mul(double v)
           
 IMeshGeo mul(IDoubleI v)
           
 IMeshGeo mv(double x, double y, double z)
          mv() is alias of add()
 IMeshGeo mv(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IMeshGeo mv(IVecI v)
           
 IEdge[] nakedEdges()
          returns naked edges excluding duplicated edges on the same place.
 java.util.ArrayList<IEdge> nakedEdges(boolean checkDuplicatedEdge)
           
 IMeshGeo neg()
           
 IMeshGeo ref(IVecI planeDir)
          reflect(mirror) 3 dimensionally to the other side of the plane
 IMeshGeo ref(IVecI center, IVecI planeDir)
           
 IMeshGeo removeDuplicatedEdge()
          remove duplicated edge
 IMeshGeo removeDuplicates()
          remove duplicated vertices and edges
 IMeshGeo removeDuplicates(double tolerance)
          remove duplicated vertices and edges
protected  void replaceEdge(IEdge origEdge, IEdge newEdge)
          For use in copy constructor
 void replaceEdge(IFace f, IEdge oldEdge, IEdge newEdge1, IEdge newEdge2, IVertex vertexOnEdge, IMeshType 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
 IMeshGeo rev()
          alias of neg
 IMeshGeo rot(double angle)
           
 IMeshGeo rot(IDoubleI angle)
          rotation around z-axis and origin
 IMeshGeo rot(IVecI axis, double angle)
           
 IMeshGeo rot(IVecI axis, IDoubleI angle)
          rotation around axis vector
 IMeshGeo rot(IVecI axis, IVecI destDir)
          rotate to destination direction vector
 IMeshGeo rot(IVecI center, IVecI axis, double angle)
           
 IMeshGeo rot(IVecI center, IVecI axis, IDoubleI angle)
          rotation around axis vector and center
 IMeshGeo rot(IVecI center, IVecI axis, IVecI destPt)
          rotate to destination point location
 IMeshGeo rot2(double angle)
          rotation on xy-plane around origin; same with rot(double)
 IMeshGeo rot2(IDoubleI angle)
          rotation on xy-plane around origin; same with rot(IDoubleI)
 IMeshGeo rot2(IVecI destDir)
          rotation on xy-plane to destination direction vector
 IMeshGeo rot2(IVecI center, double angle)
           
 IMeshGeo rot2(IVecI center, IDoubleI angle)
          rotation on xy-plane around center
 IMeshGeo rot2(IVecI center, IVecI destPt)
          rotation on xy-plane to destination point location
 IMeshGeo scale(double f)
           
 IMeshGeo scale(IDoubleI f)
          alias of mul
 IMeshGeo scale(IVecI center, double f)
           
 IMeshGeo scale(IVecI center, IDoubleI f)
           
 IMeshGeo scale1d(IVecI axis, double f)
          scale only in 1 direction
 IMeshGeo scale1d(IVecI axis, IDoubleI f)
           
 IMeshGeo scale1d(IVecI center, IVecI axis, double f)
           
 IMeshGeo scale1d(IVecI center, IVecI axis, IDoubleI f)
           
 IMeshGeo shear(double sxy, double syx, double syz, double szy, double szx, double sxz)
          shear operation
 IMeshGeo shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
           
 IMeshGeo shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)
           
 IMeshGeo shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
           
 IMeshGeo shearXY(double sxy, double syx)
           
 IMeshGeo shearXY(IDoubleI sxy, IDoubleI syx)
           
 IMeshGeo shearXY(IVecI center, double sxy, double syx)
           
 IMeshGeo shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)
           
 IMeshGeo shearYZ(double syz, double szy)
           
 IMeshGeo shearYZ(IDoubleI syz, IDoubleI szy)
           
 IMeshGeo shearYZ(IVecI center, double syz, double szy)
           
 IMeshGeo shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)
           
 IMeshGeo shearZX(double szx, double sxz)
           
 IMeshGeo shearZX(IDoubleI szx, IDoubleI sxz)
           
 IMeshGeo shearZX(IVecI center, double szx, double sxz)
           
 IMeshGeo shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)
           
 IMeshGeo sub(double x, double y, double z)
           
 IMeshGeo sub(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IMeshGeo sub(IVecI v)
           
 void subdivideNakedEdges(java.util.ArrayList<IEdge> loop, int recursionNum, IMeshType creator)
           
 void subdivideNakedEdges(int recursionNum, IMeshType creator)
           
 IMeshGeo transform(IMatrix3I mat)
           
 IMeshGeo transform(IMatrix4I mat)
           
 IMeshGeo transform(IVecI xvec, IVecI yvec, IVecI zvec)
           
 IMeshGeo transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)
           
 IMeshGeo translate(double x, double y, double z)
          translate() is alias of add()
 IMeshGeo translate(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IMeshGeo translate(IVecI v)
           
 IMeshGeo triangulate()
           
 IMeshGeo triangulate(boolean triangulateDirection)
           
 IMeshGeo triangulate(boolean triangulateDirection, IMeshType creator)
           
 IMeshGeo triangulate(IFace f, boolean triangulateDirection, IMeshType creator)
           
 IMeshGeo triangulateAll(boolean triangulateDirection, IMeshType creator)
          alias of triangulate; fow downward compatibility
 IMeshGeo triangulateAtCenter()
           
 IMeshGeo triangulateAtCenter(IMeshType creator)
           
 IVertex vertex(IIntegerI i)
           
 IVertex vertex(int i)
           
 int vertexNum()
           
 int vertexNum(ISwitchE e)
           
 IInteger vertexNum(ISwitchR r)
           
 java.util.ArrayList<IVertex> vertices()
          return all vertices
 
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

closed

public boolean closed
Constructor Detail

IMeshGeo

public IMeshGeo(ICurveI[] lines)

IMeshGeo

public IMeshGeo(ICurveI[] lines,
                IMeshType creator)

IMeshGeo

public IMeshGeo(ISurfaceI[] faces)
takes surfaces as face with 3 or 4 points face. trim is ignored


IMeshGeo

public IMeshGeo(ISurfaceI[] faces,
                IMeshType creator)
takes surfaces as face with 3 or 4 points face. trim is ignored


IMeshGeo

public IMeshGeo(IVec[][] matrix)

IMeshGeo

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

IMeshGeo

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

IMeshGeo

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

IMeshGeo

public IMeshGeo(IVec[][] matrix,
                int unum,
                int vnum,
                boolean triangulateDir,
                IMeshType 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(IVertex[] vtx,
                IEdge[] edg,
                IFace[] fcs)

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

initWithLines

public void initWithLines(ICurveI[] lines,
                          IMeshType creator)

initWithClosedLines

public void initWithClosedLines(ICurveI[] lines,
                                IMeshType creator)

initWithClosedLines

public void initWithClosedLines(IVecI[][] linePts,
                                IMeshType creator)

initWithSurfaces

public void initWithSurfaces(ISurfaceI[] faces,
                             IMeshType creator)

get

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

dup

public IMeshGeo dup()
Description copied from interface: ITransformable
duplicate the instance

Specified by:
dup in interface IMeshI
Specified by:
dup in interface ITransformable

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,
                                    IMeshType creator)

initWithEdges

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

initWithPointMatrix

public void initWithPointMatrix(IVec[][] matrix,
                                int unum,
                                int vnum,
                                boolean triangulateDir,
                                IMeshType 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

vertices

public java.util.ArrayList<IVertex> vertices()
return all vertices

Specified by:
vertices in interface IMeshI

edges

public java.util.ArrayList<IEdge> edges()
return all edges

Specified by:
edges in interface IMeshI

faces

public java.util.ArrayList<IFace> faces()
return all faces

Specified by:
faces in interface IMeshI

center

public IVec center()
center of mesh, calculated by average of all vertices

Specified by:
center in interface IMeshI

deleteUnlinked

public void deleteUnlinked()

deleteVertex

public IMeshGeo deleteVertex(IVertex v)
Specified by:
deleteVertex in interface IMeshI

deleteEdge

public IMeshGeo deleteEdge(IEdge e)
Specified by:
deleteEdge in interface IMeshI

deleteFace

public IMeshGeo deleteFace(IFace f)
Specified by:
deleteFace in interface IMeshI

deleteVertex

public IMeshGeo deleteVertex(int i)
Specified by:
deleteVertex in interface IMeshI

deleteEdge

public IMeshGeo deleteEdge(int i)
Specified by:
deleteEdge in interface IMeshI

deleteFace

public IMeshGeo deleteFace(int i)
Specified by:
deleteFace in interface IMeshI

deleteVertex

public IMeshGeo deleteVertex(IIntegerI i)
Specified by:
deleteVertex in interface IMeshI

deleteEdge

public IMeshGeo deleteEdge(IIntegerI i)
Specified by:
deleteEdge in interface IMeshI

deleteFace

public IMeshGeo deleteFace(IIntegerI i)
Specified by:
deleteFace in interface IMeshI

getIndex

public int getIndex(IVertex v)

getIndex

public int getIndex(IEdge e)

getIndex

public int getIndex(IFace f)

addFace

public void addFace(IFace f)

addFace

public void addFace(IFace f,
                    boolean checkVertexExisting,
                    boolean checkEdgeExisting,
                    boolean checkFaceExisting)

addTriangles

public void addTriangles(IVertex[] v)

addTriangles

public void addTriangles(IVec[] v)

addQuads

public void addQuads(IVertex[] v)

addQuads

public void addQuads(IVec[] v)

addPolygon

public void addPolygon(IVertex[] v)

addPolygon

public void addPolygon(IVec[] v)

addTriangleStrip

public void addTriangleStrip(IVertex[] v)

addTriangleStrip

public void addTriangleStrip(IVec[] v)

addQuadStrip

public void addQuadStrip(IVertex[] v)

addQuadStrip

public void addQuadStrip(IVec[] v)

addTriangleFan

public void addTriangleFan(IVertex[] v)

addTriangleFan

public void addTriangleFan(IVec[] v)

insertVertex

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

replaceEdge

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

divideEdge

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

divideEdge

public IEdge[] divideEdge(IEdge e,
                          double[] ratios,
                          IMeshType creator)
divide by multiple ratios. ratios need to be orderd from smaller to larger

Parameters:
ratios - [0-1]: 0 -> e.vertices[0], 1->e.vertices[1]
Returns:
divided edges.

divideFace

public IMeshGeo divideFace(IFace f,
                           IEdge e1,
                           IVertex nv1,
                           IEdge e2,
                           IVertex nv2,
                           IMeshType creator)

triangulate

public IMeshGeo triangulate(IFace f,
                            boolean triangulateDirection,
                            IMeshType creator)

triangulate

public IMeshGeo triangulate()

triangulate

public IMeshGeo triangulate(boolean triangulateDirection)

triangulateAll

public IMeshGeo triangulateAll(boolean triangulateDirection,
                               IMeshType creator)
alias of triangulate; fow downward compatibility


triangulate

public IMeshGeo triangulate(boolean triangulateDirection,
                            IMeshType creator)

triangulateAtCenter

public IMeshGeo triangulateAtCenter()

triangulateAtCenter

public IMeshGeo triangulateAtCenter(IMeshType creator)

removeDuplicatedEdge

public IMeshGeo removeDuplicatedEdge()
remove duplicated edge


nakedEdges

public IEdge[] nakedEdges()
returns naked edges excluding duplicated edges on the same place. Note nakedEdges returns array and nakedEdges returns ArrayList. This is because nakedEdge(boolean) is inteded for internal uses and nakedEdge() is for external.

Returns:
array of naked edge

nakedEdges

public java.util.ArrayList<IEdge> nakedEdges(boolean checkDuplicatedEdge)
Parameters:
checkDuplicatedEdge - This boolean switch make it assume duplicated edges at the same location exist and they are supposed to be connected

subdivideNakedEdges

public void subdivideNakedEdges(int recursionNum,
                                IMeshType creator)

subdivideNakedEdges

public void subdivideNakedEdges(java.util.ArrayList<IEdge> loop,
                                int recursionNum,
                                IMeshType creator)

findLoop

public java.util.ArrayList<java.util.ArrayList<IEdge>> findLoop(java.util.ArrayList<IEdge> edges)

getBoundingBox

public IVec[] getBoundingBox()

close

public IMeshGeo close()
only setting value to closed. checking no connection of mesh

Specified by:
close in interface IMeshI

isClosed

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

joinMesh

public static IMeshGeo joinMesh(IMeshGeo[] meshes)

join

public IMeshGeo join(IMeshGeo[] meshes)
join other meshes into the current one and remove duplicated edges and vertices


join

public IMeshGeo join(IMeshGeo[] meshes,
                     double tolerance)
join other meshes into the current one and remove duplicated edges and vertices


removeDuplicates

public IMeshGeo removeDuplicates()
remove duplicated vertices and edges


removeDuplicates

public IMeshGeo removeDuplicates(double tolerance)
remove duplicated vertices and edges


add

public IMeshGeo add(double x,
                    double y,
                    double z)
ITransformable methods

Specified by:
add in interface ITransformable

add

public IMeshGeo add(IDoubleI x,
                    IDoubleI y,
                    IDoubleI z)
Specified by:
add in interface ITransformable

add

public IMeshGeo add(IVecI v)
Specified by:
add in interface ITransformable

sub

public IMeshGeo sub(double x,
                    double y,
                    double z)
Specified by:
sub in interface ITransformable

sub

public IMeshGeo sub(IDoubleI x,
                    IDoubleI y,
                    IDoubleI z)
Specified by:
sub in interface ITransformable

sub

public IMeshGeo sub(IVecI v)
Specified by:
sub in interface ITransformable

mul

public IMeshGeo mul(IDoubleI v)
Specified by:
mul in interface ITransformable

mul

public IMeshGeo mul(double v)
Specified by:
mul in interface ITransformable

div

public IMeshGeo div(IDoubleI v)
Specified by:
div in interface ITransformable

div

public IMeshGeo div(double v)
Specified by:
div in interface ITransformable

neg

public IMeshGeo neg()
Specified by:
neg in interface ITransformable

rev

public IMeshGeo rev()
alias of neg


flip

public IMeshGeo flip()
alias of neg

Specified by:
flip in interface ITransformable

add

public IMeshGeo add(IVecI v,
                    double f)
scale add

Specified by:
add in interface ITransformable

add

public IMeshGeo add(IVecI v,
                    IDoubleI f)
scale add

Specified by:
add in interface ITransformable

add

public IMeshGeo add(double f,
                    IVecI v)
scale add alias

Specified by:
add in interface ITransformable

add

public IMeshGeo add(IDoubleI f,
                    IVecI v)
scale add alias

Specified by:
add in interface ITransformable

rot

public IMeshGeo rot(IDoubleI angle)
rotation around z-axis and origin

Specified by:
rot in interface ITransformable

rot

public IMeshGeo rot(double angle)
Specified by:
rot in interface ITransformable

rot

public IMeshGeo rot(IVecI axis,
                    IDoubleI angle)
rotation around axis vector

Specified by:
rot in interface ITransformable

rot

public IMeshGeo rot(IVecI axis,
                    double angle)
Specified by:
rot in interface ITransformable

rot

public IMeshGeo rot(IVecI center,
                    IVecI axis,
                    IDoubleI angle)
rotation around axis vector and center

Specified by:
rot in interface ITransformable

rot

public IMeshGeo rot(IVecI center,
                    IVecI axis,
                    double angle)
Specified by:
rot in interface ITransformable

rot

public IMeshGeo rot(IVecI axis,
                    IVecI destDir)
rotate to destination direction vector

Specified by:
rot in interface ITransformable

rot

public IMeshGeo rot(IVecI center,
                    IVecI axis,
                    IVecI destPt)
rotate to destination point location

Specified by:
rot in interface ITransformable

rot2

public IMeshGeo rot2(IDoubleI angle)
rotation on xy-plane around origin; same with rot(IDoubleI)

Specified by:
rot2 in interface ITransformable

rot2

public IMeshGeo rot2(double angle)
rotation on xy-plane around origin; same with rot(double)

Specified by:
rot2 in interface ITransformable

rot2

public IMeshGeo rot2(IVecI center,
                     IDoubleI angle)
rotation on xy-plane around center

Specified by:
rot2 in interface ITransformable

rot2

public IMeshGeo rot2(IVecI center,
                     double angle)
Specified by:
rot2 in interface ITransformable

rot2

public IMeshGeo rot2(IVecI destDir)
rotation on xy-plane to destination direction vector

Specified by:
rot2 in interface ITransformable

rot2

public IMeshGeo rot2(IVecI center,
                     IVecI destPt)
rotation on xy-plane to destination point location

Specified by:
rot2 in interface ITransformable

scale

public IMeshGeo scale(IDoubleI f)
alias of mul

Specified by:
scale in interface ITransformable

scale

public IMeshGeo scale(double f)
Specified by:
scale in interface ITransformable

scale

public IMeshGeo scale(IVecI center,
                      IDoubleI f)
Specified by:
scale in interface ITransformable

scale

public IMeshGeo scale(IVecI center,
                      double f)
Specified by:
scale in interface ITransformable

scale1d

public IMeshGeo scale1d(IVecI axis,
                        double f)
scale only in 1 direction

Specified by:
scale1d in interface ITransformable

scale1d

public IMeshGeo scale1d(IVecI axis,
                        IDoubleI f)
Specified by:
scale1d in interface ITransformable

scale1d

public IMeshGeo scale1d(IVecI center,
                        IVecI axis,
                        double f)
Specified by:
scale1d in interface ITransformable

scale1d

public IMeshGeo scale1d(IVecI center,
                        IVecI axis,
                        IDoubleI f)
Specified by:
scale1d in interface ITransformable

ref

public IMeshGeo ref(IVecI planeDir)
reflect(mirror) 3 dimensionally to the other side of the plane

Specified by:
ref in interface ITransformable

ref

public IMeshGeo ref(IVecI center,
                    IVecI planeDir)
Specified by:
ref in interface ITransformable

mirror

public IMeshGeo mirror(IVecI planeDir)
mirror is alias of ref

Specified by:
mirror in interface ITransformable

mirror

public IMeshGeo mirror(IVecI center,
                       IVecI planeDir)
Specified by:
mirror in interface ITransformable

shear

public IMeshGeo shear(double sxy,
                      double syx,
                      double syz,
                      double szy,
                      double szx,
                      double sxz)
shear operation

Specified by:
shear in interface ITransformable

shear

public IMeshGeo shear(IDoubleI sxy,
                      IDoubleI syx,
                      IDoubleI syz,
                      IDoubleI szy,
                      IDoubleI szx,
                      IDoubleI sxz)
Specified by:
shear in interface ITransformable

shear

public IMeshGeo shear(IVecI center,
                      double sxy,
                      double syx,
                      double syz,
                      double szy,
                      double szx,
                      double sxz)
Specified by:
shear in interface ITransformable

shear

public IMeshGeo shear(IVecI center,
                      IDoubleI sxy,
                      IDoubleI syx,
                      IDoubleI syz,
                      IDoubleI szy,
                      IDoubleI szx,
                      IDoubleI sxz)
Specified by:
shear in interface ITransformable

shearXY

public IMeshGeo shearXY(double sxy,
                        double syx)
Specified by:
shearXY in interface ITransformable

shearXY

public IMeshGeo shearXY(IDoubleI sxy,
                        IDoubleI syx)
Specified by:
shearXY in interface ITransformable

shearXY

public IMeshGeo shearXY(IVecI center,
                        double sxy,
                        double syx)
Specified by:
shearXY in interface ITransformable

shearXY

public IMeshGeo shearXY(IVecI center,
                        IDoubleI sxy,
                        IDoubleI syx)
Specified by:
shearXY in interface ITransformable

shearYZ

public IMeshGeo shearYZ(double syz,
                        double szy)
Specified by:
shearYZ in interface ITransformable

shearYZ

public IMeshGeo shearYZ(IDoubleI syz,
                        IDoubleI szy)
Specified by:
shearYZ in interface ITransformable

shearYZ

public IMeshGeo shearYZ(IVecI center,
                        double syz,
                        double szy)
Specified by:
shearYZ in interface ITransformable

shearYZ

public IMeshGeo shearYZ(IVecI center,
                        IDoubleI syz,
                        IDoubleI szy)
Specified by:
shearYZ in interface ITransformable

shearZX

public IMeshGeo shearZX(double szx,
                        double sxz)
Specified by:
shearZX in interface ITransformable

shearZX

public IMeshGeo shearZX(IDoubleI szx,
                        IDoubleI sxz)
Specified by:
shearZX in interface ITransformable

shearZX

public IMeshGeo shearZX(IVecI center,
                        double szx,
                        double sxz)
Specified by:
shearZX in interface ITransformable

shearZX

public IMeshGeo shearZX(IVecI center,
                        IDoubleI szx,
                        IDoubleI sxz)
Specified by:
shearZX in interface ITransformable

mv

public IMeshGeo mv(double x,
                   double y,
                   double z)
mv() is alias of add()

Specified by:
mv in interface ITransformable

mv

public IMeshGeo mv(IDoubleI x,
                   IDoubleI y,
                   IDoubleI z)
Specified by:
mv in interface ITransformable

mv

public IMeshGeo mv(IVecI v)
Specified by:
mv in interface ITransformable

cp

public IMeshGeo cp()
cp() is alias of dup()

Specified by:
cp in interface IMeshI
Specified by:
cp in interface ITransformable

cp

public IMeshGeo cp(double x,
                   double y,
                   double z)
cp() is alias of dup().add()

Specified by:
cp in interface IMeshI
Specified by:
cp in interface ITransformable

cp

public IMeshGeo cp(IDoubleI x,
                   IDoubleI y,
                   IDoubleI z)
Specified by:
cp in interface IMeshI
Specified by:
cp in interface ITransformable

cp

public IMeshGeo cp(IVecI v)
Specified by:
cp in interface IMeshI
Specified by:
cp in interface ITransformable

translate

public IMeshGeo translate(double x,
                          double y,
                          double z)
translate() is alias of add()

Specified by:
translate in interface ITransformable

translate

public IMeshGeo translate(IDoubleI x,
                          IDoubleI y,
                          IDoubleI z)
Specified by:
translate in interface ITransformable

translate

public IMeshGeo translate(IVecI v)
Specified by:
translate in interface ITransformable

transform

public IMeshGeo transform(IMatrix3I mat)
Specified by:
transform in interface ITransformable

transform

public IMeshGeo transform(IMatrix4I mat)
Specified by:
transform in interface ITransformable

transform

public IMeshGeo transform(IVecI xvec,
                          IVecI yvec,
                          IVecI zvec)
Specified by:
transform in interface ITransformable

transform

public IMeshGeo transform(IVecI xvec,
                          IVecI yvec,
                          IVecI zvec,
                          IVecI translate)
Specified by:
transform in interface ITransformable