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 ICollidableMesh

    java.lang.Object
      igeo.IObject
          igeo.IGeometry
              igeo.IMesh
                  igeo.ICollidableMesh

All Implemented Interfaces:
  IMeshI, ITransformable

    public class ICollidableMesh

extends IMesh

Class of polygon mesh with collidable ITriangleWall for IParticleI on each face

Author:
  Satoru Sugihara

Field Summary
`java.util.ArrayList<ITriangleWall>` | `collidables`

Fields inherited from class igeo.IMesh
`mesh`

Fields inherited from class igeo.IObject
`attribute, dynamics, graphics, parameter, server, userData`

Constructor Summary
`ICollidableMesh()`
`ICollidableMesh(java.util.ArrayList<IVertex> v, java.util.ArrayList<IEdge> e, java.util.ArrayList<IFace> f)`
`ICollidableMesh(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)`
`ICollidableMesh(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, double x4, double y4, double z4)`
`ICollidableMesh(ICollidableMesh m)`
`ICollidableMesh(ICurveI[] lines)`
`ICollidableMesh(IFace[] fcs)`
`ICollidableMesh(IMesh m)`
`ICollidableMesh(IMeshGeo m)`
`ICollidableMesh(IServerI s)`
`ICollidableMesh(IServerI s, java.util.ArrayList<IVertex> v, java.util.ArrayList<IEdge> e, java.util.ArrayList<IFace> f)`
`ICollidableMesh(IServerI s, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)`
`ICollidableMesh(IServerI s, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, double x4, double y4, double z4)`
`ICollidableMesh(IServerI s, ICollidableMesh m)`
`ICollidableMesh(IServerI s, ICurveI[] lines)`
`ICollidableMesh(IServerI s, IFace[] fcs)`
`ICollidableMesh(IServerI s, IMesh m)`
`ICollidableMesh(IServerI s, IMeshGeo m)`
`ICollidableMesh(IServerI s, ISurfaceI[] faces)` each input surface builds one 3 or 4 point face.
`ICollidableMesh(IServerI s, IVec[] vert)`
`ICollidableMesh(IServerI s, IVec[][] matrix)`
`ICollidableMesh(IServerI s, IVec[][] matrix, boolean triangulateDir)`
`ICollidableMesh(IServerI s, IVec[][] matrix, boolean triangulateDir, IMeshType creator)`
`ICollidableMesh(IServerI s, IVec[][] matrix, int unum, int vnum, boolean triangulateDir)`
`ICollidableMesh(IServerI s, IVec[][] matrix, int unum, int vnum, boolean triangulateDir, IMeshType creator)`
`ICollidableMesh(IServerI s, IVecI v1, IVecI v2, IVecI v3)`
`ICollidableMesh(IServerI s, IVecI v1, IVecI v2, IVecI v3, IVecI v4)`
`ICollidableMesh(IServerI s, IVertex[] vert)`
`ICollidableMesh(IServerI s, IVertex[] vtx, IEdge[] edg, IFace[] fcs)`
`ICollidableMesh(IServerI s, IVertex v1, IVertex v2, IVertex v3)`
`ICollidableMesh(IServerI s, IVertex v1, IVertex v2, IVertex v3, IVertex v4)`
`ICollidableMesh(ISurfaceI[] faces)` each input surface builds one 3 or 4 point face.
`ICollidableMesh(IVec[] vert)`
`ICollidableMesh(IVec[][] matrix)`
`ICollidableMesh(IVec[][] matrix, boolean triangulateDir)`
`ICollidableMesh(IVec[][] matrix, boolean triangulateDir, IMeshType creator)`
`ICollidableMesh(IVec[][] matrix, int unum, int vnum, boolean triangulateDir)`
`ICollidableMesh(IVec[][] matrix, int unum, int vnum, boolean triangulateDir, IMeshType creator)`
`ICollidableMesh(IVecI v1, IVecI v2, IVecI v3)`
`ICollidableMesh(IVecI v1, IVecI v2, IVecI v3, IVecI v4)`
`ICollidableMesh(IVertex[] vert)`
`ICollidableMesh(IVertex[] vtx, IEdge[] edg, IFace[] fcs)`
`ICollidableMesh(IVertex v1, IVertex v2, IVertex v3)`
`ICollidableMesh(IVertex v1, IVertex v2, IVertex v3, IVertex v4)`

Method Summary
`ICollidableMesh` | `add(double x, double y, double z)` ITransformable methods
`ICollidableMesh` | `add(double f, IVecI v)` scale add alias
`ICollidableMesh` | `add(IDoubleI x, IDoubleI y, IDoubleI z)`
`ICollidableMesh` | `add(IDoubleI f, IVecI v)` scale add alias
`ICollidableMesh` | `add(IVecI v)`
`ICollidableMesh` | `add(IVecI v, double f)` scale add
`ICollidableMesh` | `add(IVecI v, IDoubleI f)` scale add
`ICollidableMesh` | `addFace(IFace f)`
`ICollidableMesh` | `addFace(IFace f, boolean checkExistingVertex, boolean checkExistingEdge, boolean checkExistingFace)`
`ICollidableMesh` | `addPolygon(IVec[] v)`
`ICollidableMesh` | `addPolygon(IVertex[] v)`
`ICollidableMesh` | `addQuads(IVec[] v)`
`ICollidableMesh` | `addQuads(IVertex[] v)`
`ICollidableMesh` | `addQuadStrip(IVec[] v)`
`ICollidableMesh` | `addQuadStrip(IVertex[] v)`
`ICollidableMesh` | `addTriangleFan(IVec[] v)`
`ICollidableMesh` | `addTriangleFan(IVertex[] v)`
`ICollidableMesh` | `addTriangles(IVec[] v)`
`ICollidableMesh` | `addTriangles(IVertex[] v)`
`ICollidableMesh` | `addTriangleStrip(IVec[] v)`
`ICollidableMesh` | `addTriangleStrip(IVertex[] v)`
`ICollidableMesh` | `attr(IAttribute at)` set attributes
`ICollidableMesh` | `close()` only setting value to closed.
`ICollidableMesh` | `clr(java.awt.Color c)`
`ICollidableMesh` | `clr(java.awt.Color c, int alpha)`
`ICollidableMesh` | `clr(double dgray)`
`ICollidableMesh` | `clr(double dgray, double dalpha)`
`ICollidableMesh` | `clr(double dr, double dg, double db)`
`ICollidableMesh` | `clr(double dr, double dg, double db, double da)`
`ICollidableMesh` | `clr(float fgray)`
`ICollidableMesh` | `clr(float fgray, float falpha)`
`ICollidableMesh` | `clr(float fr, float fg, float fb)`
`ICollidableMesh` | `clr(float fr, float fg, float fb, float fa)`
`ICollidableMesh` | `clr(int gray)`
`ICollidableMesh` | `clr(int gray, int alpha)`
`ICollidableMesh` | `clr(int r, int g, int b)`
`ICollidableMesh` | `clr(int r, int g, int b, int a)`
`ICollidableMesh` | `cp()` cp() is alias of dup()
`ICollidableMesh` | `cp(double x, double y, double z)` cp() is alias of dup().add()
`ICollidableMesh` | `cp(IDoubleI x, IDoubleI y, IDoubleI z)`
`ICollidableMesh` | `cp(IVecI v)`
`ICollidableMesh` | `deleteEdge(IEdge e)`
`ICollidableMesh` | `deleteEdge(IIntegerI i)`
`ICollidableMesh` | `deleteEdge(int i)`
`ICollidableMesh` | `deleteFace(IFace f)`
`ICollidableMesh` | `deleteFace(IIntegerI i)`
`ICollidableMesh` | `deleteFace(int i)`
`ICollidableMesh` | `deleteVertex(IIntegerI i)`
`ICollidableMesh` | `deleteVertex(int i)`
`ICollidableMesh` | `deleteVertex(IVertex v)`
`ICollidableMesh` | `div(double v)`
`ICollidableMesh` | `div(IDoubleI v)`
`ICollidableMesh` | `dup()` duplicate object
`ICollidableMesh` | `elast(double elasticity)`
`ICollidableMesh` | `elasticity(double elasticity)`
`ICollidableMesh` | `flip()` alias of neg
`ICollidableMesh` | `fric(double friction)`
`ICollidableMesh` | `friction(double friction)`
`ICollidableMesh` | `hide()`
`ICollidableMesh` | `hsb(double h, double s, double b)`
`ICollidableMesh` | `hsb(double h, double s, double b, double a)`
`ICollidableMesh` | `hsb(float h, float s, float b)`
`ICollidableMesh` | `hsb(float h, float s, float b, float a)`
`void` | `initCollidable()`
`void` | `initCollidable(ICollidableMesh m)`
`ICollidableMesh` | `layer(ILayer l)` Set layer by ILayer object
`ICollidableMesh` | `layer(java.lang.String l)` Set layer by layer name.
`ICollidableMesh` | `mirror(IVecI planeDir)` mirror is alias of ref
`ICollidableMesh` | `mirror(IVecI center, IVecI planeDir)`
`ICollidableMesh` | `mul(double v)`
`ICollidableMesh` | `mul(IDoubleI v)`
`ICollidableMesh` | `mv(double x, double y, double z)` mv() is alias of add()
`ICollidableMesh` | `mv(IDoubleI x, IDoubleI y, IDoubleI z)`
`ICollidableMesh` | `mv(IVecI v)`
`ICollidableMesh` | `name(java.lang.String nm)`
`ICollidableMesh` | `neg()`
`ICollidableMesh` | `ref(IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
`ICollidableMesh` | `ref(IVecI center, IVecI planeDir)`
`ICollidableMesh` | `rev()` alias of neg
`ICollidableMesh` | `rot(double angle)`
`ICollidableMesh` | `rot(IDoubleI angle)` rotation around z-axis and origin
`ICollidableMesh` | `rot(IVecI axis, double angle)`
`ICollidableMesh` | `rot(IVecI axis, IDoubleI angle)` rotation around axis vector
`ICollidableMesh` | `rot(IVecI axis, IVecI destDir)` rotate to destination direction vector
`ICollidableMesh` | `rot(IVecI center, IVecI axis, double angle)`
`ICollidableMesh` | `rot(IVecI center, IVecI axis, IDoubleI angle)` rotation around axis vector and center
`ICollidableMesh` | `rot(IVecI center, IVecI axis, IVecI destPt)` rotate to destination point location
`ICollidableMesh` | `rot2(double angle)` rotation on xy-plane around origin; same with rot(double)
`ICollidableMesh` | `rot2(IDoubleI angle)` rotation on xy-plane around origin; same with rot(IDoubleI)
`ICollidableMesh` | `rot2(IVecI destDir)` rotation on xy-plane to destination direction vector
`ICollidableMesh` | `rot2(IVecI center, double angle)`
`ICollidableMesh` | `rot2(IVecI center, IDoubleI angle)` rotation on xy-plane around center
`ICollidableMesh` | `rot2(IVecI center, IVecI destPt)` rotation on xy-plane to destination point location
`ICollidableMesh` | `scale(double f)`
`ICollidableMesh` | `scale(IDoubleI f)` alias of mul
`ICollidableMesh` | `scale(IVecI center, double f)`
`ICollidableMesh` | `scale(IVecI center, IDoubleI f)`
`ICollidableMesh` | `scale1d(IVecI axis, double f)` scale only in 1 direction
`ICollidableMesh` | `scale1d(IVecI axis, IDoubleI f)`
`ICollidableMesh` | `scale1d(IVecI center, IVecI axis, double f)`
`ICollidableMesh` | `scale1d(IVecI center, IVecI axis, IDoubleI f)`
`ICollidableMesh` | `setColor(java.awt.Color c)`
`ICollidableMesh` | `setColor(java.awt.Color c, int alpha)`
`ICollidableMesh` | `setColor(double dgray)`
`ICollidableMesh` | `setColor(double dgray, double dalpha)`
`ICollidableMesh` | `setColor(double dr, double dg, double db)`
`ICollidableMesh` | `setColor(double dr, double dg, double db, double da)`
`ICollidableMesh` | `setColor(float fgray)`
`ICollidableMesh` | `setColor(float fgray, float falpha)`
`ICollidableMesh` | `setColor(float fr, float fg, float fb)`
`ICollidableMesh` | `setColor(float fr, float fg, float fb, float fa)`
`ICollidableMesh` | `setColor(int gray)`
`ICollidableMesh` | `setColor(int gray, int alpha)`
`ICollidableMesh` | `setColor(int r, int g, int b)`
`ICollidableMesh` | `setColor(int r, int g, int b, int a)`
`ICollidableMesh` | `setHSBColor(double h, double s, double b)`
`ICollidableMesh` | `setHSBColor(double h, double s, double b, double a)`
`ICollidableMesh` | `setHSBColor(float h, float s, float b)`
`ICollidableMesh` | `setHSBColor(float h, float s, float b, float a)`
`ICollidableMesh` | `shear(double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
`ICollidableMesh` | `shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)`
`ICollidableMesh` | `shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)`
`ICollidableMesh` | `shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)`
`ICollidableMesh` | `shearXY(double sxy, double syx)`
`ICollidableMesh` | `shearXY(IDoubleI sxy, IDoubleI syx)`
`ICollidableMesh` | `shearXY(IVecI center, double sxy, double syx)`
`ICollidableMesh` | `shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)`
`ICollidableMesh` | `shearYZ(double syz, double szy)`
`ICollidableMesh` | `shearYZ(IDoubleI syz, IDoubleI szy)`
`ICollidableMesh` | `shearYZ(IVecI center, double syz, double szy)`
`ICollidableMesh` | `shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)`
`ICollidableMesh` | `shearZX(double szx, double sxz)`
`ICollidableMesh` | `shearZX(IDoubleI szx, IDoubleI sxz)`
`ICollidableMesh` | `shearZX(IVecI center, double szx, double sxz)`
`ICollidableMesh` | `shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)`
`ICollidableMesh` | `show()`
`ICollidableMesh` | `sub(double x, double y, double z)`
`ICollidableMesh` | `sub(IDoubleI x, IDoubleI y, IDoubleI z)`
`ICollidableMesh` | `sub(IVecI v)`
`ICollidableMesh` | `transform(IMatrix3I mat)`
`ICollidableMesh` | `transform(IMatrix4I mat)`
`ICollidableMesh` | `transform(IVecI xvec, IVecI yvec, IVecI zvec)`
`ICollidableMesh` | `transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)`
`ICollidableMesh` | `translate(double x, double y, double z)` translate() is alias of add()
`ICollidableMesh` | `translate(IDoubleI x, IDoubleI y, IDoubleI z)`
`ICollidableMesh` | `translate(IVecI v)`
`ICollidableMesh` | `weight(double w)`
`ICollidableMesh` | `weight(float w)`

Methods inherited from class igeo.IMesh
`center, clr, clr, clr, clr, clr, clr, createGraphic, edge, edge, edgeNum, edgeNum, edgeNum, edges, face, face, faceNum, faceNum, faceNum, faces, get, initMesh, isClosed, isValid, join, join, joinMesh, nakedEdges, removeDuplicates, removeDuplicates, setColor, setColor, setColor, setColor, setColor, setColor, triangulate, triangulate, updateGraphic, vertex, vertex, vertexNum, vertexNum, vertexNum, vertices`

Methods inherited from class igeo.IObject
`addDynamics, alpha, alphaInt, attr, attr, awtColor, blue, blueInt, clearDynamics, clearGraphics, clr, defaultAttribute, del, deletDynamics, deleteDynamics, deleteDynamics, deleteGraphic, dynamicsNum, getAWTColor, getColor, getDynamics, getGraphic, getGraphic, getParameter, graphicsNum, gray, grayInt, green, greenInt, greyInt, initGraphic, initObject, isVisible, layer, name, red, redInt, resetGraphic, server, setParameter, syncColor, syncGraphic, syncVisibility, syncWeight, userData, userData, visible, weight`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### collidables

    public java.util.ArrayList<ITriangleWall> collidables

Constructor Detail

### ICollidableMesh

    public ICollidableMesh()

### ICollidableMesh

    public ICollidableMesh(IServerI s)

### ICollidableMesh

    public ICollidableMesh(IMeshGeo m)

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           IMeshGeo m)

### ICollidableMesh

    public ICollidableMesh(IMesh m)

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           IMesh m)

### ICollidableMesh

    public ICollidableMesh(ICollidableMesh m)

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           ICollidableMesh m)

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           ICurveI[] lines)

### ICollidableMesh

    public ICollidableMesh(ICurveI[] lines)

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           ISurfaceI[] faces)

  each input surface builds one 3 or 4 point face. trim is ignored.

### ICollidableMesh

    public ICollidableMesh(ISurfaceI[] faces)

  each input surface builds one 3 or 4 point face. trim is ignored.

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           IVec[][] matrix)

### ICollidableMesh

    public ICollidableMesh(IVec[][] matrix)

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           IVec[][] matrix,
                           boolean triangulateDir)

### ICollidableMesh

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

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           IVec[][] matrix,
                           boolean triangulateDir,
                           IMeshType creator)

### ICollidableMesh

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

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           IVec[][] matrix,
                           int unum,
                           int vnum,
                           boolean triangulateDir)

### ICollidableMesh

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

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           IVec[][] matrix,
                           int unum,
                           int vnum,
                           boolean triangulateDir,
                           IMeshType creator)

### ICollidableMesh

    public ICollidableMesh(IVec[][] matrix,
                           int unum,
                           int vnum,
                           boolean triangulateDir,
                           IMeshType creator)

### ICollidableMesh

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

### ICollidableMesh

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

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           IVertex[] vtx,
                           IEdge[] edg,
                           IFace[] fcs)

### ICollidableMesh

    public ICollidableMesh(IVertex[] vtx,
                           IEdge[] edg,
                           IFace[] fcs)

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           IVec[] vert)

### ICollidableMesh

    public ICollidableMesh(IVec[] vert)

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           IVertex[] vert)

### ICollidableMesh

    public ICollidableMesh(IVertex[] vert)

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           IVertex v1,
                           IVertex v2,
                           IVertex v3)

### ICollidableMesh

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

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           IVertex v1,
                           IVertex v2,
                           IVertex v3,
                           IVertex v4)

### ICollidableMesh

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

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           IVecI v1,
                           IVecI v2,
                           IVecI v3)

### ICollidableMesh

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

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           IVecI v1,
                           IVecI v2,
                           IVecI v3,
                           IVecI v4)

### ICollidableMesh

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

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           double x1,
                           double y1,
                           double z1,
                           double x2,
                           double y2,
                           double z2,
                           double x3,
                           double y3,
                           double z3)

### ICollidableMesh

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

### ICollidableMesh

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

### ICollidableMesh

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

### ICollidableMesh

    public ICollidableMesh(IServerI s,
                           IFace[] fcs)

### ICollidableMesh

    public ICollidableMesh(IFace[] fcs)

Method Detail

### dup

    public ICollidableMesh dup()

  Description copied from class: `IObject`
  duplicate object

  Specified by:
    `dup` in interface `IMeshI`
  Specified by:
    `dup` in interface `ITransformable`
  Overrides:
    `dup` in class `IMesh`

### initCollidable

    public void initCollidable()

### initCollidable

    public void initCollidable(ICollidableMesh m)

### fric

    public ICollidableMesh fric(double friction)

### friction

    public ICollidableMesh friction(double friction)

### elast

    public ICollidableMesh elast(double elasticity)

### elasticity

    public ICollidableMesh elasticity(double elasticity)

### addFace

    public ICollidableMesh addFace(IFace f)

  Overrides:
    `addFace` in class `IMesh`

### addFace

    public ICollidableMesh addFace(IFace f,
                                   boolean checkExistingVertex,
                                   boolean checkExistingEdge,
                                   boolean checkExistingFace)

  Overrides:
    `addFace` in class `IMesh`

### addTriangles

    public ICollidableMesh addTriangles(IVertex[] v)

  Overrides:
    `addTriangles` in class `IMesh`

### addTriangles

    public ICollidableMesh addTriangles(IVec[] v)

  Overrides:
    `addTriangles` in class `IMesh`

### addQuads

    public ICollidableMesh addQuads(IVertex[] v)

  Overrides:
    `addQuads` in class `IMesh`

### addQuads

    public ICollidableMesh addQuads(IVec[] v)

  Overrides:
    `addQuads` in class `IMesh`

### addPolygon

    public ICollidableMesh addPolygon(IVertex[] v)

  Overrides:
    `addPolygon` in class `IMesh`

### addPolygon

    public ICollidableMesh addPolygon(IVec[] v)

  Overrides:
    `addPolygon` in class `IMesh`

### addTriangleStrip

    public ICollidableMesh addTriangleStrip(IVertex[] v)

  Overrides:
    `addTriangleStrip` in class `IMesh`

### addTriangleStrip

    public ICollidableMesh addTriangleStrip(IVec[] v)

  Overrides:
    `addTriangleStrip` in class `IMesh`

### addQuadStrip

    public ICollidableMesh addQuadStrip(IVertex[] v)

  Overrides:
    `addQuadStrip` in class `IMesh`

### addQuadStrip

    public ICollidableMesh addQuadStrip(IVec[] v)

  Overrides:
    `addQuadStrip` in class `IMesh`

### addTriangleFan

    public ICollidableMesh addTriangleFan(IVertex[] v)

  Overrides:
    `addTriangleFan` in class `IMesh`

### addTriangleFan

    public ICollidableMesh addTriangleFan(IVec[] v)

  Overrides:
    `addTriangleFan` in class `IMesh`

### name

    public ICollidableMesh name(java.lang.String nm)

  Overrides:
    `name` in class `IMesh`

### layer

    public ICollidableMesh layer(ILayer l)

  Description copied from class: `IGeometry`
  Set layer by ILayer object

  Overrides:
    `layer` in class `IMesh`

### layer

    public ICollidableMesh layer(java.lang.String l)

  Description copied from class: `IGeometry`
  Set layer by layer name. If the layer specified by the name is not existing in the server, a new layer is automatically created in the server

  Overrides:
    `layer` in class `IMesh`

### attr

    public ICollidableMesh attr(IAttribute at)

  Description copied from class: `IObject`
  set attributes

  Overrides:
    `attr` in class `IMesh`

### hide

    public ICollidableMesh hide()

  Overrides:
    `hide` in class `IMesh`

### show

    public ICollidableMesh show()

  Overrides:
    `show` in class `IMesh`

### clr

    public ICollidableMesh clr(java.awt.Color c)

  Overrides:
    `clr` in class `IMesh`

### clr

    public ICollidableMesh clr(java.awt.Color c,
                               int alpha)

  Overrides:
    `clr` in class `IMesh`

### clr

    public ICollidableMesh clr(int gray)

  Overrides:
    `clr` in class `IMesh`

### clr

    public ICollidableMesh clr(float fgray)

  Overrides:
    `clr` in class `IMesh`

### clr

    public ICollidableMesh clr(double dgray)

  Overrides:
    `clr` in class `IMesh`

### clr

    public ICollidableMesh clr(int gray,
                               int alpha)

  Overrides:
    `clr` in class `IMesh`

### clr

    public ICollidableMesh clr(float fgray,
                               float falpha)

  Overrides:
    `clr` in class `IMesh`

### clr

    public ICollidableMesh clr(double dgray,
                               double dalpha)

  Overrides:
    `clr` in class `IMesh`

### clr

    public ICollidableMesh clr(int r,
                               int g,
                               int b)

  Overrides:
    `clr` in class `IMesh`

### clr

    public ICollidableMesh clr(float fr,
                               float fg,
                               float fb)

  Overrides:
    `clr` in class `IMesh`

### clr

    public ICollidableMesh clr(double dr,
                               double dg,
                               double db)

  Overrides:
    `clr` in class `IMesh`

### clr

    public ICollidableMesh clr(int r,
                               int g,
                               int b,
                               int a)

  Overrides:
    `clr` in class `IMesh`

### clr

    public ICollidableMesh clr(float fr,
                               float fg,
                               float fb,
                               float fa)

  Overrides:
    `clr` in class `IMesh`

### clr

    public ICollidableMesh clr(double dr,
                               double dg,
                               double db,
                               double da)

  Overrides:
    `clr` in class `IMesh`

### hsb

    public ICollidableMesh hsb(float h,
                               float s,
                               float b,
                               float a)

  Overrides:
    `hsb` in class `IMesh`

### hsb

    public ICollidableMesh hsb(double h,
                               double s,
                               double b,
                               double a)

  Overrides:
    `hsb` in class `IMesh`

### hsb

    public ICollidableMesh hsb(float h,
                               float s,
                               float b)

  Overrides:
    `hsb` in class `IMesh`

### hsb

    public ICollidableMesh hsb(double h,
                               double s,
                               double b)

  Overrides:
    `hsb` in class `IMesh`

### setColor

    public ICollidableMesh setColor(java.awt.Color c)

  Overrides:
    `setColor` in class `IMesh`

### setColor

    public ICollidableMesh setColor(java.awt.Color c,
                                    int alpha)

  Overrides:
    `setColor` in class `IMesh`

### setColor

    public ICollidableMesh setColor(int gray)

  Overrides:
    `setColor` in class `IMesh`

### setColor

    public ICollidableMesh setColor(float fgray)

  Overrides:
    `setColor` in class `IMesh`

### setColor

    public ICollidableMesh setColor(double dgray)

  Overrides:
    `setColor` in class `IMesh`

### setColor

    public ICollidableMesh setColor(int gray,
                                    int alpha)

  Overrides:
    `setColor` in class `IMesh`

### setColor

    public ICollidableMesh setColor(float fgray,
                                    float falpha)

  Overrides:
    `setColor` in class `IMesh`

### setColor

    public ICollidableMesh setColor(double dgray,
                                    double dalpha)

  Overrides:
    `setColor` in class `IMesh`

### setColor

    public ICollidableMesh setColor(int r,
                                    int g,
                                    int b)

  Overrides:
    `setColor` in class `IMesh`

### setColor

    public ICollidableMesh setColor(float fr,
                                    float fg,
                                    float fb)

  Overrides:
    `setColor` in class `IMesh`

### setColor

    public ICollidableMesh setColor(double dr,
                                    double dg,
                                    double db)

  Overrides:
    `setColor` in class `IMesh`

### setColor

    public ICollidableMesh setColor(int r,
                                    int g,
                                    int b,
                                    int a)

  Overrides:
    `setColor` in class `IMesh`

### setColor

    public ICollidableMesh setColor(float fr,
                                    float fg,
                                    float fb,
                                    float fa)

  Overrides:
    `setColor` in class `IMesh`

### setColor

    public ICollidableMesh setColor(double dr,
                                    double dg,
                                    double db,
                                    double da)

  Overrides:
    `setColor` in class `IMesh`

### setHSBColor

    public ICollidableMesh setHSBColor(float h,
                                       float s,
                                       float b,
                                       float a)

  Overrides:
    `setHSBColor` in class `IMesh`

### setHSBColor

    public ICollidableMesh setHSBColor(double h,
                                       double s,
                                       double b,
                                       double a)

  Overrides:
    `setHSBColor` in class `IMesh`

### setHSBColor

    public ICollidableMesh setHSBColor(float h,
                                       float s,
                                       float b)

  Overrides:
    `setHSBColor` in class `IMesh`

### setHSBColor

    public ICollidableMesh setHSBColor(double h,
                                       double s,
                                       double b)

  Overrides:
    `setHSBColor` in class `IMesh`

### weight

    public ICollidableMesh weight(double w)

  Overrides:
    `weight` in class `IMesh`

### weight

    public ICollidableMesh weight(float w)

  Overrides:
    `weight` in class `IMesh`

### close

    public ICollidableMesh close()

  only setting value to closed. checking no connection of mesh

  Specified by:
    `close` in interface `IMeshI`
  Overrides:
    `close` in class `IMesh`

### deleteVertex

    public ICollidableMesh deleteVertex(int i)

  Specified by:
    `deleteVertex` in interface `IMeshI`
  Overrides:
    `deleteVertex` in class `IMesh`

### deleteEdge

    public ICollidableMesh deleteEdge(int i)

  Specified by:
    `deleteEdge` in interface `IMeshI`
  Overrides:
    `deleteEdge` in class `IMesh`

### deleteFace

    public ICollidableMesh deleteFace(int i)

  Specified by:
    `deleteFace` in interface `IMeshI`
  Overrides:
    `deleteFace` in class `IMesh`

### deleteVertex

    public ICollidableMesh deleteVertex(IIntegerI i)

  Specified by:
    `deleteVertex` in interface `IMeshI`
  Overrides:
    `deleteVertex` in class `IMesh`

### deleteEdge

    public ICollidableMesh deleteEdge(IIntegerI i)

  Specified by:
    `deleteEdge` in interface `IMeshI`
  Overrides:
    `deleteEdge` in class `IMesh`

### deleteFace

    public ICollidableMesh deleteFace(IIntegerI i)

  Specified by:
    `deleteFace` in interface `IMeshI`
  Overrides:
    `deleteFace` in class `IMesh`

### deleteVertex

    public ICollidableMesh deleteVertex(IVertex v)

  Specified by:
    `deleteVertex` in interface `IMeshI`
  Overrides:
    `deleteVertex` in class `IMesh`

### deleteEdge

    public ICollidableMesh deleteEdge(IEdge e)

  Specified by:
    `deleteEdge` in interface `IMeshI`
  Overrides:
    `deleteEdge` in class `IMesh`

### deleteFace

    public ICollidableMesh deleteFace(IFace f)

  Specified by:
    `deleteFace` in interface `IMeshI`
  Overrides:
    `deleteFace` in class `IMesh`

### add

    public ICollidableMesh add(double x,
                               double y,
                               double z)

  ITransformable methods

  Specified by:
    `add` in interface `ITransformable`
  Overrides:
    `add` in class `IMesh`

### add

    public ICollidableMesh add(IDoubleI x,
                               IDoubleI y,
                               IDoubleI z)

  Specified by:
    `add` in interface `ITransformable`
  Overrides:
    `add` in class `IMesh`

### add

    public ICollidableMesh add(IVecI v)

  Specified by:
    `add` in interface `ITransformable`
  Overrides:
    `add` in class `IMesh`

### sub

    public ICollidableMesh sub(double x,
                               double y,
                               double z)

  Specified by:
    `sub` in interface `ITransformable`
  Overrides:
    `sub` in class `IMesh`

### sub

    public ICollidableMesh sub(IDoubleI x,
                               IDoubleI y,
                               IDoubleI z)

  Specified by:
    `sub` in interface `ITransformable`
  Overrides:
    `sub` in class `IMesh`

### sub

    public ICollidableMesh sub(IVecI v)

  Specified by:
    `sub` in interface `ITransformable`
  Overrides:
    `sub` in class `IMesh`

### mul

    public ICollidableMesh mul(IDoubleI v)

  Specified by:
    `mul` in interface `ITransformable`
  Overrides:
    `mul` in class `IMesh`

### mul

    public ICollidableMesh mul(double v)

  Specified by:
    `mul` in interface `ITransformable`
  Overrides:
    `mul` in class `IMesh`

### div

    public ICollidableMesh div(IDoubleI v)

  Specified by:
    `div` in interface `ITransformable`
  Overrides:
    `div` in class `IMesh`

### div

    public ICollidableMesh div(double v)

  Specified by:
    `div` in interface `ITransformable`
  Overrides:
    `div` in class `IMesh`

### neg

    public ICollidableMesh neg()

  Specified by:
    `neg` in interface `ITransformable`
  Overrides:
    `neg` in class `IMesh`

### rev

    public ICollidableMesh rev()

  alias of neg

  Overrides:
    `rev` in class `IMesh`

### flip

    public ICollidableMesh flip()

  alias of neg

  Specified by:
    `flip` in interface `ITransformable`
  Overrides:
    `flip` in class `IMesh`

### add

    public ICollidableMesh add(IVecI v,
                               double f)

  scale add

  Specified by:
    `add` in interface `ITransformable`
  Overrides:
    `add` in class `IMesh`

### add

    public ICollidableMesh add(IVecI v,
                               IDoubleI f)

  scale add

  Specified by:
    `add` in interface `ITransformable`
  Overrides:
    `add` in class `IMesh`

### add

    public ICollidableMesh add(double f,
                               IVecI v)

  scale add alias

  Specified by:
    `add` in interface `ITransformable`
  Overrides:
    `add` in class `IMesh`

### add

    public ICollidableMesh add(IDoubleI f,
                               IVecI v)

  scale add alias

  Specified by:
    `add` in interface `ITransformable`
  Overrides:
    `add` in class `IMesh`

### rot

    public ICollidableMesh rot(IDoubleI angle)

  rotation around z-axis and origin

  Specified by:
    `rot` in interface `ITransformable`
  Overrides:
    `rot` in class `IMesh`

### rot

    public ICollidableMesh rot(double angle)

  Specified by:
    `rot` in interface `ITransformable`
  Overrides:
    `rot` in class `IMesh`

### rot

    public ICollidableMesh rot(IVecI axis,
                               IDoubleI angle)

  rotation around axis vector

  Specified by:
    `rot` in interface `ITransformable`
  Overrides:
    `rot` in class `IMesh`

### rot

    public ICollidableMesh rot(IVecI axis,
                               double angle)

  Specified by:
    `rot` in interface `ITransformable`
  Overrides:
    `rot` in class `IMesh`

### rot

    public ICollidableMesh rot(IVecI center,
                               IVecI axis,
                               IDoubleI angle)

  rotation around axis vector and center

  Specified by:
    `rot` in interface `ITransformable`
  Overrides:
    `rot` in class `IMesh`

### rot

    public ICollidableMesh rot(IVecI center,
                               IVecI axis,
                               double angle)

  Specified by:
    `rot` in interface `ITransformable`
  Overrides:
    `rot` in class `IMesh`

### rot

    public ICollidableMesh rot(IVecI axis,
                               IVecI destDir)

  rotate to destination direction vector

  Specified by:
    `rot` in interface `ITransformable`
  Overrides:
    `rot` in class `IMesh`

### rot

    public ICollidableMesh rot(IVecI center,
                               IVecI axis,
                               IVecI destPt)

  rotate to destination point location

  Specified by:
    `rot` in interface `ITransformable`
  Overrides:
    `rot` in class `IMesh`

### rot2

    public ICollidableMesh rot2(IDoubleI angle)

  rotation on xy-plane around origin; same with rot(IDoubleI)

  Specified by:
    `rot2` in interface `ITransformable`
  Overrides:
    `rot2` in class `IMesh`

### rot2

    public ICollidableMesh rot2(double angle)

  rotation on xy-plane around origin; same with rot(double)

  Specified by:
    `rot2` in interface `ITransformable`
  Overrides:
    `rot2` in class `IMesh`

### rot2

    public ICollidableMesh rot2(IVecI center,
                                IDoubleI angle)

  rotation on xy-plane around center

  Specified by:
    `rot2` in interface `ITransformable`
  Overrides:
    `rot2` in class `IMesh`

### rot2

    public ICollidableMesh rot2(IVecI center,
                                double angle)

  Specified by:
    `rot2` in interface `ITransformable`
  Overrides:
    `rot2` in class `IMesh`

### rot2

    public ICollidableMesh rot2(IVecI destDir)

  rotation on xy-plane to destination direction vector

  Specified by:
    `rot2` in interface `ITransformable`
  Overrides:
    `rot2` in class `IMesh`

### rot2

    public ICollidableMesh rot2(IVecI center,
                                IVecI destPt)

  rotation on xy-plane to destination point location

  Specified by:
    `rot2` in interface `ITransformable`
  Overrides:
    `rot2` in class `IMesh`

### scale

    public ICollidableMesh scale(IDoubleI f)

  alias of mul

  Specified by:
    `scale` in interface `ITransformable`
  Overrides:
    `scale` in class `IMesh`

### scale

    public ICollidableMesh scale(double f)

  Specified by:
    `scale` in interface `ITransformable`
  Overrides:
    `scale` in class `IMesh`

### scale

    public ICollidableMesh scale(IVecI center,
                                 IDoubleI f)

  Specified by:
    `scale` in interface `ITransformable`
  Overrides:
    `scale` in class `IMesh`

### scale

    public ICollidableMesh scale(IVecI center,
                                 double f)

  Specified by:
    `scale` in interface `ITransformable`
  Overrides:
    `scale` in class `IMesh`

### scale1d

    public ICollidableMesh scale1d(IVecI axis,
                                   double f)

  scale only in 1 direction

  Specified by:
    `scale1d` in interface `ITransformable`
  Overrides:
    `scale1d` in class `IMesh`

### scale1d

    public ICollidableMesh scale1d(IVecI axis,
                                   IDoubleI f)

  Specified by:
    `scale1d` in interface `ITransformable`
  Overrides:
    `scale1d` in class `IMesh`

### scale1d

    public ICollidableMesh scale1d(IVecI center,
                                   IVecI axis,
                                   double f)

  Specified by:
    `scale1d` in interface `ITransformable`
  Overrides:
    `scale1d` in class `IMesh`

### scale1d

    public ICollidableMesh scale1d(IVecI center,
                                   IVecI axis,
                                   IDoubleI f)

  Specified by:
    `scale1d` in interface `ITransformable`
  Overrides:
    `scale1d` in class `IMesh`

### ref

    public ICollidableMesh ref(IVecI planeDir)

  reflect(mirror) 3 dimensionally to the other side of the plane

  Specified by:
    `ref` in interface `ITransformable`
  Overrides:
    `ref` in class `IMesh`

### ref

    public ICollidableMesh ref(IVecI center,
                               IVecI planeDir)

  Specified by:
    `ref` in interface `ITransformable`
  Overrides:
    `ref` in class `IMesh`

### mirror

    public ICollidableMesh mirror(IVecI planeDir)

  mirror is alias of ref

  Specified by:
    `mirror` in interface `ITransformable`
  Overrides:
    `mirror` in class `IMesh`

### mirror

    public ICollidableMesh mirror(IVecI center,
                                  IVecI planeDir)

  Specified by:
    `mirror` in interface `ITransformable`
  Overrides:
    `mirror` in class `IMesh`

### shear

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

  shear operation

  Specified by:
    `shear` in interface `ITransformable`
  Overrides:
    `shear` in class `IMesh`

### shear

    public ICollidableMesh shear(IDoubleI sxy,
                                 IDoubleI syx,
                                 IDoubleI syz,
                                 IDoubleI szy,
                                 IDoubleI szx,
                                 IDoubleI sxz)

  Specified by:
    `shear` in interface `ITransformable`
  Overrides:
    `shear` in class `IMesh`

### shear

    public ICollidableMesh shear(IVecI center,
                                 double sxy,
                                 double syx,
                                 double syz,
                                 double szy,
                                 double szx,
                                 double sxz)

  Specified by:
    `shear` in interface `ITransformable`
  Overrides:
    `shear` in class `IMesh`

### shear

    public ICollidableMesh shear(IVecI center,
                                 IDoubleI sxy,
                                 IDoubleI syx,
                                 IDoubleI syz,
                                 IDoubleI szy,
                                 IDoubleI szx,
                                 IDoubleI sxz)

  Specified by:
    `shear` in interface `ITransformable`
  Overrides:
    `shear` in class `IMesh`

### shearXY

    public ICollidableMesh shearXY(double sxy,
                                   double syx)

  Specified by:
    `shearXY` in interface `ITransformable`
  Overrides:
    `shearXY` in class `IMesh`

### shearXY

    public ICollidableMesh shearXY(IDoubleI sxy,
                                   IDoubleI syx)

  Specified by:
    `shearXY` in interface `ITransformable`
  Overrides:
    `shearXY` in class `IMesh`

### shearXY

    public ICollidableMesh shearXY(IVecI center,
                                   double sxy,
                                   double syx)

  Specified by:
    `shearXY` in interface `ITransformable`
  Overrides:
    `shearXY` in class `IMesh`

### shearXY

    public ICollidableMesh shearXY(IVecI center,
                                   IDoubleI sxy,
                                   IDoubleI syx)

  Specified by:
    `shearXY` in interface `ITransformable`
  Overrides:
    `shearXY` in class `IMesh`

### shearYZ

    public ICollidableMesh shearYZ(double syz,
                                   double szy)

  Specified by:
    `shearYZ` in interface `ITransformable`
  Overrides:
    `shearYZ` in class `IMesh`

### shearYZ

    public ICollidableMesh shearYZ(IDoubleI syz,
                                   IDoubleI szy)

  Specified by:
    `shearYZ` in interface `ITransformable`
  Overrides:
    `shearYZ` in class `IMesh`

### shearYZ

    public ICollidableMesh shearYZ(IVecI center,
                                   double syz,
                                   double szy)

  Specified by:
    `shearYZ` in interface `ITransformable`
  Overrides:
    `shearYZ` in class `IMesh`

### shearYZ

    public ICollidableMesh shearYZ(IVecI center,
                                   IDoubleI syz,
                                   IDoubleI szy)

  Specified by:
    `shearYZ` in interface `ITransformable`
  Overrides:
    `shearYZ` in class `IMesh`

### shearZX

    public ICollidableMesh shearZX(double szx,
                                   double sxz)

  Specified by:
    `shearZX` in interface `ITransformable`
  Overrides:
    `shearZX` in class `IMesh`

### shearZX

    public ICollidableMesh shearZX(IDoubleI szx,
                                   IDoubleI sxz)

  Specified by:
    `shearZX` in interface `ITransformable`
  Overrides:
    `shearZX` in class `IMesh`

### shearZX

    public ICollidableMesh shearZX(IVecI center,
                                   double szx,
                                   double sxz)

  Specified by:
    `shearZX` in interface `ITransformable`
  Overrides:
    `shearZX` in class `IMesh`

### shearZX

    public ICollidableMesh shearZX(IVecI center,
                                   IDoubleI szx,
                                   IDoubleI sxz)

  Specified by:
    `shearZX` in interface `ITransformable`
  Overrides:
    `shearZX` in class `IMesh`

### mv

    public ICollidableMesh mv(double x,
                              double y,
                              double z)

  mv() is alias of add()

  Specified by:
    `mv` in interface `ITransformable`
  Overrides:
    `mv` in class `IMesh`

### mv

    public ICollidableMesh mv(IDoubleI x,
                              IDoubleI y,
                              IDoubleI z)

  Specified by:
    `mv` in interface `ITransformable`
  Overrides:
    `mv` in class `IMesh`

### mv

    public ICollidableMesh mv(IVecI v)

  Specified by:
    `mv` in interface `ITransformable`
  Overrides:
    `mv` in class `IMesh`

### cp

    public ICollidableMesh cp()

  cp() is alias of dup()

  Specified by:
    `cp` in interface `IMeshI`
  Specified by:
    `cp` in interface `ITransformable`
  Overrides:
    `cp` in class `IMesh`

### cp

    public ICollidableMesh 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`
  Overrides:
    `cp` in class `IMesh`

### cp

    public ICollidableMesh cp(IDoubleI x,
                              IDoubleI y,
                              IDoubleI z)

  Specified by:
    `cp` in interface `IMeshI`
  Specified by:
    `cp` in interface `ITransformable`
  Overrides:
    `cp` in class `IMesh`

### cp

    public ICollidableMesh cp(IVecI v)

  Specified by:
    `cp` in interface `IMeshI`
  Specified by:
    `cp` in interface `ITransformable`
  Overrides:
    `cp` in class `IMesh`

### translate

    public ICollidableMesh translate(double x,
                                     double y,
                                     double z)

  translate() is alias of add()

  Specified by:
    `translate` in interface `ITransformable`
  Overrides:
    `translate` in class `IMesh`

### translate

    public ICollidableMesh translate(IDoubleI x,
                                     IDoubleI y,
                                     IDoubleI z)

  Specified by:
    `translate` in interface `ITransformable`
  Overrides:
    `translate` in class `IMesh`

### translate

    public ICollidableMesh translate(IVecI v)

  Specified by:
    `translate` in interface `ITransformable`
  Overrides:
    `translate` in class `IMesh`

### transform

    public ICollidableMesh transform(IMatrix3I mat)

  Specified by:
    `transform` in interface `ITransformable`
  Overrides:
    `transform` in class `IMesh`

### transform

    public ICollidableMesh transform(IMatrix4I mat)

  Specified by:
    `transform` in interface `ITransformable`
  Overrides:
    `transform` in class `IMesh`

### transform

    public ICollidableMesh transform(IVecI xvec,
                                     IVecI yvec,
                                     IVecI zvec)

  Specified by:
    `transform` in interface `ITransformable`
  Overrides:
    `transform` in class `IMesh`

### transform

    public ICollidableMesh transform(IVecI xvec,
                                     IVecI yvec,
                                     IVecI zvec,
                                     IVecI translate)

  Specified by:
    `transform` in interface `ITransformable`
  Overrides:
    `transform` in class `IMesh`

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