Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## igeo
Class IMeshGeo

    java.lang.Object
      igeo.IParameterObject
          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()`
`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
`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()

### joinMesh

    public static IMeshGeo joinMesh(IMeshGeo[] meshes)

### 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`

### 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`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD