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

## igeo
Class IVertex

    java.lang.Object
      igeo.IVertex

All Implemented Interfaces:
  IParameter, ITransformable, IVal, IVecI, IVecOp

    public class IVertex

extends java.lang.Object
implements IVecI

Class of a vertex of polygon mesh.

Author:
  Satoru Sugihara

Nested Class Summary
`static class` | `IVertex.ZComparator`
`static class` | `IVertex.ZYXComparator`

Field Summary
`java.util.ArrayList<IEdge>` | `edges`
`java.util.ArrayList<IFace>` | `faces`
`int` | `index` index number in IMeshGeo vertices array list
`java.util.ArrayList<IVertex>` | `linkedVertices`
`IVecI` | `normal`
`IVecI` | `pos`
`IVec2I` | `texture`

Constructor Summary
`IVertex()`
`IVertex(double x, double y, double z)`
`IVertex(IVec p)`
`IVertex(IVec4 p)`
`IVertex(IVecI p)`
`IVertex(IVertex v)`

Method Summary
`IVertex` | `add(double x, double y, double z)`
`IVertex` | `add(double f, IVecI v)` scale add alias
`IVertex` | `add(IDoubleI x, IDoubleI y, IDoubleI z)`
`IVertex` | `add(IDoubleI f, IVecI v)` scale add alias
`IVertex` | `add(IVecI v)`
`IVertex` | `add(IVecI v, double f)` scale add
`IVertex` | `add(IVecI v, IDoubleI f)` scale add
`void` | `addEdge(IEdge e)`
`void` | `addFace(IFace f)`
`double` | `angle(double vx, double vy, double vz)` get angle between two vector from 0 to Pi
`double` | `angle(double vx, double vy, double vz, double axisX, double axisY, double axisZ)`
`double` | `angle(ISwitchE e, IVecI v)` get angle between two vector from 0 to Pi
`double` | `angle(ISwitchE e, IVecI v, IVecI axis)`
`IDoubleI` | `angle(ISwitchR r, IVecI v)` get angle between two vector from 0 to Pi
`IDoubleI` | `angle(ISwitchR r, IVecI v, IVecI axis)`
`double` | `angle(IVecI v)` get angle between two vector from 0 to Pi
`double` | `angle(IVecI v, IVecI axis)`
`IVecI` | `bisect(double vx, double vy, double vz)` create a new instance of bisector
`IVecI` | `bisect(IVecI v)` create a new instance of bisector
`void` | `calcNormal()`
`IVertex` | `cp()` cp() is alias of dup()
`IVertex` | `cp(double x, double y, double z)` cp() is alias of dup().add()
`IVertex` | `cp(IDoubleI x, IDoubleI y, IDoubleI z)` cp() is alias of dup().add()
`IVertex` | `cp(IVecI v)` cp() is alias of dup().add()
`IEdge` | `createEdgeTo(IVertex v)`
`IVecI` | `cross(double vx, double vy, double vz)` cross product, creating a new instance
`IVecI` | `cross(IVecI v)` cross product, creating a new instance
`void` | `del()`
`void` | `del(IEdge e)`
`IVecI` | `dif(double vx, double vy, double vz)` create a new instance of difference
`IVecI` | `dif(IVecI v)` create a new instance of difference
`IVecI` | `diff(double vx, double vy, double vz)` alias of dif
`IVecI` | `diff(IVecI v)` alias of dif
`double` | `dist(double vx, double vy, double vz)` distance of two vectors
`double` | `dist(ISwitchE e, IVecI v)` distance of two vectors
`IDoubleI` | `dist(ISwitchR r, IVecI v)` distance of two vectors
`double` | `dist(IVecI v)` distance of two vectors
`double` | `dist2(double vx, double vy, double vz)` squared distance of two vectors
`double` | `dist2(ISwitchE e, IVecI v)` squared distance of two vectors
`IDoubleI` | `dist2(ISwitchR r, IVecI v)` squared distance of two vectors
`double` | `dist2(IVecI v)` squared distance of two vectors
`IVertex` | `div(double v)`
`IVertex` | `div(IDoubleI v)`
`double` | `dot(double vx, double vy, double vz)` dot product
`double` | `dot(ISwitchE e, IVecI v)` dot product
`IDoubleI` | `dot(ISwitchR r, IVecI v)` dot product
`double` | `dot(IVecI v)` dot product
`IVertex` | `dup()` duplicate the instance
`IEdge` | `edge(int i)`
`int` | `edgeNum()`
`boolean` | `eq(double vx, double vy, double vz)` check whether location is same or not
`boolean` | `eq(double vx, double vy, double vz, double tolerance)` check whether location is same or not with tolerance
`boolean` | `eq(ISwitchE e, IVecI v)` check whether location is same or not
`boolean` | `eq(ISwitchE e, IVecI v, double tolerance)` check whether location is same or not with tolerance
`IBoolI` | `eq(ISwitchR r, IVecI v)` check whether location is same or not
`IBoolI` | `eq(ISwitchR r, IVecI v, IDoubleI tolerance)` check whether location is same or not with tolerance
`boolean` | `eq(IVecI v)` check whether location is same or not
`boolean` | `eq(IVecI v, double tolerance)` check whether location is same or not with tolerance
`boolean` | `eqX(double vx)` check if same in X
`boolean` | `eqX(double vx, double tolerance)` check if same in X with tolerance
`boolean` | `eqX(ISwitchE e, IVecI v)` check if same in X
`boolean` | `eqX(ISwitchE e, IVecI v, double tolerance)` check if same in X with tolerance
`IBoolI` | `eqX(ISwitchR r, IVecI v)` check if same in X
`IBoolI` | `eqX(ISwitchR r, IVecI v, IDoubleI tolerance)` check if same in X with tolerance
`boolean` | `eqX(IVecI v)` check if same in X
`boolean` | `eqX(IVecI v, double tolerance)` check if same in X with tolerance
`boolean` | `eqY(double vy)` check if same in Y
`boolean` | `eqY(double vy, double tolerance)` check if same in Y with tolerance
`boolean` | `eqY(ISwitchE e, IVecI v)` check if same in Y
`boolean` | `eqY(ISwitchE e, IVecI v, double tolerance)` check if same in Y with tolerance
`IBoolI` | `eqY(ISwitchR r, IVecI v)` check if same in Y
`IBoolI` | `eqY(ISwitchR r, IVecI v, IDoubleI tolerance)` check if same in Y with tolerance
`boolean` | `eqY(IVecI v)` check if same in Y
`boolean` | `eqY(IVecI v, double tolerance)` check if same in Y with tolerance
`boolean` | `eqZ(double vz)` check if same in Z
`boolean` | `eqZ(double vz, double tolerance)` check if same in Z with tolerance
`boolean` | `eqZ(ISwitchE e, IVecI v)` check if same in Z
`boolean` | `eqZ(ISwitchE e, IVecI v, double tolerance)` check if same in Z with tolerance
`IBoolI` | `eqZ(ISwitchR r, IVecI v)` check if same in Z
`IBoolI` | `eqZ(ISwitchR r, IVecI v, IDoubleI tolerance)` check if same in Z with tolerance
`boolean` | `eqZ(IVecI v)` check if same in Z
`boolean` | `eqZ(IVecI v, double tolerance)` check if same in Z with tolerance
`IFace` | `face(int i)`
`int` | `faceNum()`
`static int` | `findLinkedVertexInArray(IVertex v, java.util.ArrayList<IVertex> vlist, boolean[] skiplist)` returns vertex index in arraylist
`IVertex` | `flip()` alias of neg()
`IVec` | `get()`
`IVec` | `getAverageNormal()`
`IEdge` | `getEdge(int i)`
`IEdge` | `getEdgeTo(IVertex v)`
`IFace` | `getFace(int i)`
`IVecI` | `getNml()` getting normal (alias)
`IVecI` | `getNormal()` getting normal (alias)
`IEdge[]` | `getOtherEdges(IEdge edge)`
`IDoubleI` | `getX()`
`IDoubleI` | `getY()`
`IDoubleI` | `getZ()`
`void` | `init()`
`boolean` | `isValid()` setting normal; this nml has different function from IVecI's nml
`double` | `len()` getting length of the vector
`IVertex` | `len(double l)` setting length
`IVertex` | `len(IDoubleI l)` setting length
`double` | `len(ISwitchE e)` getting length of the vector
`IDoubleI` | `len(ISwitchR r)` getting length of the vector
`double` | `len2()` getting squared length of the vector
`double` | `len2(ISwitchE e)` getting squared length of the vector
`IDoubleI` | `len2(ISwitchR r)` getting squared length of the vector
`IVertex` | `linkedVertex(int i)`
`int` | `linkedVertexNum()`
`IVecI` | `mid(double vx, double vy, double vz)` create a new instance of midpoint
`IVecI` | `mid(IVecI v)` create a new instance of midpoint
`IVertex` | `mirror(double planeX, double planeY, double planeZ)` alias of ref
`IVertex` | `mirror(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` alias of ref
`IVertex` | `mirror(IVecI planeDir)` alias of ref
`IVertex` | `mirror(IVecI center, IVecI planeDir)` alias of ref
`IVertex` | `mul(double v)`
`IVertex` | `mul(IDoubleI v)`
`IVertex` | `mv(double x, double y, double z)` mv() is alias of add()
`IVertex` | `mv(IDoubleI x, IDoubleI y, IDoubleI z)` mv() is alias of add()
`IVertex` | `mv(IVecI v)` mv() is alias of add()
`IVertex` | `neg()`
`IVecI` | `nml()` getting normal
`IVecI` | `nml(double vx, double vy, double vz)` alias of cross
`IVecI` | `nml(double vx1, double vy1, double vz1, double vx2, double vy2, double vz2)` create normal vector from 3 points of self, pt1 and pt2
`IVecI` | `nml(IVecI v)` alias of cross.
`IVecI` | `nml(IVecI pt1, IVecI pt2)` create normal vector from 3 points of self, pt1 and pt2
`IVecI` | `normal()` getting normal (alias)
`IVecI` | `pos()` passing position field
`IVertex` | `ref(double planeX, double planeY, double planeZ)` reflect(mirror) 3 dimensionally to the other side of the plane
`IVertex` | `ref(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` reflect(mirror) 3 dimensionally to the other side of the plane
`IVertex` | `ref(IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
`IVertex` | `ref(IVecI center, IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
`void` | `replaceLinkedVertex(IVertex oldVertex, IVertex newVertex)`
`void` | `replaceVertex(IVertex newVertex)`
`IVertex` | `rev()` alias of neg()
`IVertex` | `rot(double angle)` rotation on XY plane
`IVertex` | `rot(double axisX, double axisY, double axisZ, double angle)` rotation around axis vector
`IVertex` | `rot(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double angle)` rotation around axis vector and center point
`IVertex` | `rot(IDoubleI angle)` rotation on XY plane
`IVertex` | `rot(IVecI axis, double angle)` rotation around axis vector
`IVertex` | `rot(IVecI axis, IDoubleI angle)` rotation around axis vector
`IVertex` | `rot(IVecI axis, IVecI destDir)` rotate to destination direction vector
`IVertex` | `rot(IVecI center, IVecI axis, double angle)` rotation around axis vector and center point
`IVertex` | `rot(IVecI center, IVecI axis, IDoubleI angle)` rotation around axis vector and center point
`IVertex` | `rot(IVecI center, IVecI axis, IVecI destPt)` rotate to destination point location
`IVertex` | `rot2(double angle)` rotation on xy-plane; alias of rot(double)
`IVertex` | `rot2(double centerX, double centerY, double angle)` rotation on xy-plane
`IVertex` | `rot2(IDoubleI angle)` rotation on xy-plane; alias of rot(IDoubleI)
`IVertex` | `rot2(IVecI destDir)` rotation on xy-plane towards destDir
`IVertex` | `rot2(IVecI center, double angle)` rotation on xy-plane
`IVertex` | `rot2(IVecI center, IDoubleI angle)` rotation on xy-plane
`IVertex` | `rot2(IVecI center, IVecI destPt)` rotation on xy-plane towards destPt
`IVertex` | `scale(double f)` alias of mul
`IVertex` | `scale(double centerX, double centerY, double centerZ, double f)` scale from a center
`IVertex` | `scale(IDoubleI f)` alias of mul
`IVertex` | `scale(IVecI center, double f)` scale from a center
`IVertex` | `scale(IVecI center, IDoubleI f)` scale from a center
`IVertex` | `scale1d(double axisX, double axisY, double axisZ, double f)` scale only in 1 direction
`IVertex` | `scale1d(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double f)` scale only in 1 direction from a center
`IVertex` | `scale1d(IVecI axis, double f)` scale only in 1 direction
`IVertex` | `scale1d(IVecI axis, IDoubleI f)` scale only in 1 direction
`IVertex` | `scale1d(IVecI center, IVecI axis, double f)` scale only in 1 direction from a center
`IVertex` | `scale1d(IVecI center, IVecI axis, IDoubleI f)` scale only in 1 direction from a center
`IVertex` | `set(double x, double y, double z)`
`IVertex` | `set(IDoubleI x, IDoubleI y, IDoubleI z)`
`IVertex` | `set(IVecI v)`
`IVertex` | `setNml(double x, double y, double z)`
`IVertex` | `setNml(IVecI n)`
`IVertex` | `setNormal(double x, double y, double z)`
`IVertex` | `setNormal(IVecI n)`
`IVertex` | `shear(double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
`IVertex` | `shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
`IVertex` | `shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
`IVertex` | `shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
`IVertex` | `shearXY(double sxy, double syx)` shear operation on XY
`IVertex` | `shearXY(IDoubleI sxy, IDoubleI syx)` shear operation on XY
`IVertex` | `shearXY(IVecI center, double sxy, double syx)` shear operation on XY
`IVertex` | `shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)` shear operation on XY
`IVertex` | `shearYZ(double syz, double szy)` shear operation on YZ
`IVertex` | `shearYZ(IDoubleI syz, IDoubleI szy)` shear operation on YZ
`IVertex` | `shearYZ(IVecI center, double syz, double szy)` shear operation on YZ
`IVertex` | `shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)` shear operation on YZ
`IVertex` | `shearZX(double szx, double sxz)` shear operation on ZX
`IVertex` | `shearZX(IDoubleI szx, IDoubleI sxz)` shear operation on ZX
`IVertex` | `shearZX(IVecI center, double szx, double sxz)` shear operation on ZX
`IVertex` | `shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)` shear operation on ZX
`static java.util.ArrayList<IVertex>` | `sortByEdge(java.util.ArrayList<IVertex> vtx)` list of vertices are sorted by tracing edge connection.
`static java.util.ArrayList<IVertex>` | `sortByEdge(java.util.ArrayList<IVertex> vtx, int startIdx)` list of vertices are sorted by tracing edge connection.
`static java.util.ArrayList<IVertex>` | `sortByEdge(java.util.ArrayList<IVertex> vtx, IVertex v)` list of vertices are sorted by tracing edge connection.
`IVertex` | `sub(double x, double y, double z)`
`IVertex` | `sub(IDoubleI x, IDoubleI y, IDoubleI z)`
`IVertex` | `sub(IVecI v)`
`IVecI` | `sum(double vx, double vy, double vz)` create a new instance of total summation
`IVecI` | `sum(IVecI... v)` create a new instance of total summation
`IVecI` | `sum(IVecI v)` create a new instance of total summation
`IVecI` | `sum(IVecI v2, double w2)` create a new instance of weighted sum
`IVecI` | `sum(IVecI v2, double w1, double w2)` create a new instance of weighted sum
`IVecI` | `sum(IVecI v2, IDoubleI w2)` create a new instance of weighted sum
`IVecI` | `sum(IVecI v2, IDoubleI w1, IDoubleI w2)` create a new instance of weighted sum
`IVec2I` | `texture()`
`IVertex` | `texture(double u, double v)`
`IVertex` | `texture(IVec2I t)`
`IVec2I` | `to2d()`
`IVec2I` | `to2d(IVecI projectionDir)`
`IVec2I` | `to2d(IVecI xaxis, IVecI yaxis)`
`IVec2I` | `to2d(IVecI xaxis, IVecI yaxis, IVecI origin)`
`IVec4I` | `to4d()`
`IVec4I` | `to4d(double w)`
`IVec4I` | `to4d(IDoubleI w)`
`java.lang.String` | `toString()`
`IVertex` | `transform(IMatrix3I mat)` transform with a transformation matrix
`IVertex` | `transform(IMatrix4I mat)` transform with a transformation matrix
`IVertex` | `transform(IVecI xvec, IVecI yvec, IVecI zvec)` transform with a transformation vectors
`IVertex` | `transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)` transform with a transformation vectors
`IVertex` | `translate(double x, double y, double z)` translate is alias of add()
`IVertex` | `translate(IDoubleI x, IDoubleI y, IDoubleI z)` alias of add()
`IVertex` | `translate(IVecI v)` alias of add()
`IVertex` | `unit()` unitize
`double` | `x()` getting x component
`IVertex` | `x(double vx)` setting x component
`IVertex` | `x(IDoubleI vx)` setting x component
`double` | `x(ISwitchE e)` getting x component
`IDoubleI` | `x(ISwitchR r)` getting x component
`double` | `y()` getting y component
`IVertex` | `y(double vy)` setting y component
`IVertex` | `y(IDoubleI vy)` setting y component
`double` | `y(ISwitchE e)` getting y component
`IDoubleI` | `y(ISwitchR r)` getting y component
`double` | `z()` getting z component
`IVertex` | `z(double vz)` setting z component
`IVertex` | `z(IDoubleI vz)` setting z component
`double` | `z(ISwitchE e)` getting z component
`IDoubleI` | `z(ISwitchR r)` getting z component
`IVertex` | `zero()` setting all zero

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

Field Detail

### edges

    public java.util.ArrayList<IEdge> edges

### faces

    public java.util.ArrayList<IFace> faces

### linkedVertices

    public java.util.ArrayList<IVertex> linkedVertices

### pos

    public IVecI pos

### normal

    public IVecI normal

### texture

    public IVec2I texture

### index

    public int index

  index number in IMeshGeo vertices array list

Constructor Detail

### IVertex

    public IVertex()

### IVertex

    public IVertex(double x,
                   double y,
                   double z)

### IVertex

    public IVertex(IVec p)

### IVertex

    public IVertex(IVec4 p)

### IVertex

    public IVertex(IVecI p)

### IVertex

    public IVertex(IVertex v)

Method Detail

### init

    public void init()

### del

    public void del()

### del

    public void del(IEdge e)

### x

    public double x()

  Description copied from interface: `IVecI`
  getting x component

  Specified by:
    `x` in interface `IVecI`

### y

    public double y()

  Description copied from interface: `IVecI`
  getting y component

  Specified by:
    `y` in interface `IVecI`

### z

    public double z()

  Description copied from interface: `IVecI`
  getting z component

  Specified by:
    `z` in interface `IVecI`

### x

    public IVertex x(double vx)

  Description copied from interface: `IVecI`
  setting x component

  Specified by:
    `x` in interface `IVecI`

### y

    public IVertex y(double vy)

  Description copied from interface: `IVecI`
  setting y component

  Specified by:
    `y` in interface `IVecI`

### z

    public IVertex z(double vz)

  Description copied from interface: `IVecI`
  setting z component

  Specified by:
    `z` in interface `IVecI`

### x

    public IVertex x(IDoubleI vx)

  Description copied from interface: `IVecI`
  setting x component

  Specified by:
    `x` in interface `IVecI`

### y

    public IVertex y(IDoubleI vy)

  Description copied from interface: `IVecI`
  setting y component

  Specified by:
    `y` in interface `IVecI`

### z

    public IVertex z(IDoubleI vz)

  Description copied from interface: `IVecI`
  setting z component

  Specified by:
    `z` in interface `IVecI`

### x

    public double x(ISwitchE e)

  Description copied from interface: `IVecI`
  getting x component

  Specified by:
    `x` in interface `IVecI`

### y

    public double y(ISwitchE e)

  Description copied from interface: `IVecI`
  getting y component

  Specified by:
    `y` in interface `IVecI`

### z

    public double z(ISwitchE e)

  Description copied from interface: `IVecI`
  getting z component

  Specified by:
    `z` in interface `IVecI`

### x

    public IDoubleI x(ISwitchR r)

  Description copied from interface: `IVecI`
  getting x component

  Specified by:
    `x` in interface `IVecI`

### y

    public IDoubleI y(ISwitchR r)

  Description copied from interface: `IVecI`
  getting y component

  Specified by:
    `y` in interface `IVecI`

### z

    public IDoubleI z(ISwitchR r)

  Description copied from interface: `IVecI`
  getting z component

  Specified by:
    `z` in interface `IVecI`

### get

    public IVec get()

  Specified by:
    `get` in interface `IParameter`
  Specified by:
    `get` in interface `IVecI`
  Specified by:
    `get` in interface `IVecOp`

### pos

    public IVecI pos()

  passing position field

### dup

    public IVertex dup()

  Description copied from interface: `ITransformable`
  duplicate the instance

  Specified by:
    `dup` in interface `ITransformable`
  Specified by:
    `dup` in interface `IVecI`

### to2d

    public IVec2I to2d()

  Specified by:
    `to2d` in interface `IVecI`

### to2d

    public IVec2I to2d(IVecI projectionDir)

  Specified by:
    `to2d` in interface `IVecI`

### to2d

    public IVec2I to2d(IVecI xaxis,
                       IVecI yaxis)

  Specified by:
    `to2d` in interface `IVecI`

### to2d

    public IVec2I to2d(IVecI xaxis,
                       IVecI yaxis,
                       IVecI origin)

  Specified by:
    `to2d` in interface `IVecI`

### to4d

    public IVec4I to4d()

  Specified by:
    `to4d` in interface `IVecI`

### to4d

    public IVec4I to4d(double w)

  Specified by:
    `to4d` in interface `IVecI`

### to4d

    public IVec4I to4d(IDoubleI w)

  Specified by:
    `to4d` in interface `IVecI`

### getX

    public IDoubleI getX()

  Specified by:
    `getX` in interface `IVecI`

### getY

    public IDoubleI getY()

  Specified by:
    `getY` in interface `IVecI`

### getZ

    public IDoubleI getZ()

  Specified by:
    `getZ` in interface `IVecI`

### set

    public IVertex set(IVecI v)

  Specified by:
    `set` in interface `IVecI`

### set

    public IVertex set(double x,
                       double y,
                       double z)

  Specified by:
    `set` in interface `IVecI`

### set

    public IVertex set(IDoubleI x,
                       IDoubleI y,
                       IDoubleI z)

  Specified by:
    `set` in interface `IVecI`

### add

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

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`

### add

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

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`

### add

    public IVertex add(IVecI v)

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`

### sub

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

  Specified by:
    `sub` in interface `ITransformable`
  Specified by:
    `sub` in interface `IVecI`

### sub

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

  Specified by:
    `sub` in interface `ITransformable`
  Specified by:
    `sub` in interface `IVecI`

### sub

    public IVertex sub(IVecI v)

  Specified by:
    `sub` in interface `ITransformable`
  Specified by:
    `sub` in interface `IVecI`

### mul

    public IVertex mul(IDoubleI v)

  Specified by:
    `mul` in interface `ITransformable`
  Specified by:
    `mul` in interface `IVecI`

### mul

    public IVertex mul(double v)

  Specified by:
    `mul` in interface `ITransformable`
  Specified by:
    `mul` in interface `IVecI`

### div

    public IVertex div(IDoubleI v)

  Specified by:
    `div` in interface `ITransformable`
  Specified by:
    `div` in interface `IVecI`

### div

    public IVertex div(double v)

  Specified by:
    `div` in interface `ITransformable`
  Specified by:
    `div` in interface `IVecI`

### neg

    public IVertex neg()

  Specified by:
    `neg` in interface `ITransformable`
  Specified by:
    `neg` in interface `IVecI`

### rev

    public IVertex rev()

  Description copied from interface: `IVecI`
  alias of neg()

  Specified by:
    `rev` in interface `IVecI`

### flip

    public IVertex flip()

  Description copied from interface: `IVecI`
  alias of neg()

  Specified by:
    `flip` in interface `ITransformable`
  Specified by:
    `flip` in interface `IVecI`

### zero

    public IVertex zero()

  Description copied from interface: `IVecI`
  setting all zero

  Specified by:
    `zero` in interface `IVecI`

### add

    public IVertex add(IVecI v,
                       double f)

  scale add

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`

### add

    public IVertex add(IVecI v,
                       IDoubleI f)

  scale add

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`

### add

    public IVertex add(double f,
                       IVecI v)

  scale add alias

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`

### add

    public IVertex add(IDoubleI f,
                       IVecI v)

  scale add alias

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`

### dot

    public double dot(IVecI v)

  Description copied from interface: `IVecI`
  dot product

  Specified by:
    `dot` in interface `IVecI`

### dot

    public double dot(double vx,
                      double vy,
                      double vz)

  Description copied from interface: `IVecI`
  dot product

  Specified by:
    `dot` in interface `IVecI`

### dot

    public double dot(ISwitchE e,
                      IVecI v)

  Description copied from interface: `IVecI`
  dot product

  Specified by:
    `dot` in interface `IVecI`

### dot

    public IDoubleI dot(ISwitchR r,
                        IVecI v)

  Description copied from interface: `IVecI`
  dot product

  Specified by:
    `dot` in interface `IVecI`

### cross

    public IVecI cross(IVecI v)

  Description copied from interface: `IVecI`
  cross product, creating a new instance

  Specified by:
    `cross` in interface `IVecI`

### cross

    public IVecI cross(double vx,
                       double vy,
                       double vz)

  Description copied from interface: `IVecI`
  cross product, creating a new instance

  Specified by:
    `cross` in interface `IVecI`

### len

    public double len()

  Description copied from interface: `IVecI`
  getting length of the vector

  Specified by:
    `len` in interface `IVecI`

### len

    public double len(ISwitchE e)

  Description copied from interface: `IVecI`
  getting length of the vector

  Specified by:
    `len` in interface `IVecI`

### len

    public IDoubleI len(ISwitchR r)

  Description copied from interface: `IVecI`
  getting length of the vector

  Specified by:
    `len` in interface `IVecI`

### len2

    public double len2()

  Description copied from interface: `IVecI`
  getting squared length of the vector

  Specified by:
    `len2` in interface `IVecI`

### len2

    public double len2(ISwitchE e)

  Description copied from interface: `IVecI`
  getting squared length of the vector

  Specified by:
    `len2` in interface `IVecI`

### len2

    public IDoubleI len2(ISwitchR r)

  Description copied from interface: `IVecI`
  getting squared length of the vector

  Specified by:
    `len2` in interface `IVecI`

### len

    public IVertex len(IDoubleI l)

  Description copied from interface: `IVecI`
  setting length

  Specified by:
    `len` in interface `IVecI`

### len

    public IVertex len(double l)

  Description copied from interface: `IVecI`
  setting length

  Specified by:
    `len` in interface `IVecI`

### unit

    public IVertex unit()

  Description copied from interface: `IVecI`
  unitize

  Specified by:
    `unit` in interface `IVecI`

### dist

    public double dist(IVecI v)

  Description copied from interface: `IVecI`
  distance of two vectors

  Specified by:
    `dist` in interface `IVecI`

### dist

    public double dist(double vx,
                       double vy,
                       double vz)

  Description copied from interface: `IVecI`
  distance of two vectors

  Specified by:
    `dist` in interface `IVecI`

### dist

    public double dist(ISwitchE e,
                       IVecI v)

  Description copied from interface: `IVecI`
  distance of two vectors

  Specified by:
    `dist` in interface `IVecI`

### dist

    public IDoubleI dist(ISwitchR r,
                         IVecI v)

  Description copied from interface: `IVecI`
  distance of two vectors

  Specified by:
    `dist` in interface `IVecI`

### dist2

    public double dist2(IVecI v)

  Description copied from interface: `IVecI`
  squared distance of two vectors

  Specified by:
    `dist2` in interface `IVecI`

### dist2

    public double dist2(double vx,
                        double vy,
                        double vz)

  Description copied from interface: `IVecI`
  squared distance of two vectors

  Specified by:
    `dist2` in interface `IVecI`

### dist2

    public double dist2(ISwitchE e,
                        IVecI v)

  Description copied from interface: `IVecI`
  squared distance of two vectors

  Specified by:
    `dist2` in interface `IVecI`

### dist2

    public IDoubleI dist2(ISwitchR r,
                          IVecI v)

  Description copied from interface: `IVecI`
  squared distance of two vectors

  Specified by:
    `dist2` in interface `IVecI`

### eq

    public boolean eq(IVecI v)

  Description copied from interface: `IVecI`
  check whether location is same or not

  Specified by:
    `eq` in interface `IVecI`

### eq

    public boolean eq(double vx,
                      double vy,
                      double vz)

  Description copied from interface: `IVecI`
  check whether location is same or not

  Specified by:
    `eq` in interface `IVecI`

### eq

    public boolean eq(ISwitchE e,
                      IVecI v)

  Description copied from interface: `IVecI`
  check whether location is same or not

  Specified by:
    `eq` in interface `IVecI`

### eq

    public IBoolI eq(ISwitchR r,
                     IVecI v)

  Description copied from interface: `IVecI`
  check whether location is same or not

  Specified by:
    `eq` in interface `IVecI`

### eq

    public boolean eq(IVecI v,
                      double tolerance)

  Description copied from interface: `IVecI`
  check whether location is same or not with tolerance

  Specified by:
    `eq` in interface `IVecI`

### eq

    public boolean eq(double vx,
                      double vy,
                      double vz,
                      double tolerance)

  Description copied from interface: `IVecI`
  check whether location is same or not with tolerance

  Specified by:
    `eq` in interface `IVecI`

### eq

    public boolean eq(ISwitchE e,
                      IVecI v,
                      double tolerance)

  Description copied from interface: `IVecI`
  check whether location is same or not with tolerance

  Specified by:
    `eq` in interface `IVecI`

### eq

    public IBoolI eq(ISwitchR r,
                     IVecI v,
                     IDoubleI tolerance)

  Description copied from interface: `IVecI`
  check whether location is same or not with tolerance

  Specified by:
    `eq` in interface `IVecI`

### eqX

    public boolean eqX(IVecI v)

  Description copied from interface: `IVecI`
  check if same in X

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public boolean eqY(IVecI v)

  Description copied from interface: `IVecI`
  check if same in Y

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public boolean eqZ(IVecI v)

  Description copied from interface: `IVecI`
  check if same in Z

  Specified by:
    `eqZ` in interface `IVecI`

### eqX

    public boolean eqX(double vx)

  Description copied from interface: `IVecI`
  check if same in X

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public boolean eqY(double vy)

  Description copied from interface: `IVecI`
  check if same in Y

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public boolean eqZ(double vz)

  Description copied from interface: `IVecI`
  check if same in Z

  Specified by:
    `eqZ` in interface `IVecI`

### eqX

    public boolean eqX(ISwitchE e,
                       IVecI v)

  Description copied from interface: `IVecI`
  check if same in X

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public boolean eqY(ISwitchE e,
                       IVecI v)

  Description copied from interface: `IVecI`
  check if same in Y

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public boolean eqZ(ISwitchE e,
                       IVecI v)

  Description copied from interface: `IVecI`
  check if same in Z

  Specified by:
    `eqZ` in interface `IVecI`

### eqX

    public IBoolI eqX(ISwitchR r,
                      IVecI v)

  Description copied from interface: `IVecI`
  check if same in X

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public IBoolI eqY(ISwitchR r,
                      IVecI v)

  Description copied from interface: `IVecI`
  check if same in Y

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public IBoolI eqZ(ISwitchR r,
                      IVecI v)

  Description copied from interface: `IVecI`
  check if same in Z

  Specified by:
    `eqZ` in interface `IVecI`

### eqX

    public boolean eqX(IVecI v,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in X with tolerance

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public boolean eqY(IVecI v,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in Y with tolerance

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public boolean eqZ(IVecI v,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in Z with tolerance

  Specified by:
    `eqZ` in interface `IVecI`

### eqX

    public boolean eqX(double vx,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in X with tolerance

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public boolean eqY(double vy,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in Y with tolerance

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public boolean eqZ(double vz,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in Z with tolerance

  Specified by:
    `eqZ` in interface `IVecI`

### eqX

    public boolean eqX(ISwitchE e,
                       IVecI v,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in X with tolerance

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public boolean eqY(ISwitchE e,
                       IVecI v,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in Y with tolerance

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public boolean eqZ(ISwitchE e,
                       IVecI v,
                       double tolerance)

  Description copied from interface: `IVecI`
  check if same in Z with tolerance

  Specified by:
    `eqZ` in interface `IVecI`

### eqX

    public IBoolI eqX(ISwitchR r,
                      IVecI v,
                      IDoubleI tolerance)

  Description copied from interface: `IVecI`
  check if same in X with tolerance

  Specified by:
    `eqX` in interface `IVecI`

### eqY

    public IBoolI eqY(ISwitchR r,
                      IVecI v,
                      IDoubleI tolerance)

  Description copied from interface: `IVecI`
  check if same in Y with tolerance

  Specified by:
    `eqY` in interface `IVecI`

### eqZ

    public IBoolI eqZ(ISwitchR r,
                      IVecI v,
                      IDoubleI tolerance)

  Description copied from interface: `IVecI`
  check if same in Z with tolerance

  Specified by:
    `eqZ` in interface `IVecI`

### angle

    public double angle(IVecI v)

  Description copied from interface: `IVecI`
  get angle between two vector from 0 to Pi

  Specified by:
    `angle` in interface `IVecI`

### angle

    public double angle(double vx,
                        double vy,
                        double vz)

  Description copied from interface: `IVecI`
  get angle between two vector from 0 to Pi

  Specified by:
    `angle` in interface `IVecI`

### angle

    public double angle(ISwitchE e,
                        IVecI v)

  Description copied from interface: `IVecI`
  get angle between two vector from 0 to Pi

  Specified by:
    `angle` in interface `IVecI`

### angle

    public IDoubleI angle(ISwitchR r,
                          IVecI v)

  Description copied from interface: `IVecI`
  get angle between two vector from 0 to Pi

  Specified by:
    `angle` in interface `IVecI`

### angle

    public double angle(IVecI v,
                        IVecI axis)

  Specified by:
    `angle` in interface `IVecI`
    `axis` - axis to determin sign of angle following right-handed screw rule.
  Returns:
    angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

### angle

    public double angle(double vx,
                        double vy,
                        double vz,
                        double axisX,
                        double axisY,
                        double axisZ)

  Specified by:
    `angle` in interface `IVecI`
  Returns:
    angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

### angle

    public double angle(ISwitchE e,
                        IVecI v,
                        IVecI axis)

  Specified by:
    `angle` in interface `IVecI`
    `axis` - axis to determin sign of angle following right-handed screw rule.
  Returns:
    angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

### angle

    public IDoubleI angle(ISwitchR r,
                          IVecI v,
                          IVecI axis)

  Specified by:
    `angle` in interface `IVecI`
    `axis` - axis to determin sign of angle following right-handed screw rule.
  Returns:
    angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

### rot

    public IVertex rot(IDoubleI angle)

  Description copied from interface: `IVecI`
  rotation on XY plane

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVecI`

### rot

    public IVertex rot(double angle)

  Description copied from interface: `IVecI`
  rotation on XY plane

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVecI`

### rot

    public IVertex rot(IVecI axis,
                       IDoubleI angle)

  Description copied from interface: `IVecI`
  rotation around axis vector

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVecI`

### rot

    public IVertex rot(IVecI axis,
                       double angle)

  Description copied from interface: `IVecI`
  rotation around axis vector

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVecI`

### rot

    public IVertex rot(double axisX,
                       double axisY,
                       double axisZ,
                       double angle)

  Description copied from interface: `IVecI`
  rotation around axis vector

  Specified by:
    `rot` in interface `IVecI`

### rot

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

  Description copied from interface: `IVecI`
  rotation around axis vector and center point

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVecI`

### rot

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

  Description copied from interface: `IVecI`
  rotation around axis vector and center point

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVecI`

### rot

    public IVertex rot(double centerX,
                       double centerY,
                       double centerZ,
                       double axisX,
                       double axisY,
                       double axisZ,
                       double angle)

  Description copied from interface: `IVecI`
  rotation around axis vector and center point

  Specified by:
    `rot` in interface `IVecI`

### rot

    public IVertex rot(IVecI axis,
                       IVecI destDir)

  Description copied from interface: `IVecI`
  rotate to destination direction vector

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVecI`

### rot

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

  Description copied from interface: `IVecI`
  rotate to destination point location

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVecI`

### rot2

    public IVertex rot2(IDoubleI angle)

  Description copied from interface: `IVecI`
  rotation on xy-plane; alias of rot(IDoubleI)

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVecI`

### rot2

    public IVertex rot2(double angle)

  Description copied from interface: `IVecI`
  rotation on xy-plane; alias of rot(double)

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVecI`

### rot2

    public IVertex rot2(IVecI center,
                        IDoubleI angle)

  Description copied from interface: `IVecI`
  rotation on xy-plane

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVecI`

### rot2

    public IVertex rot2(IVecI center,
                        double angle)

  Description copied from interface: `IVecI`
  rotation on xy-plane

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVecI`

### rot2

    public IVertex rot2(double centerX,
                        double centerY,
                        double angle)

  Description copied from interface: `IVecI`
  rotation on xy-plane

  Specified by:
    `rot2` in interface `IVecI`

### rot2

    public IVertex rot2(IVecI destDir)

  Description copied from interface: `IVecI`
  rotation on xy-plane towards destDir

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVecI`

### rot2

    public IVertex rot2(IVecI center,
                        IVecI destPt)

  Description copied from interface: `IVecI`
  rotation on xy-plane towards destPt

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVecI`

### scale

    public IVertex scale(IDoubleI f)

  Description copied from interface: `IVecI`
  alias of mul

  Specified by:
    `scale` in interface `ITransformable`
  Specified by:
    `scale` in interface `IVecI`

### scale

    public IVertex scale(double f)

  Description copied from interface: `IVecI`
  alias of mul

  Specified by:
    `scale` in interface `ITransformable`
  Specified by:
    `scale` in interface `IVecI`

### scale

    public IVertex scale(IVecI center,
                         IDoubleI f)

  Description copied from interface: `IVecI`
  scale from a center

  Specified by:
    `scale` in interface `ITransformable`
  Specified by:
    `scale` in interface `IVecI`

### scale

    public IVertex scale(IVecI center,
                         double f)

  Description copied from interface: `IVecI`
  scale from a center

  Specified by:
    `scale` in interface `ITransformable`
  Specified by:
    `scale` in interface `IVecI`

### scale

    public IVertex scale(double centerX,
                         double centerY,
                         double centerZ,
                         double f)

  Description copied from interface: `IVecI`
  scale from a center

  Specified by:
    `scale` in interface `IVecI`

### scale1d

    public IVertex scale1d(IVecI axis,
                           double f)

  scale only in 1 direction

  Specified by:
    `scale1d` in interface `ITransformable`
  Specified by:
    `scale1d` in interface `IVecI`

### scale1d

    public IVertex scale1d(IVecI axis,
                           IDoubleI f)

  Description copied from interface: `IVecI`
  scale only in 1 direction

  Specified by:
    `scale1d` in interface `ITransformable`
  Specified by:
    `scale1d` in interface `IVecI`

### scale1d

    public IVertex scale1d(double axisX,
                           double axisY,
                           double axisZ,
                           double f)

  Description copied from interface: `IVecI`
  scale only in 1 direction

  Specified by:
    `scale1d` in interface `IVecI`

### scale1d

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

  Description copied from interface: `IVecI`
  scale only in 1 direction from a center

  Specified by:
    `scale1d` in interface `ITransformable`
  Specified by:
    `scale1d` in interface `IVecI`

### scale1d

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

  Description copied from interface: `IVecI`
  scale only in 1 direction from a center

  Specified by:
    `scale1d` in interface `ITransformable`
  Specified by:
    `scale1d` in interface `IVecI`

### scale1d

    public IVertex scale1d(double centerX,
                           double centerY,
                           double centerZ,
                           double axisX,
                           double axisY,
                           double axisZ,
                           double f)

  Description copied from interface: `IVecI`
  scale only in 1 direction from a center

  Specified by:
    `scale1d` in interface `IVecI`

### ref

    public IVertex ref(IVecI planeDir)

  Description copied from interface: `IVecI`
  reflect(mirror) 3 dimensionally to the other side of the plane

  Specified by:
    `ref` in interface `ITransformable`
  Specified by:
    `ref` in interface `IVecI`

### ref

    public IVertex ref(double planeX,
                       double planeY,
                       double planeZ)

  Description copied from interface: `IVecI`
  reflect(mirror) 3 dimensionally to the other side of the plane

  Specified by:
    `ref` in interface `IVecI`

### ref

    public IVertex ref(IVecI center,
                       IVecI planeDir)

  Description copied from interface: `IVecI`
  reflect(mirror) 3 dimensionally to the other side of the plane

  Specified by:
    `ref` in interface `ITransformable`
  Specified by:
    `ref` in interface `IVecI`

### ref

    public IVertex ref(double centerX,
                       double centerY,
                       double centerZ,
                       double planeX,
                       double planeY,
                       double planeZ)

  Description copied from interface: `IVecI`
  reflect(mirror) 3 dimensionally to the other side of the plane

  Specified by:
    `ref` in interface `IVecI`

### mirror

    public IVertex mirror(IVecI planeDir)

  Description copied from interface: `IVecI`
  alias of ref

  Specified by:
    `mirror` in interface `ITransformable`
  Specified by:
    `mirror` in interface `IVecI`

### mirror

    public IVertex mirror(double planeX,
                          double planeY,
                          double planeZ)

  Description copied from interface: `IVecI`
  alias of ref

  Specified by:
    `mirror` in interface `IVecI`

### mirror

    public IVertex mirror(IVecI center,
                          IVecI planeDir)

  Description copied from interface: `IVecI`
  alias of ref

  Specified by:
    `mirror` in interface `ITransformable`
  Specified by:
    `mirror` in interface `IVecI`

### mirror

    public IVertex mirror(double centerX,
                          double centerY,
                          double centerZ,
                          double planeX,
                          double planeY,
                          double planeZ)

  Description copied from interface: `IVecI`
  alias of ref

  Specified by:
    `mirror` in interface `IVecI`

### shear

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

  shear operation

  Specified by:
    `shear` in interface `ITransformable`
  Specified by:
    `shear` in interface `IVecI`

### shear

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

  Description copied from interface: `IVecI`
  shear operation

  Specified by:
    `shear` in interface `ITransformable`
  Specified by:
    `shear` in interface `IVecI`

### shear

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

  Description copied from interface: `IVecI`
  shear operation

  Specified by:
    `shear` in interface `ITransformable`
  Specified by:
    `shear` in interface `IVecI`

### shear

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

  Description copied from interface: `IVecI`
  shear operation

  Specified by:
    `shear` in interface `ITransformable`
  Specified by:
    `shear` in interface `IVecI`

### shearXY

    public IVertex shearXY(double sxy,
                           double syx)

  Description copied from interface: `IVecI`
  shear operation on XY

  Specified by:
    `shearXY` in interface `ITransformable`
  Specified by:
    `shearXY` in interface `IVecI`

### shearXY

    public IVertex shearXY(IDoubleI sxy,
                           IDoubleI syx)

  Description copied from interface: `IVecI`
  shear operation on XY

  Specified by:
    `shearXY` in interface `ITransformable`
  Specified by:
    `shearXY` in interface `IVecI`

### shearXY

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

  Description copied from interface: `IVecI`
  shear operation on XY

  Specified by:
    `shearXY` in interface `ITransformable`
  Specified by:
    `shearXY` in interface `IVecI`

### shearXY

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

  Description copied from interface: `IVecI`
  shear operation on XY

  Specified by:
    `shearXY` in interface `ITransformable`
  Specified by:
    `shearXY` in interface `IVecI`

### shearYZ

    public IVertex shearYZ(double syz,
                           double szy)

  Description copied from interface: `IVecI`
  shear operation on YZ

  Specified by:
    `shearYZ` in interface `ITransformable`
  Specified by:
    `shearYZ` in interface `IVecI`

### shearYZ

    public IVertex shearYZ(IDoubleI syz,
                           IDoubleI szy)

  Description copied from interface: `IVecI`
  shear operation on YZ

  Specified by:
    `shearYZ` in interface `ITransformable`
  Specified by:
    `shearYZ` in interface `IVecI`

### shearYZ

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

  Description copied from interface: `IVecI`
  shear operation on YZ

  Specified by:
    `shearYZ` in interface `ITransformable`
  Specified by:
    `shearYZ` in interface `IVecI`

### shearYZ

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

  Description copied from interface: `IVecI`
  shear operation on YZ

  Specified by:
    `shearYZ` in interface `ITransformable`
  Specified by:
    `shearYZ` in interface `IVecI`

### shearZX

    public IVertex shearZX(double szx,
                           double sxz)

  Description copied from interface: `IVecI`
  shear operation on ZX

  Specified by:
    `shearZX` in interface `ITransformable`
  Specified by:
    `shearZX` in interface `IVecI`

### shearZX

    public IVertex shearZX(IDoubleI szx,
                           IDoubleI sxz)

  Description copied from interface: `IVecI`
  shear operation on ZX

  Specified by:
    `shearZX` in interface `ITransformable`
  Specified by:
    `shearZX` in interface `IVecI`

### shearZX

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

  Description copied from interface: `IVecI`
  shear operation on ZX

  Specified by:
    `shearZX` in interface `ITransformable`
  Specified by:
    `shearZX` in interface `IVecI`

### shearZX

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

  Description copied from interface: `IVecI`
  shear operation on ZX

  Specified by:
    `shearZX` in interface `ITransformable`
  Specified by:
    `shearZX` in interface `IVecI`

### translate

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

  translate is alias of add()

  Specified by:
    `translate` in interface `ITransformable`
  Specified by:
    `translate` in interface `IVecI`

### translate

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

  Description copied from interface: `IVecI`
  alias of add()

  Specified by:
    `translate` in interface `ITransformable`
  Specified by:
    `translate` in interface `IVecI`

### translate

    public IVertex translate(IVecI v)

  Description copied from interface: `IVecI`
  alias of add()

  Specified by:
    `translate` in interface `ITransformable`
  Specified by:
    `translate` in interface `IVecI`

### transform

    public IVertex transform(IMatrix3I mat)

  Description copied from interface: `IVecI`
  transform with a transformation matrix

  Specified by:
    `transform` in interface `ITransformable`
  Specified by:
    `transform` in interface `IVecI`

### transform

    public IVertex transform(IMatrix4I mat)

  Description copied from interface: `IVecI`
  transform with a transformation matrix

  Specified by:
    `transform` in interface `ITransformable`
  Specified by:
    `transform` in interface `IVecI`

### transform

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

  Description copied from interface: `IVecI`
  transform with a transformation vectors

  Specified by:
    `transform` in interface `ITransformable`
  Specified by:
    `transform` in interface `IVecI`

### transform

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

  Description copied from interface: `IVecI`
  transform with a transformation vectors

  Specified by:
    `transform` in interface `ITransformable`
  Specified by:
    `transform` in interface `IVecI`

### mv

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

  mv() is alias of add()

  Specified by:
    `mv` in interface `ITransformable`
  Specified by:
    `mv` in interface `IVecI`

### mv

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

  Description copied from interface: `IVecI`
  mv() is alias of add()

  Specified by:
    `mv` in interface `ITransformable`
  Specified by:
    `mv` in interface `IVecI`

### mv

    public IVertex mv(IVecI v)

  Description copied from interface: `IVecI`
  mv() is alias of add()

  Specified by:
    `mv` in interface `ITransformable`
  Specified by:
    `mv` in interface `IVecI`

### cp

    public IVertex cp()

  cp() is alias of dup()

  Specified by:
    `cp` in interface `ITransformable`
  Specified by:
    `cp` in interface `IVecI`

### cp

    public IVertex cp(double x,
                      double y,
                      double z)

  cp() is alias of dup().add()

  Specified by:
    `cp` in interface `ITransformable`
  Specified by:
    `cp` in interface `IVecI`

### cp

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

  Description copied from interface: `IVecI`
  cp() is alias of dup().add()

  Specified by:
    `cp` in interface `ITransformable`
  Specified by:
    `cp` in interface `IVecI`

### cp

    public IVertex cp(IVecI v)

  Description copied from interface: `IVecI`
  cp() is alias of dup().add()

  Specified by:
    `cp` in interface `ITransformable`
  Specified by:
    `cp` in interface `IVecI`

### dif

    public IVecI dif(IVecI v)

  Description copied from interface: `IVecI`
  create a new instance of difference

  Specified by:
    `dif` in interface `IVecI`

### dif

    public IVecI dif(double vx,
                     double vy,
                     double vz)

  Description copied from interface: `IVecI`
  create a new instance of difference

  Specified by:
    `dif` in interface `IVecI`

### diff

    public IVecI diff(IVecI v)

  Description copied from interface: `IVecI`
  alias of dif

  Specified by:
    `diff` in interface `IVecI`

### diff

    public IVecI diff(double vx,
                      double vy,
                      double vz)

  Description copied from interface: `IVecI`
  alias of dif

  Specified by:
    `diff` in interface `IVecI`

### mid

    public IVecI mid(IVecI v)

  Description copied from interface: `IVecI`
  create a new instance of midpoint

  Specified by:
    `mid` in interface `IVecI`

### mid

    public IVecI mid(double vx,
                     double vy,
                     double vz)

  Description copied from interface: `IVecI`
  create a new instance of midpoint

  Specified by:
    `mid` in interface `IVecI`

### sum

    public IVecI sum(IVecI v)

  Description copied from interface: `IVecI`
  create a new instance of total summation

  Specified by:
    `sum` in interface `IVecI`

### sum

    public IVecI sum(double vx,
                     double vy,
                     double vz)

  Description copied from interface: `IVecI`
  create a new instance of total summation

  Specified by:
    `sum` in interface `IVecI`

### sum

    public IVecI sum(IVecI... v)

  Description copied from interface: `IVecI`
  create a new instance of total summation

  Specified by:
    `sum` in interface `IVecI`

### bisect

    public IVecI bisect(IVecI v)

  Description copied from interface: `IVecI`
  create a new instance of bisector

  Specified by:
    `bisect` in interface `IVecI`

### bisect

    public IVecI bisect(double vx,
                        double vy,
                        double vz)

  Description copied from interface: `IVecI`
  create a new instance of bisector

  Specified by:
    `bisect` in interface `IVecI`

### sum

    public IVecI sum(IVecI v2,
                     double w1,
                     double w2)

  Description copied from interface: `IVecI`
  create a new instance of weighted sum

  Specified by:
    `sum` in interface `IVecI`

### sum

    public IVecI sum(IVecI v2,
                     double w2)

  Description copied from interface: `IVecI`
  create a new instance of weighted sum

  Specified by:
    `sum` in interface `IVecI`

### sum

    public IVecI sum(IVecI v2,
                     IDoubleI w1,
                     IDoubleI w2)

  Description copied from interface: `IVecI`
  create a new instance of weighted sum

  Specified by:
    `sum` in interface `IVecI`

### sum

    public IVecI sum(IVecI v2,
                     IDoubleI w2)

  Description copied from interface: `IVecI`
  create a new instance of weighted sum

  Specified by:
    `sum` in interface `IVecI`

### nml

    public IVecI nml(IVecI v)

  alias of cross. (not unitized ... ?) returns IVecI

  Specified by:
    `nml` in interface `IVecI`

### nml

    public IVecI nml(double vx,
                     double vy,
                     double vz)

  Description copied from interface: `IVecI`
  alias of cross

  Specified by:
    `nml` in interface `IVecI`

### nml

    public IVecI nml(IVecI pt1,
                     IVecI pt2)

  create normal vector from 3 points of self, pt1 and pt2

  Specified by:
    `nml` in interface `IVecI`

### nml

    public IVecI nml(double vx1,
                     double vy1,
                     double vz1,
                     double vx2,
                     double vy2,
                     double vz2)

  Description copied from interface: `IVecI`
  create normal vector from 3 points of self, pt1 and pt2

  Specified by:
    `nml` in interface `IVecI`

### getAverageNormal

    public IVec getAverageNormal()

### calcNormal

    public void calcNormal()

### normal

    public IVecI normal()

  getting normal (alias)

### nml

    public IVecI nml()

  getting normal

### getNormal

    public IVecI getNormal()

  getting normal (alias)

### getNml

    public IVecI getNml()

  getting normal (alias)

### setNormal

    public IVertex setNormal(IVecI n)

### setNormal

    public IVertex setNormal(double x,
                             double y,
                             double z)

### setNml

    public IVertex setNml(IVecI n)

### setNml

    public IVertex setNml(double x,
                          double y,
                          double z)

### isValid

    public boolean isValid()

  setting normal; this nml has different function from IVecI's nml

  Specified by:
    `isValid` in interface `IVecI`

### texture

    public IVec2I texture()

### texture

    public IVertex texture(IVec2I t)

### texture

    public IVertex texture(double u,
                           double v)

### addEdge

    public void addEdge(IEdge e)

### getEdge

    public IEdge getEdge(int i)

### edge

    public IEdge edge(int i)

### edgeNum

    public int edgeNum()

### getEdgeTo

    public IEdge getEdgeTo(IVertex v)

### createEdgeTo

    public IEdge createEdgeTo(IVertex v)

### addFace

    public void addFace(IFace f)

### getFace

    public IFace getFace(int i)

### face

    public IFace face(int i)

### faceNum

    public int faceNum()

### linkedVertex

    public IVertex linkedVertex(int i)

### linkedVertexNum

    public int linkedVertexNum()

### replaceLinkedVertex

    public void replaceLinkedVertex(IVertex oldVertex,
                                    IVertex newVertex)

### replaceVertex

    public void replaceVertex(IVertex newVertex)

### getOtherEdges

    public IEdge[] getOtherEdges(IEdge edge)

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### sortByEdge

    public static java.util.ArrayList<IVertex> sortByEdge(java.util.ArrayList<IVertex> vtx,
                                                          int startIdx)

  list of vertices are sorted by tracing edge connection. ideally vertices are connected as a circle by edges this works only when all triangulated. quad mesh might not work.

### sortByEdge

    public static java.util.ArrayList<IVertex> sortByEdge(java.util.ArrayList<IVertex> vtx,
                                                          IVertex v)

  list of vertices are sorted by tracing edge connection. ideally vertices are connected as a circle by edges this works only when all triangulated. quad mesh might not work.

### sortByEdge

    public static java.util.ArrayList<IVertex> sortByEdge(java.util.ArrayList<IVertex> vtx)

  list of vertices are sorted by tracing edge connection. ideally vertices are connected as a circle by edges this works only when all triangulated. quad mesh might not work.

### findLinkedVertexInArray

    public static int findLinkedVertexInArray(IVertex v,
                                              java.util.ArrayList<IVertex> vlist,
                                              boolean[] skiplist)

  returns vertex index in arraylist

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