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

## igeo
Interface IVec4I

All Superinterfaces:
  IArithmeticVal<IVecI,IDoubleI>, IParameter, ITransformable, IVal, IVec4Op, IVecI, IVecOp

All Known Implementing Classes:
  IVec4, IVec4R

    public interface IVec4I

extends IVec4Op, IVecI

Abstract interface of 4 dimensional vector. 4 dimensional vector is mainly used for control points of NURBS geometry to include weights

Author:
  Satoru Sugihara

Method Summary
`IVec4I` | `add(double f, IVecI v)` scale add alias
`IVec4I` | `add(IDoubleI f, IVecI v)` scale add alias
`IVec4I` | `add(IVecI v)`
`IVec4I` | `add(IVecI v, double f)` scale add
`IVec4I` | `add(IVecI v, IDoubleI f)` scale add
`IVec4I` | `bisect(double vx, double vy, double vz)` create a new instance of bisector
`IVec4I` | `bisect(IVecI v)` create a new instance of bisector
`IVec4I` | `cp()` cp() is alias of dup()
`IVec4I` | `cp(double x, double y, double z)` cp() is alias of dup().add()
`IVec4I` | `cp(IDoubleI x, IDoubleI y, IDoubleI z)` cp() is alias of dup().add()
`IVec4I` | `cp(IVecI v)` cp() is alias of dup().add()
`IVec4I` | `cross(double vx, double vy, double vz)` cross product, creating a new instance
`IVec4I` | `cross(IVecI v)` cross product, creating a new instance
`IVec4I` | `dif(double vx, double vy, double vz)` create a new instance of difference
`IVec4I` | `dif(IVecI v)` create a new instance of difference
`IVec4I` | `diff(double vx, double vy, double vz)` alias of dif
`IVec4I` | `diff(IVecI v)` alias of dif
`IVec4I` | `div(double v)`
`IVec4I` | `div(IDoubleI v)`
`IVec4I` | `dup()` duplicate the instance
`boolean` | `eqW(double vw)`
`boolean` | `eqW(double vw, double tolerance)`
`boolean` | `eqW(ISwitchE e, IVec4I v)`
`boolean` | `eqW(ISwitchE e, IVec4I v, double tolerance)`
`IBoolI` | `eqW(ISwitchR r, IVec4I v)`
`IBoolI` | `eqW(ISwitchR r, IVec4I v, IDoubleI tolerance)`
`boolean` | `eqW(IVec4I v)`
`boolean` | `eqW(IVec4I v, double tolerance)`
`IVec4I` | `flip()` alias of neg()
`IVec4` | `get()`
`IDoubleI` | `getW()`
`IDoubleI` | `getX()`
`IDoubleI` | `getY()`
`IDoubleI` | `getZ()`
`IVec4I` | `len(double l)` setting length
`IVec4I` | `len(IDoubleI l)` setting length
`IVec4I` | `mid(double vx, double vy, double vz)` create a new instance of midpoint
`IVec4I` | `mid(IVecI v)` create a new instance of midpoint
`IVec4I` | `mirror(double planeX, double planeY, double planeZ)` alias of ref
`IVec4I` | `mirror(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` alias of ref
`IVec4I` | `mirror(IVecI planeDir)` alias of ref
`IVec4I` | `mirror(IVecI center, IVecI planeDir)` alias of ref
`IVec4I` | `mul(double v)`
`IVec4I` | `mul(IDoubleI v)`
`IVec4I` | `mv(double x, double y, double z)` mv() is alias of add()
`IVec4I` | `mv(IDoubleI x, IDoubleI y, IDoubleI z)` mv() is alias of add()
`IVec4I` | `mv(IVecI v)` mv() is alias of add()
`IVec4I` | `neg()`
`IVec4I` | `nml(double vx, double vy, double vz)` alias of cross
`IVec4I` | `nml(double vx1, double vy1, double vz1, double vx2, double vy2, double vz2)` create normal vector from 3 points of self, pt1 and pt2
`IVec4I` | `nml(IVecI v)` alias of cross
`IVec4I` | `nml(IVecI pt1, IVecI pt2)` create normal vector from 3 points of self, pt1 and pt2
`IVec4I` | `ref(double planeX, double planeY, double planeZ)` reflect(mirror) 3 dimensionally to the other side of the plane
`IVec4I` | `ref(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` reflect(mirror) 3 dimensionally to the other side of the plane
`IVec4I` | `ref(IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
`IVec4I` | `ref(IVecI center, IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
`IVec4I` | `rev()` alias of neg()
`IVec4I` | `rot(double angle)` rotation on xy-plane
`IVec4I` | `rot(double vx, double vy, double vz, double angle)` rotation around axis
`IVec4I` | `rot(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double angle)` rotation around axis and center
`IVec4I` | `rot(IDoubleI angle)` rotation on xy-plane
`IVec4I` | `rot(IVecI axis, double angle)` rotation around axis
`IVec4I` | `rot(IVecI axis, IDoubleI angle)` rotation around axis
`IVec4I` | `rot(IVecI axis, IVecI destDir)` rotation around axis towards destination direction
`IVec4I` | `rot(IVecI center, IVecI axis, double angle)` rotation around axis and center
`IVec4I` | `rot(IVecI center, IVecI axis, IDoubleI angle)` rotation around axis and center
`IVec4I` | `rot(IVecI center, IVecI axis, IVecI destPt)` rotation around axis and center towards destination point
`IVec4I` | `rot2(double angle)` rotation on xy-plane; alias of rot(double)
`IVec4I` | `rot2(double centerX, double centerY, double angle)` rotation on xy-plane at center
`IVec4I` | `rot2(IDoubleI angle)` rotation on xy-plane; alias of rot(IDoubleI)
`IVec4I` | `rot2(IVecI destDir)` rotation on xy-plane towards destination direction
`IVec4I` | `rot2(IVecI center, double angle)` rotation on xy-plane at center
`IVec4I` | `rot2(IVecI center, IDoubleI angle)` rotation on xy-plane at center
`IVec4I` | `rot2(IVecI center, IVecI destPt)` rotation on xy-plane at center towards destination point
`IVec4I` | `scale(double f)` alias of mul
`IVec4I` | `scale(double centerX, double centerY, double centerZ, double f)` scale around center
`IVec4I` | `scale(IDoubleI f)` alias of mul
`IVec4I` | `scale(IVecI center, double f)` scale around center
`IVec4I` | `scale(IVecI center, IDoubleI f)` scale around center
`IVec4I` | `scale1d(double axisX, double axisY, double axisZ, double f)` scale only in 1 direction
`IVec4I` | `scale1d(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double f)` scale only in 1 direction from a center
`IVec4I` | `scale1d(IVecI axis, double f)` scale only in 1 direction
`IVec4I` | `scale1d(IVecI axis, IDoubleI f)` scale only in 1 direction
`IVec4I` | `scale1d(IVecI center, IVecI axis, double f)` scale only in 1 direction from a center
`IVec4I` | `scale1d(IVecI center, IVecI axis, IDoubleI f)` scale only in 1 direction from a center
`IVec4I` | `set(double x, double y, double z)`
`IVec4I` | `set(double x, double y, double z, double w)`
`IVec4I` | `set(IDoubleI x, IDoubleI y, IDoubleI z)`
`IVec4I` | `set(IDoubleI x, IDoubleI y, IDoubleI z, IDoubleI w)`
`IVec4I` | `set(IVec4I v)`
`IVec4I` | `set(IVecI v)`
`IVec4I` | `set(IVecI v, double w)`
`IVec4I` | `set(IVecI v, IDoubleI w)`
`IVec4I` | `shear(double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
`IVec4I` | `shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
`IVec4I` | `shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
`IVec4I` | `shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
`IVec4I` | `shearXY(double sxy, double syx)` shear operation on XY
`IVec4I` | `shearXY(IDoubleI sxy, IDoubleI syx)` shear operation on XY
`IVec4I` | `shearXY(IVecI center, double sxy, double syx)` shear operation on XY
`IVec4I` | `shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)` shear operation on XY
`IVec4I` | `shearYZ(double syz, double szy)` shear operation on YZ
`IVec4I` | `shearYZ(IDoubleI syz, IDoubleI szy)` shear operation on YZ
`IVec4I` | `shearYZ(IVecI center, double syz, double szy)` shear operation on YZ
`IVec4I` | `shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)` shear operation on YZ
`IVec4I` | `shearZX(double szx, double sxz)` shear operation on ZX
`IVec4I` | `shearZX(IDoubleI szx, IDoubleI sxz)` shear operation on ZX
`IVec4I` | `shearZX(IVecI center, double szx, double sxz)` shear operation on ZX
`IVec4I` | `shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)` shear operation on ZX
`IVec4I` | `sub(IVecI v)`
`IVec4I` | `sum(double vx, double vy, double vz)` create a new instance of total summation
`IVec4I` | `sum(IVecI... v)` create a new instance of total summation
`IVec4I` | `sum(IVecI v)` create a new instance of total summation
`IVec4I` | `sum(IVecI v2, double w2)` create a new instance of weighted sum
`IVec4I` | `sum(IVecI v2, double w1, double w2)` create a new instance of weighted sum
`IVec4I` | `sum(IVecI v2, IDoubleI w2)` create a new instance of weighted sum
`IVec4I` | `sum(IVecI v2, IDoubleI w1, IDoubleI w2)` create a new instance of weighted sum
`IVec2I` | `to2d()`
`IVecI` | `to3d()`
`IVec4I` | `transform(IMatrix3I mat)` transform with a transformation matrix
`IVec4I` | `transform(IMatrix4I mat)` transform with a transformation matrix
`IVec4I` | `transform(IVecI xvec, IVecI yvec, IVecI zvec)` transform with a transformation vectors
`IVec4I` | `transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)` transform with a transformation vectors
`IVec4I` | `translate(double x, double y, double z)` alias of add()
`IVec4I` | `translate(IDoubleI x, IDoubleI y, IDoubleI z)` alias of add()
`IVec4I` | `translate(IVecI v)` alias of add()
`IVec4I` | `unit()` unitize
`double` | `w()` getting w component
`IVec4I` | `w(double vz)` setting w component
`IVec4I` | `w(IDoubleI vz)` setting w component
`double` | `w(ISwitchE e)` getting z component
`IDoubleI` | `w(ISwitchR r)` getting z component
`IVec4I` | `w(IVec4I v)` setting w component by w component of input vector
`double` | `x()` getting x component
`IVec4I` | `x(double vx)` setting x component
`IVec4I` | `x(IDoubleI vx)` setting x component
`double` | `x(ISwitchE e)` getting x component
`IDoubleI` | `x(ISwitchR r)` getting x component
`IVec4I` | `x(IVec2I v)` setting x component by x component of input vector
`IVec4I` | `x(IVecI v)` setting x component by x component of input vector
`double` | `y()` getting y component
`IVec4I` | `y(double vy)` setting y component
`IVec4I` | `y(IDoubleI vy)` setting y component
`double` | `y(ISwitchE e)` getting y component
`IDoubleI` | `y(ISwitchR r)` getting y component
`IVec4I` | `y(IVec2I v)` setting y component by y component of input vector
`IVec4I` | `y(IVecI v)` setting y component by y component of input vector
`double` | `z()` getting z component
`IVec4I` | `z(double vz)` setting z component
`IVec4I` | `z(IDoubleI vz)` setting z component
`double` | `z(ISwitchE e)` getting z component
`IDoubleI` | `z(ISwitchR r)` getting z component
`IVec4I` | `z(IVecI v)` setting z component by z component of input vector
`IVec4I` | `zero()` setting all zero

Methods inherited from interface igeo.IVecI
`add, add, angle, angle, angle, angle, angle, angle, angle, angle, dist, dist, dist, dist, dist2, dist2, dist2, dist2, dot, dot, dot, dot, eq, eq, eq, eq, eq, eq, eq, eq, eqX, eqX, eqX, eqX, eqX, eqX, eqX, eqX, eqY, eqY, eqY, eqY, eqY, eqY, eqY, eqY, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, isValid, len, len, len, len2, len2, len2, sub, sub, to2d, to2d, to2d, to4d, to4d, to4d`

Method Detail

### x

    double x()

  getting x component

  Specified by:
    `x` in interface `IVecI`

### y

    double y()

  getting y component

  Specified by:
    `y` in interface `IVecI`

### z

    double z()

  getting z component

  Specified by:
    `z` in interface `IVecI`

### w

    double w()

  getting w component

### x

    IVec4I x(double vx)

  setting x component

  Specified by:
    `x` in interface `IVecI`

### y

    IVec4I y(double vy)

  setting y component

  Specified by:
    `y` in interface `IVecI`

### z

    IVec4I z(double vz)

  setting z component

  Specified by:
    `z` in interface `IVecI`

### w

    IVec4I w(double vz)

  setting w component

### x

    IVec4I x(IDoubleI vx)

  setting x component

  Specified by:
    `x` in interface `IVecI`

### y

    IVec4I y(IDoubleI vy)

  setting y component

  Specified by:
    `y` in interface `IVecI`

### z

    IVec4I z(IDoubleI vz)

  setting z component

  Specified by:
    `z` in interface `IVecI`

### w

    IVec4I w(IDoubleI vz)

  setting w component

### x

    IVec4I x(IVecI v)

  setting x component by x component of input vector

  Specified by:
    `x` in interface `IVecI`

### y

    IVec4I y(IVecI v)

  setting y component by y component of input vector

  Specified by:
    `y` in interface `IVecI`

### z

    IVec4I z(IVecI v)

  setting z component by z component of input vector

  Specified by:
    `z` in interface `IVecI`

### w

    IVec4I w(IVec4I v)

  setting w component by w component of input vector

### x

    IVec4I x(IVec2I v)

  setting x component by x component of input vector

  Specified by:
    `x` in interface `IVecI`

### y

    IVec4I y(IVec2I v)

  setting y component by y component of input vector

  Specified by:
    `y` in interface `IVecI`

### x

    double x(ISwitchE e)

  getting x component

  Specified by:
    `x` in interface `IVecI`

### y

    double y(ISwitchE e)

  getting y component

  Specified by:
    `y` in interface `IVecI`

### z

    double z(ISwitchE e)

  getting z component

  Specified by:
    `z` in interface `IVecI`

### w

    double w(ISwitchE e)

  getting z component

### x

    IDoubleI x(ISwitchR r)

  getting x component

  Specified by:
    `x` in interface `IVecI`

### y

    IDoubleI y(ISwitchR r)

  getting y component

  Specified by:
    `y` in interface `IVecI`

### z

    IDoubleI z(ISwitchR r)

  getting z component

  Specified by:
    `z` in interface `IVecI`

### w

    IDoubleI w(ISwitchR r)

  getting z component

### get

    IVec4 get()

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

### dup

    IVec4I dup()

  Description copied from interface: `ITransformable`
  duplicate the instance

  Specified by:
    `dup` in interface `IArithmeticVal<IVecI,IDoubleI>`
  Specified by:
    `dup` in interface `ITransformable`
  Specified by:
    `dup` in interface `IVecI`

### to2d

    IVec2I to2d()

  Specified by:
    `to2d` in interface `IVecI`

### to3d

    IVecI to3d()

### getX

    IDoubleI getX()

  Specified by:
    `getX` in interface `IVecI`

### getY

    IDoubleI getY()

  Specified by:
    `getY` in interface `IVecI`

### getZ

    IDoubleI getZ()

  Specified by:
    `getZ` in interface `IVecI`

### getW

    IDoubleI getW()

### set

    IVec4I set(double x,
               double y,
               double z,
               double w)

### set

    IVec4I set(IDoubleI x,
               IDoubleI y,
               IDoubleI z,
               IDoubleI w)

### set

    IVec4I set(IVecI v,
               double w)

### set

    IVec4I set(IVecI v,
               IDoubleI w)

### set

    IVec4I set(IVec4I v)

### set

    IVec4I set(IVecI v)

  Specified by:
    `set` in interface `IArithmeticVal<IVecI,IDoubleI>`
  Specified by:
    `set` in interface `IVecI`

### set

    IVec4I set(double x,
               double y,
               double z)

  Specified by:
    `set` in interface `IVecI`

### set

    IVec4I set(IDoubleI x,
               IDoubleI y,
               IDoubleI z)

  Specified by:
    `set` in interface `IVecI`

### add

    IVec4I add(IVecI v)

  Specified by:
    `add` in interface `IArithmeticVal<IVecI,IDoubleI>`
  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`

### sub

    IVec4I sub(IVecI v)

  Specified by:
    `sub` in interface `IArithmeticVal<IVecI,IDoubleI>`
  Specified by:
    `sub` in interface `ITransformable`
  Specified by:
    `sub` in interface `IVecI`

### mul

    IVec4I mul(IDoubleI v)

  Specified by:
    `mul` in interface `IArithmeticVal<IVecI,IDoubleI>`
  Specified by:
    `mul` in interface `ITransformable`
  Specified by:
    `mul` in interface `IVecI`

### mul

    IVec4I mul(double v)

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

### div

    IVec4I div(IDoubleI v)

  Specified by:
    `div` in interface `IArithmeticVal<IVecI,IDoubleI>`
  Specified by:
    `div` in interface `ITransformable`
  Specified by:
    `div` in interface `IVecI`

### div

    IVec4I div(double v)

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

### neg

    IVec4I neg()

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

### rev

    IVec4I rev()

  alias of neg()

  Specified by:
    `rev` in interface `IVecI`

### flip

    IVec4I flip()

  alias of neg()

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

### zero

    IVec4I zero()

  setting all zero

  Specified by:
    `zero` in interface `IArithmeticVal<IVecI,IDoubleI>`
  Specified by:
    `zero` in interface `IVecI`

### add

    IVec4I add(IVecI v,
               double f)

  scale add

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

### add

    IVec4I add(IVecI v,
               IDoubleI f)

  scale add

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

### add

    IVec4I add(double f,
               IVecI v)

  scale add alias

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

### add

    IVec4I add(IDoubleI f,
               IVecI v)

  scale add alias

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

### len

    IVec4I len(IDoubleI l)

  setting length

  Specified by:
    `len` in interface `IVecI`

### len

    IVec4I len(double l)

  setting length

  Specified by:
    `len` in interface `IVecI`

### unit

    IVec4I unit()

  Description copied from interface: `IVecI`
  unitize

  Specified by:
    `unit` in interface `IVecI`

### cross

    IVec4I cross(IVecI v)

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

  Specified by:
    `cross` in interface `IVecI`

### cross

    IVec4I cross(double vx,
                 double vy,
                 double vz)

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

  Specified by:
    `cross` in interface `IVecI`

### eqW

    boolean eqW(IVec4I v)

### eqW

    boolean eqW(double vw)

### eqW

    boolean eqW(ISwitchE e,
                IVec4I v)

### eqW

    IBoolI eqW(ISwitchR r,
               IVec4I v)

### eqW

    boolean eqW(IVec4I v,
                double tolerance)

### eqW

    boolean eqW(double vw,
                double tolerance)

### eqW

    boolean eqW(ISwitchE e,
                IVec4I v,
                double tolerance)

### eqW

    IBoolI eqW(ISwitchR r,
               IVec4I v,
               IDoubleI tolerance)

### rot

    IVec4I rot(IDoubleI angle)

  rotation on xy-plane

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

### rot

    IVec4I rot(double angle)

  rotation on xy-plane

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

### rot

    IVec4I rot(IVecI axis,
               IDoubleI angle)

  rotation around axis

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

### rot

    IVec4I rot(IVecI axis,
               double angle)

  rotation around axis

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

### rot

    IVec4I rot(double vx,
               double vy,
               double vz,
               double angle)

  rotation around axis

  Specified by:
    `rot` in interface `IVecI`

### rot

    IVec4I rot(IVecI center,
               IVecI axis,
               IDoubleI angle)

  rotation around axis and center

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

### rot

    IVec4I rot(IVecI center,
               IVecI axis,
               double angle)

  rotation around axis and center

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

### rot

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

  rotation around axis and center

  Specified by:
    `rot` in interface `IVecI`

### rot

    IVec4I rot(IVecI axis,
               IVecI destDir)

  rotation around axis towards destination direction

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

### rot

    IVec4I rot(IVecI center,
               IVecI axis,
               IVecI destPt)

  rotation around axis and center towards destination point

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

### rot2

    IVec4I rot2(IDoubleI angle)

  rotation on xy-plane; alias of rot(IDoubleI)

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

### rot2

    IVec4I rot2(double angle)

  rotation on xy-plane; alias of rot(double)

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

### rot2

    IVec4I rot2(IVecI center,
                IDoubleI angle)

  rotation on xy-plane at center

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

### rot2

    IVec4I rot2(IVecI center,
                double angle)

  rotation on xy-plane at center

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

### rot2

    IVec4I rot2(double centerX,
                double centerY,
                double angle)

  rotation on xy-plane at center

  Specified by:
    `rot2` in interface `IVecI`

### rot2

    IVec4I rot2(IVecI destDir)

  rotation on xy-plane towards destination direction

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

### rot2

    IVec4I rot2(IVecI center,
                IVecI destPt)

  rotation on xy-plane at center towards destination point

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

### scale

    IVec4I scale(IDoubleI f)

  alias of mul

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

### scale

    IVec4I scale(double f)

  alias of mul

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

### scale

    IVec4I scale(IVecI center,
                 IDoubleI f)

  scale around center

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

### scale

    IVec4I scale(IVecI center,
                 double f)

  scale around center

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

### scale

    IVec4I scale(double centerX,
                 double centerY,
                 double centerZ,
                 double f)

  scale around center

  Specified by:
    `scale` in interface `IVecI`

### scale1d

    IVec4I scale1d(IVecI axis,
                   double f)

  scale only in 1 direction

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

### scale1d

    IVec4I scale1d(IVecI axis,
                   IDoubleI f)

  scale only in 1 direction

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

### scale1d

    IVec4I scale1d(double axisX,
                   double axisY,
                   double axisZ,
                   double f)

  scale only in 1 direction

  Specified by:
    `scale1d` in interface `IVecI`

### scale1d

    IVec4I scale1d(IVecI center,
                   IVecI axis,
                   double f)

  scale only in 1 direction from a center

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

### scale1d

    IVec4I scale1d(IVecI center,
                   IVecI axis,
                   IDoubleI f)

  scale only in 1 direction from a center

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

### scale1d

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

  scale only in 1 direction from a center

  Specified by:
    `scale1d` in interface `IVecI`

### ref

    IVec4I ref(IVecI planeDir)

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

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

### ref

    IVec4I ref(double planeX,
               double planeY,
               double planeZ)

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

  Specified by:
    `ref` in interface `IVecI`

### ref

    IVec4I ref(IVecI center,
               IVecI planeDir)

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

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

### ref

    IVec4I ref(double centerX,
               double centerY,
               double centerZ,
               double planeX,
               double planeY,
               double planeZ)

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

  Specified by:
    `ref` in interface `IVecI`

### mirror

    IVec4I mirror(IVecI planeDir)

  alias of ref

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

### mirror

    IVec4I mirror(double planeX,
                  double planeY,
                  double planeZ)

  alias of ref

  Specified by:
    `mirror` in interface `IVecI`

### mirror

    IVec4I mirror(IVecI center,
                  IVecI planeDir)

  alias of ref

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

### mirror

    IVec4I mirror(double centerX,
                  double centerY,
                  double centerZ,
                  double planeX,
                  double planeY,
                  double planeZ)

  alias of ref

  Specified by:
    `mirror` in interface `IVecI`

### shear

    IVec4I 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

    IVec4I shear(IDoubleI sxy,
                 IDoubleI syx,
                 IDoubleI syz,
                 IDoubleI szy,
                 IDoubleI szx,
                 IDoubleI sxz)

  shear operation

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

### shear

    IVec4I shear(IVecI center,
                 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

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

  shear operation

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

### shearXY

    IVec4I shearXY(double sxy,
                   double syx)

  shear operation on XY

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

### shearXY

    IVec4I shearXY(IDoubleI sxy,
                   IDoubleI syx)

  shear operation on XY

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

### shearXY

    IVec4I shearXY(IVecI center,
                   double sxy,
                   double syx)

  shear operation on XY

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

### shearXY

    IVec4I shearXY(IVecI center,
                   IDoubleI sxy,
                   IDoubleI syx)

  shear operation on XY

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

### shearYZ

    IVec4I shearYZ(double syz,
                   double szy)

  shear operation on YZ

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

### shearYZ

    IVec4I shearYZ(IDoubleI syz,
                   IDoubleI szy)

  shear operation on YZ

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

### shearYZ

    IVec4I shearYZ(IVecI center,
                   double syz,
                   double szy)

  shear operation on YZ

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

### shearYZ

    IVec4I shearYZ(IVecI center,
                   IDoubleI syz,
                   IDoubleI szy)

  shear operation on YZ

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

### shearZX

    IVec4I shearZX(double szx,
                   double sxz)

  shear operation on ZX

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

### shearZX

    IVec4I shearZX(IDoubleI szx,
                   IDoubleI sxz)

  shear operation on ZX

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

### shearZX

    IVec4I shearZX(IVecI center,
                   double szx,
                   double sxz)

  shear operation on ZX

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

### shearZX

    IVec4I shearZX(IVecI center,
                   IDoubleI szx,
                   IDoubleI sxz)

  shear operation on ZX

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

### translate

    IVec4I translate(double x,
                     double y,
                     double z)

  alias of add()

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

### translate

    IVec4I translate(IDoubleI x,
                     IDoubleI y,
                     IDoubleI z)

  alias of add()

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

### translate

    IVec4I translate(IVecI v)

  alias of add()

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

### transform

    IVec4I transform(IMatrix3I mat)

  transform with a transformation matrix

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

### transform

    IVec4I transform(IMatrix4I mat)

  transform with a transformation matrix

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

### transform

    IVec4I transform(IVecI xvec,
                     IVecI yvec,
                     IVecI zvec)

  transform with a transformation vectors

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

### transform

    IVec4I transform(IVecI xvec,
                     IVecI yvec,
                     IVecI zvec,
                     IVecI translate)

  transform with a transformation vectors

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

### mv

    IVec4I 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

    IVec4I mv(IDoubleI x,
              IDoubleI y,
              IDoubleI z)

  mv() is alias of add()

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

### mv

    IVec4I mv(IVecI v)

  mv() is alias of add()

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

### cp

    IVec4I cp()

  cp() is alias of dup()

  Specified by:
    `cp` in interface `IArithmeticVal<IVecI,IDoubleI>`
  Specified by:
    `cp` in interface `ITransformable`
  Specified by:
    `cp` in interface `IVecI`

### cp

    IVec4I 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

    IVec4I cp(IDoubleI x,
              IDoubleI y,
              IDoubleI z)

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

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

### cp

    IVec4I cp(IVecI v)

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

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

### dif

    IVec4I dif(IVecI v)

  create a new instance of difference

  Specified by:
    `dif` in interface `IVecI`

### dif

    IVec4I dif(double vx,
               double vy,
               double vz)

  create a new instance of difference

  Specified by:
    `dif` in interface `IVecI`

### diff

    IVec4I diff(IVecI v)

  alias of dif

  Specified by:
    `diff` in interface `IVecI`

### diff

    IVec4I diff(double vx,
                double vy,
                double vz)

  alias of dif

  Specified by:
    `diff` in interface `IVecI`

### mid

    IVec4I mid(IVecI v)

  create a new instance of midpoint

  Specified by:
    `mid` in interface `IVecI`

### mid

    IVec4I mid(double vx,
               double vy,
               double vz)

  create a new instance of midpoint

  Specified by:
    `mid` in interface `IVecI`

### sum

    IVec4I sum(IVecI v)

  create a new instance of total summation

  Specified by:
    `sum` in interface `IVecI`

### sum

    IVec4I sum(double vx,
               double vy,
               double vz)

  create a new instance of total summation

  Specified by:
    `sum` in interface `IVecI`

### sum

    IVec4I sum(IVecI... v)

  create a new instance of total summation

  Specified by:
    `sum` in interface `IVecI`

### bisect

    IVec4I bisect(IVecI v)

  create a new instance of bisector

  Specified by:
    `bisect` in interface `IVecI`

### bisect

    IVec4I bisect(double vx,
                  double vy,
                  double vz)

  create a new instance of bisector

  Specified by:
    `bisect` in interface `IVecI`

### sum

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

  create a new instance of weighted sum

  Specified by:
    `sum` in interface `IVecI`

### sum

    IVec4I sum(IVecI v2,
               double w2)

  create a new instance of weighted sum

  Specified by:
    `sum` in interface `IVecI`

### sum

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

  create a new instance of weighted sum

  Specified by:
    `sum` in interface `IVecI`

### sum

    IVec4I sum(IVecI v2,
               IDoubleI w2)

  create a new instance of weighted sum

  Specified by:
    `sum` in interface `IVecI`

### nml

    IVec4I nml(IVecI v)

  alias of cross

  Specified by:
    `nml` in interface `IVecI`

### nml

    IVec4I nml(double vx,
               double vy,
               double vz)

  alias of cross

  Specified by:
    `nml` in interface `IVecI`

### nml

    IVec4I nml(IVecI pt1,
               IVecI pt2)

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

  Specified by:
    `nml` in interface `IVecI`

### nml

    IVec4I nml(double vx1,
               double vy1,
               double vz1,
               double vx2,
               double vy2,
               double vz2)

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

  Specified by:
    `nml` in interface `IVecI`

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