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

## igeo
Class IVec4

    java.lang.Object
      igeo.IParameterObject
          igeo.IVec
              igeo.IVec4

All Implemented Interfaces:
  IEntityParameter, IParameter, ISubobject, ITransformable, IVal, IVec4I, IVec4Op, IVecI, IVecOp

    public class IVec4

extends IVec
implements IVec4I, IEntityParameter

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

Author:
  Satoru Sugihara

Field Summary
`double` | `w`

Fields inherited from class igeo.IVec
`origin, x, xaxis, y, yaxis, z, zaxis`

Fields inherited from class igeo.IParameterObject
`parent`

Constructor Summary
`IVec4()`
`IVec4(double x, double y, double z)`
`IVec4(double x, double y, double z, double w)`
`IVec4(IDoubleI x, IDoubleI y, IDoubleI z)`
`IVec4(IDoubleI x, IDoubleI y, IDoubleI z, IDoubleI w)`
`IVec4(IServerI s)`
`IVec4(IServerI s, double x, double y, double z)`
`IVec4(IServerI s, double x, double y, double z, double w)`
`IVec4(IServerI s, IDoubleI x, IDoubleI y, IDoubleI z)`
`IVec4(IServerI s, IDoubleI x, IDoubleI y, IDoubleI z, IDoubleI w)`
`IVec4(IServerI s, IVec v)`
`IVec4(IServerI s, IVec4 v)`
`IVec4(IServerI s, IVec4I v)`
`IVec4(IServerI s, IVec v, double w)`
`IVec4(IServerI s, IVecI v)`
`IVec4(IServerI s, IVecI v, double w)`
`IVec4(IServerI s, IVecI v, IDoubleI w)`
`IVec4(IVec v)`
`IVec4(IVec4 v)`
`IVec4(IVec4I v)`
`IVec4(IVec v, double w)`
`IVec4(IVecI v)`
`IVec4(IVecI v, double w)`
`IVec4(IVecI v, IDoubleI w)`

Method Summary
`IVec4` | `add(double x, double y, double z)`
`IVec4` | `add(double f, IVec v)` scale add alias
`IVec4` | `add(double f, IVecI v)` scale add alias
`IVec4` | `add(IDoubleI x, IDoubleI y, IDoubleI z)`
`IVec4` | `add(IDoubleI f, IVecI v)` scale add alias
`IVec4` | `add(IVec v)`
`IVec4` | `add(IVec v, double f)` scale add
`IVec4` | `add(IVecI v)`
`IVec4` | `add(IVecI v, double f)` scale add
`IVec4` | `add(IVecI v, IDoubleI f)` scale add
`IVec4` | `bisect(double vx, double vy, double vz)` create a new instance of bisector
`IVec4` | `bisect(IVec v)` create a new instance of bisector
`IVec4` | `bisect(IVecI v)` create a new instance of bisector
`IVec4` | `cp()` cp() is alias of dup()
`IVec4` | `cp(double vx, double vy, double vz)` cp() is alias of dup().add()
`IVec4` | `cp(IDoubleI vx, IDoubleI vy, IDoubleI vz)` cp() is alias of dup().add()
`IVec4` | `cp(IVec v)` cp() is alias of dup().add()
`IVec4` | `cp(IVecI v)` cp() is alias of dup().add()
`IVec4` | `cross(double vx, double vy, double vz)` cross product, returning a new instance.
`IVec4` | `cross(IVec v)` cross product, returning a new instance.
`IVec4` | `cross(IVecI v)` cross product, creating a new instance
`IVec4` | `dif(double vx, double vy, double vz)` create a new instance of difference
`IVec4` | `dif(IVec v)` create a new instance of difference
`IVec4` | `dif(IVecI v)` create a new instance of difference
`IVec4` | `diff(double vx, double vy, double vz)` create a new instance of difference
`IVec4` | `diff(IVec v)` create a new instance of difference
`IVec4` | `diff(IVecI v)` create a new instance of difference
`IVec4` | `div(double v)`
`IVec4` | `div(IDoubleI v)`
`IVec4` | `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)`
`IBool` | `eqW(ISwitchR r, IVec4I v)`
`IBool` | `eqW(ISwitchR r, IVec4I v, IDoubleI tolerance)`
`boolean` | `eqW(IVec4 v)`
`boolean` | `eqW(IVec4 v, double tolerance)`
`boolean` | `eqW(IVec4I v)`
`boolean` | `eqW(IVec4I v, double tolerance)`
`IVec4` | `flip()` note that it's not negating w
`IVec4` | `get()`
`IDouble` | `getW()`
`IVec4` | `icross(double vx, double vy, double vz)` cross product, changing the instance not creating a new instance
`IVec4` | `icross(IVec v)` cross product, changing the instance not creating a new instance
`IVec4` | `icross(IVecI v)` cross product, changing the instance not creating a new instance
`boolean` | `isValid()` checking x, y, and z is valid number (not Infinite, nor NaN).
`IVec4` | `len(double l)` setting length of vector, ignoring w
`IVec4` | `len(IDoubleI l)` setting length of vector, ignoring w
`IVec4` | `mid(double vx, double vy, double vz)` create a new instance of midpoint
`IVec4` | `mid(IVec v)` create a new instance of midpoint
`IVec4` | `mid(IVecI v)` create a new instance of midpoint
`IVec4` | `mirror(double planeX, double planeY, double planeZ)` alias of ref
`IVec4` | `mirror(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` alias of ref
`IVec4` | `mirror(IVec planeDir)` alias of ref
`IVec4` | `mirror(IVecI planeDir)` alias of ref
`IVec4` | `mirror(IVecI center, IVecI planeDir)` alias of ref
`IVec4` | `mirror(IVec center, IVec planeDir)` alias of ref
`IVec4` | `mul(double v)`
`IVec4` | `mul(IDoubleI v)`
`IVec4` | `mv(double vx, double vy, double vz)` mv() is alias of add()
`IVec4` | `mv(IDoubleI vx, IDoubleI vy, IDoubleI vz)` mv() is alias of add()
`IVec4` | `mv(IVecI v)` mv() is alias of add()
`IVec4` | `neg()` note that it's not negating w
`IVec4` | `nml(double vx, double vy, double vz)` alias of cross.
`IVec4` | `nml(double vx1, double vy1, double vz1, double vx2, double vy2, double vz2)` create normal vector from 3 points of self, pt1 and pt2, not unitized
`IVec4` | `nml(IVec v)` alias of cross.
`IVec4` | `nml(IVecI v)` alias of cross.
`IVec4` | `nml(IVecI pt1, IVecI pt2)` create normal vector from 3 points of self, pt1 and pt2, not unitized
`IVec4` | `nml(IVec pt1, IVec pt2)` create normal vector from 3 points of self, pt1 and pt2, not unitized
`IVec4` | `ref(double planeX, double planeY, double planeZ)` reflect (mirror) 3 dimensionally to the other side of the plane
`IVec4` | `ref(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` reflect (mirror) 3 dimensionally to the other side of the plane at the center
`IVec4` | `ref(IVec planeDir)` reflect (mirror) 3 dimensionally to the other side of the plane
`IVec4` | `ref(IVecI planeDir)` reflect (mirror) 3 dimensionally to the other side of the plane
`IVec4` | `ref(IVecI center, IVecI planeDir)` reflect (mirror) 3 dimensionally to the other side of the plane at the center
`IVec4` | `ref(IVec center, IVec planeDir)` reflect (mirror) 3 dimensionally to the other side of the plane at the center
`IVec4` | `rev()` note that it's not negating w
`IVec4` | `rot(double angle)` rotation on xy-plane
`IVec4` | `rot(double axisX, double axisY, double axisZ, double angle)` rotate the vector around the axis
`IVec4` | `rot(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double angle)` rotation around axis vector and center point
`IVec4` | `rot(IDoubleI angle)` rotation on xy-plane
`IVec4` | `rot(IVec axis, double angle)` rotate the vector around the axis
`IVec4` | `rot(IVecI axis, double angle)` rotation around axis vector
`IVec4` | `rot(IVecI axis, IDoubleI angle)` rotation around axis vector
`IVec4` | `rot(IVecI axis, IVecI destDir)` rotation around axis towards destination direction
`IVec4` | `rot(IVecI center, IVecI axis, double angle)` rotation around axis vector and center point
`IVec4` | `rot(IVecI center, IVecI axis, IDoubleI angle)` rotation around axis vector and center
`IVec4` | `rot(IVecI center, IVecI axis, IVecI destPt)` rotation around axis and center towards destination point
`IVec4` | `rot(IVec axis, IVec destDir)` rotation around axis towards destination direction
`IVec4` | `rot(IVec center, IVec axis, double angle)`
`IVec4` | `rot(IVec center, IVec axis, IVec destPt)` rotation around axis and center towards destination point
`IVec4` | `rot2(double angle)` alias of rot(double)
`IVec4` | `rot2(double centerX, double centerY, double angle)` rotation on xy-plane
`IVec4` | `rot2(IDoubleI angle)` alias of rot(IDoubleI)
`IVec4` | `rot2(IVec destDir)` rotation on xy-plane towards destDir
`IVec4` | `rot2(IVec center, double angle)` rotation on xy-plane
`IVec4` | `rot2(IVecI destDir)` rotation on xy-plane towards destDir
`IVec4` | `rot2(IVecI center, double angle)` rotation on xy-plane
`IVec4` | `rot2(IVecI center, IDoubleI angle)` rotation on xy-plane
`IVec4` | `rot2(IVecI center, IVecI destPt)` rotation on xy-plane towards destPt
`IVec4` | `rot2(IVec center, IVec destPt)` rotation on xy-plane towards destPt
`IVec4` | `scale(double f)` alias of mul
`IVec4` | `scale(double centerX, double centerY, double centerZ, double f)` scale from the center
`IVec4` | `scale(IDoubleI f)` alias of mul
`IVec4` | `scale(IVec center, double f)` scale from the center
`IVec4` | `scale(IVecI center, double f)` scale from the center
`IVec4` | `scale(IVecI center, IDoubleI f)` scale from the center
`IVec4` | `scale1d(double axisX, double axisY, double axisZ, double f)` scale only in 1 direction
`IVec4` | `scale1d(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double f)` scale only in 1 direction
`IVec4` | `scale1d(IVec axis, double f)` scale only in 1 direction
`IVec4` | `scale1d(IVecI axis, double f)` scale only in 1 direction
`IVec4` | `scale1d(IVecI axis, IDoubleI f)` scale only in 1 direction
`IVec4` | `scale1d(IVecI center, IVecI axis, double f)` scale only in 1 direction
`IVec4` | `scale1d(IVecI center, IVecI axis, IDoubleI f)` scale only in 1 direction
`IVec4` | `scale1d(IVec center, IVec axis, double f)` scale only in 1 direction
`IVec4` | `set(double x, double y, double z)`
`IVec4` | `set(double x, double y, double z, double w)`
`IVec4` | `set(IDoubleI x, IDoubleI y, IDoubleI z)`
`IVec4` | `set(IDoubleI x, IDoubleI y, IDoubleI z, IDoubleI w)`
`IVec4` | `set(IVec v)`
`IVec4` | `set(IVec4 v)`
`IVec4` | `set(IVec4I v)`
`IVec4` | `set(IVec v, double w)`
`IVec4` | `set(IVecI v)`
`IVec4` | `set(IVecI v, double w)`
`IVec4` | `set(IVecI v, IDoubleI w)`
`IVec4` | `shear(double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
`IVec4` | `shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
`IVec4` | `shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
`IVec4` | `shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
`IVec4` | `shearXY(double sxy, double syx)` shear operation on XY
`IVec4` | `shearXY(IDoubleI sxy, IDoubleI syx)` shear operation on XY
`IVec4` | `shearXY(IVecI center, double sxy, double syx)` shear operation on XY
`IVec4` | `shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)` shear operation on XY
`IVec4` | `shearYZ(double syz, double szy)` shear operation on YZ
`IVec4` | `shearYZ(IDoubleI syz, IDoubleI szy)` shear operation on YZ
`IVec4` | `shearYZ(IVecI center, double syz, double szy)` shear operation on YZ
`IVec4` | `shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)` shear operation on YZ
`IVec4` | `shearZX(double szx, double sxz)` shear operation on ZX
`IVec4` | `shearZX(IDoubleI szx, IDoubleI sxz)` shear operation on ZX
`IVec4` | `shearZX(IVecI center, double szx, double sxz)` shear operation on ZX
`IVec4` | `shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)` shear operation on ZX
`IVec4` | `sub(double x, double y, double z)`
`IVec4` | `sub(IDoubleI x, IDoubleI y, IDoubleI z)`
`IVec4` | `sub(IVec v)`
`IVec4` | `sub(IVecI v)`
`IVec4` | `sum(double vx, double vy, double vz)` create a new instance of summation
`IVec4` | `sum(IVec... v)` create a new instance of summation
`IVec4` | `sum(IVec v)` create a new instance of summation
`IVec4` | `sum(IVec v2, double w2)` create a new instance of weighted summation
`IVec4` | `sum(IVec v2, double w1, double w2)` create a new instance of weighted summation
`IVec4` | `sum(IVecI... v)` create a new instance of summation
`IVec4` | `sum(IVecI v)` create a new instance of summation
`IVec4` | `sum(IVecI v2, double w2)` create a new instance of weighted summation
`IVec4` | `sum(IVecI v2, double w1, double w2)` create a new instance of weighted summation
`IVec4` | `sum(IVecI v2, IDoubleI w2)` create a new instance of weighted summation
`IVec4` | `sum(IVecI v2, IDoubleI w1, IDoubleI w2)` create a new instance of weighted summation
`IVec2` | `to2d()`
`IVec2` | `to2d(IVecI projectionDir)`
`IVec2` | `to2d(IVecI xaxis, IVecI yaxis)`
`IVec2` | `to2d(IVecI xaxis, IVecI yaxis, IVecI origin)`
`IVec` | `to3d()`
`IVec4` | `to4d()`
`IVec4` | `to4d(double w)`
`IVec4` | `to4d(IDoubleI w)`
`java.lang.String` | `toString()`
`IVec4` | `transform(IMatrix3I mat)` transform with a transformation matrix
`IVec4` | `transform(IMatrix4I mat)` transform with a transformation matrix
`IVec4` | `transform(IVecI xvec, IVecI yvec, IVecI zvec)` transform with a transformation vectors
`IVec4` | `transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)` transform with a transformation vectors
`IVec4` | `transform(IVec xvec, IVec yvec, IVec zvec)`
`IVec4` | `transform(IVec xvec, IVec yvec, IVec zvec, IVec translate)`
`IVec4` | `translate(double x, double y, double z)` translate() is alias of add()
`IVec4` | `translate(IDoubleI x, IDoubleI y, IDoubleI z)` alias of add()
`IVec4` | `translate(IVecI v)` alias of add()
`IVec4` | `unit()` unitize, ignoring w
`double` | `w()` getting w component
`IVec4` | `w(double vw)` setting w component
`IVec4` | `w(IDoubleI vw)` setting z component
`double` | `w(ISwitchE e)` getting z component
`IDouble` | `w(ISwitchR r)` getting z component
`IVec4` | `x(double vx)` setting x component
`IVec4` | `x(IDoubleI vx)` setting x component
`IVec4` | `y(double vy)` setting y component
`IVec4` | `y(IDoubleI vy)` setting y component
`IVec4` | `z(double vz)` setting z component
`IVec4` | `z(IDoubleI vz)` setting z component
`IVec4` | `zero()` note that w is not set zero

Methods inherited from class igeo.IVec
`angle, angle, angle, angle, angle, angle, angle, angle, angle, angle, angle, averageNormal, averageNormal, bisectPlane, center, decompose, dist, dist, dist, dist, dist, dist2, dist2, dist2, dist2, dist2, distToLine, distToLine, distToPlane, distToSegment, distToTriangle, div, dot, dot, dot, dot, dot, eq, eq, eq, eq, eq, eq, eq, eq, eq, eq, eqX, eqX, eqX, eqX, eqX, eqX, eqX, eqX, eqX, eqX, eqY, eqY, eqY, eqY, eqY, eqY, eqY, eqY, eqY, eqY, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, getNormal, getNormal, getNormal, getNormal, getNormal, getX, getY, getZ, intersect, intersect, intersect, intersect, intersectCircle, intersectCircleAndSphere, intersectInfiniteLine, intersectInfiniteLine, intersectInfiniteLine, intersectInfiniteLine, intersectInfiniteLines, intersectInfiniteLines, intersectInfiniteLines, intersectInfiniteLines, intersectInfLine, intersectInfLine, intersectInfLine, intersectInfLine, intersectInfLines, intersectInfLines, intersectInfLines, intersectInfLines, intersectLine, intersectLine, intersectLine, intersectLine, intersectLines, intersectLines, intersectLines, intersectLines, intersectPlane, intersectPlane, intersectPlane, intersectPlaneAndLine, intersectPlaneAndLine, intersectPlaneAndLine, intersectPlaneAndSegment, intersectPlaneAndSegment, intersectPlaneAndSphere, intersectSeg, intersectSeg, intersectSeg, intersectSeg, intersectSegment, intersectSegment, intersectSegment, intersectSegment, intersectSegments, intersectSegments, intersectSegments, intersectSegments, intersectSphere, isArrayEqual, isArrayEqual, isFlat, isFlat, isFlat, isFlat, isInside2d, isInside2d, isInside2d, isInside2d, isOnLine, isOnLine, isOnPlane, isOnPlane, isOnPlane, isOnPlane, isOnSegment, isOnSegment, isOnTriangle, isOnTriangle, isParallel, isParallel, isPerpendicular, isPerpendicular, isStraight, isStraight, isStraight, isStraight, len, len, len, len2, len2, len2, mul, nml, nml, nml, offset, offset, offset, offset, offset, offset, offset, offset, offset, offset, offset, offset, offset, offset, perpendicularVecToLine, perpendicularVecToLine, projectTo2Vec, projectToLine, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToSegment, projectToTriangle, projectToVec, ratioOnSegment, show, show, show, show, x, x, x, y, y, y, z, z, z`

Methods inherited from class igeo.IParameterObject
`createObject, parent, parent`

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

Methods inherited from interface igeo.IVec4I
`getX, getY, getZ, x, x, x, y, y, y, z, z, z`

Methods inherited from interface igeo.IVecI
`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, len, len, len, len2, len2, len2`

Field Detail

### w

    public double w

Constructor Detail

### IVec4

    public IVec4()

### IVec4

    public IVec4(double x,
                 double y,
                 double z,
                 double w)

### IVec4

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

### IVec4

    public IVec4(IVec4 v)

### IVec4

    public IVec4(IVec4I v)

### IVec4

    public IVec4(IVec v)

### IVec4

    public IVec4(IVecI v)

### IVec4

    public IVec4(IVec v,
                 double w)

### IVec4

    public IVec4(IVecI v,
                 double w)

### IVec4

    public IVec4(IVecI v,
                 IDoubleI w)

### IVec4

    public IVec4(IDoubleI x,
                 IDoubleI y,
                 IDoubleI z,
                 IDoubleI w)

### IVec4

    public IVec4(IDoubleI x,
                 IDoubleI y,
                 IDoubleI z)

### IVec4

    public IVec4(IServerI s)

### IVec4

    public IVec4(IServerI s,
                 double x,
                 double y,
                 double z,
                 double w)

### IVec4

    public IVec4(IServerI s,
                 double x,
                 double y,
                 double z)

### IVec4

    public IVec4(IServerI s,
                 IVec4 v)

### IVec4

    public IVec4(IServerI s,
                 IVec4I v)

### IVec4

    public IVec4(IServerI s,
                 IVec v)

### IVec4

    public IVec4(IServerI s,
                 IVecI v)

### IVec4

    public IVec4(IServerI s,
                 IVec v,
                 double w)

### IVec4

    public IVec4(IServerI s,
                 IVecI v,
                 double w)

### IVec4

    public IVec4(IServerI s,
                 IVecI v,
                 IDoubleI w)

### IVec4

    public IVec4(IServerI s,
                 IDoubleI x,
                 IDoubleI y,
                 IDoubleI z,
                 IDoubleI w)

### IVec4

    public IVec4(IServerI s,
                 IDoubleI x,
                 IDoubleI y,
                 IDoubleI z)

Method Detail

### w

    public double w()

  Description copied from interface: `IVec4I`
  getting w component

  Specified by:
    `w` in interface `IVec4I`

### x

    public IVec4 x(double vx)

  setting x component

  Specified by:
    `x` in interface `IVec4I`
  Specified by:
    `x` in interface `IVecI`
  Overrides:
    `x` in class `IVec`

### y

    public IVec4 y(double vy)

  setting y component

  Specified by:
    `y` in interface `IVec4I`
  Specified by:
    `y` in interface `IVecI`
  Overrides:
    `y` in class `IVec`

### z

    public IVec4 z(double vz)

  setting z component

  Specified by:
    `z` in interface `IVec4I`
  Specified by:
    `z` in interface `IVecI`
  Overrides:
    `z` in class `IVec`

### w

    public IVec4 w(double vw)

  setting w component

  Specified by:
    `w` in interface `IVec4I`

### x

    public IVec4 x(IDoubleI vx)

  setting x component

  Specified by:
    `x` in interface `IVec4I`
  Specified by:
    `x` in interface `IVecI`
  Overrides:
    `x` in class `IVec`

### y

    public IVec4 y(IDoubleI vy)

  setting y component

  Specified by:
    `y` in interface `IVec4I`
  Specified by:
    `y` in interface `IVecI`
  Overrides:
    `y` in class `IVec`

### z

    public IVec4 z(IDoubleI vz)

  setting z component

  Specified by:
    `z` in interface `IVec4I`
  Specified by:
    `z` in interface `IVecI`
  Overrides:
    `z` in class `IVec`

### w

    public IVec4 w(IDoubleI vw)

  setting z component

  Specified by:
    `w` in interface `IVec4I`

### w

    public double w(ISwitchE e)

  getting z component

  Specified by:
    `w` in interface `IVec4I`

### w

    public IDouble w(ISwitchR r)

  getting z component

  Specified by:
    `w` in interface `IVec4I`

### get

    public IVec4 get()

  Specified by:
    `get` in interface `IParameter`
  Specified by:
    `get` in interface `IVec4I`
  Specified by:
    `get` in interface `IVec4Op`
  Specified by:
    `get` in interface `IVecI`
  Specified by:
    `get` in interface `IVecOp`
  Overrides:
    `get` in class `IVec`

### dup

    public IVec4 dup()

  Description copied from interface: `ITransformable`
  duplicate the instance

  Specified by:
    `dup` in interface `ITransformable`
  Specified by:
    `dup` in interface `IVec4I`
  Specified by:
    `dup` in interface `IVecI`
  Overrides:
    `dup` in class `IVec`

### to3d

    public IVec to3d()

  Specified by:
    `to3d` in interface `IVec4I`

### to2d

    public IVec2 to2d()

  Specified by:
    `to2d` in interface `IVec4I`
  Specified by:
    `to2d` in interface `IVecI`
  Overrides:
    `to2d` in class `IVec`

### to2d

    public IVec2 to2d(IVecI projectionDir)

  Specified by:
    `to2d` in interface `IVecI`
  Overrides:
    `to2d` in class `IVec`

### to2d

    public IVec2 to2d(IVecI xaxis,
                      IVecI yaxis)

  Specified by:
    `to2d` in interface `IVecI`
  Overrides:
    `to2d` in class `IVec`

### to2d

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

  Specified by:
    `to2d` in interface `IVecI`
  Overrides:
    `to2d` in class `IVec`

### to4d

    public IVec4 to4d()

  Specified by:
    `to4d` in interface `IVecI`
  Overrides:
    `to4d` in class `IVec`

### to4d

    public IVec4 to4d(double w)

  Specified by:
    `to4d` in interface `IVecI`
  Overrides:
    `to4d` in class `IVec`

### to4d

    public IVec4 to4d(IDoubleI w)

  Specified by:
    `to4d` in interface `IVecI`
  Overrides:
    `to4d` in class `IVec`

### getW

    public IDouble getW()

  Specified by:
    `getW` in interface `IVec4I`

### set

    public IVec4 set(double x,
                     double y,
                     double z,
                     double w)

  Specified by:
    `set` in interface `IVec4I`

### set

    public IVec4 set(IDoubleI x,
                     IDoubleI y,
                     IDoubleI z,
                     IDoubleI w)

  Specified by:
    `set` in interface `IVec4I`

### set

    public IVec4 set(IVec4 v)

### set

    public IVec4 set(IVec v,
                     double w)

### set

    public IVec4 set(IVec4I v)

  Specified by:
    `set` in interface `IVec4I`

### set

    public IVec4 set(IVecI v,
                     double w)

  Specified by:
    `set` in interface `IVec4I`

### set

    public IVec4 set(IVecI v,
                     IDoubleI w)

  Specified by:
    `set` in interface `IVec4I`

### set

    public IVec4 set(IVec v)

  Overrides:
    `set` in class `IVec`

### set

    public IVec4 set(IVecI v)

  Specified by:
    `set` in interface `IVec4I`
  Specified by:
    `set` in interface `IVecI`
  Overrides:
    `set` in class `IVec`

### set

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

  Specified by:
    `set` in interface `IVec4I`
  Specified by:
    `set` in interface `IVecI`
  Overrides:
    `set` in class `IVec`

### set

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

  Specified by:
    `set` in interface `IVec4I`
  Specified by:
    `set` in interface `IVecI`
  Overrides:
    `set` in class `IVec`

### add

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

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`
  Overrides:
    `add` in class `IVec`

### add

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

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVecI`
  Overrides:
    `add` in class `IVec`

### add

    public IVec4 add(IVec v)

  Overrides:
    `add` in class `IVec`

### add

    public IVec4 add(IVecI v)

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVec4I`
  Specified by:
    `add` in interface `IVecI`
  Overrides:
    `add` in class `IVec`

### sub

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

  Specified by:
    `sub` in interface `ITransformable`
  Specified by:
    `sub` in interface `IVecI`
  Overrides:
    `sub` in class `IVec`

### sub

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

  Specified by:
    `sub` in interface `ITransformable`
  Specified by:
    `sub` in interface `IVecI`
  Overrides:
    `sub` in class `IVec`

### sub

    public IVec4 sub(IVec v)

  Overrides:
    `sub` in class `IVec`

### sub

    public IVec4 sub(IVecI v)

  Specified by:
    `sub` in interface `ITransformable`
  Specified by:
    `sub` in interface `IVec4I`
  Specified by:
    `sub` in interface `IVecI`
  Overrides:
    `sub` in class `IVec`

### mul

    public IVec4 mul(IDoubleI v)

  Specified by:
    `mul` in interface `ITransformable`
  Specified by:
    `mul` in interface `IVec4I`
  Specified by:
    `mul` in interface `IVecI`
  Overrides:
    `mul` in class `IVec`

### mul

    public IVec4 mul(double v)

  Specified by:
    `mul` in interface `ITransformable`
  Specified by:
    `mul` in interface `IVec4I`
  Specified by:
    `mul` in interface `IVecI`
  Overrides:
    `mul` in class `IVec`

### div

    public IVec4 div(IDoubleI v)

  Specified by:
    `div` in interface `ITransformable`
  Specified by:
    `div` in interface `IVec4I`
  Specified by:
    `div` in interface `IVecI`
  Overrides:
    `div` in class `IVec`

### div

    public IVec4 div(double v)

  Specified by:
    `div` in interface `ITransformable`
  Specified by:
    `div` in interface `IVec4I`
  Specified by:
    `div` in interface `IVecI`
  Overrides:
    `div` in class `IVec`

### neg

    public IVec4 neg()

  note that it's not negating w

  Specified by:
    `neg` in interface `ITransformable`
  Specified by:
    `neg` in interface `IVec4I`
  Specified by:
    `neg` in interface `IVecI`
  Overrides:
    `neg` in class `IVec`

### rev

    public IVec4 rev()

  note that it's not negating w

  Specified by:
    `rev` in interface `IVec4I`
  Specified by:
    `rev` in interface `IVecI`
  Overrides:
    `rev` in class `IVec`

### flip

    public IVec4 flip()

  note that it's not negating w

  Specified by:
    `flip` in interface `ITransformable`
  Specified by:
    `flip` in interface `IVec4I`
  Specified by:
    `flip` in interface `IVecI`
  Overrides:
    `flip` in class `IVec`

### zero

    public IVec4 zero()

  note that w is not set zero

  Specified by:
    `zero` in interface `IVec4I`
  Specified by:
    `zero` in interface `IVecI`
  Overrides:
    `zero` in class `IVec`

### add

    public IVec4 add(IVec v,
                     double f)

  scale add

  Overrides:
    `add` in class `IVec`

### add

    public IVec4 add(IVecI v,
                     double f)

  scale add

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVec4I`
  Specified by:
    `add` in interface `IVecI`
  Overrides:
    `add` in class `IVec`

### add

    public IVec4 add(IVecI v,
                     IDoubleI f)

  scale add

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVec4I`
  Specified by:
    `add` in interface `IVecI`
  Overrides:
    `add` in class `IVec`

### add

    public IVec4 add(double f,
                     IVec v)

  scale add alias

  Overrides:
    `add` in class `IVec`

### add

    public IVec4 add(double f,
                     IVecI v)

  scale add alias

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVec4I`
  Specified by:
    `add` in interface `IVecI`
  Overrides:
    `add` in class `IVec`

### add

    public IVec4 add(IDoubleI f,
                     IVecI v)

  scale add alias

  Specified by:
    `add` in interface `ITransformable`
  Specified by:
    `add` in interface `IVec4I`
  Specified by:
    `add` in interface `IVecI`
  Overrides:
    `add` in class `IVec`

### len

    public IVec4 len(IDoubleI l)

  setting length of vector, ignoring w

  Specified by:
    `len` in interface `IVec4I`
  Specified by:
    `len` in interface `IVecI`
  Overrides:
    `len` in class `IVec`

### len

    public IVec4 len(double l)

  setting length of vector, ignoring w

  Specified by:
    `len` in interface `IVec4I`
  Specified by:
    `len` in interface `IVecI`
  Overrides:
    `len` in class `IVec`

### unit

    public IVec4 unit()

  unitize, ignoring w

  Specified by:
    `unit` in interface `IVec4I`
  Specified by:
    `unit` in interface `IVecI`
  Overrides:
    `unit` in class `IVec`

### cross

    public IVec4 cross(IVec v)

  cross product, returning a new instance. w is the original value

  Overrides:
    `cross` in class `IVec`

### cross

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

  cross product, returning a new instance. w is the original value

  Specified by:
    `cross` in interface `IVec4I`
  Specified by:
    `cross` in interface `IVecI`
  Overrides:
    `cross` in class `IVec`

### cross

    public IVec4 cross(IVecI v)

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

  Specified by:
    `cross` in interface `IVec4I`
  Specified by:
    `cross` in interface `IVecI`
  Overrides:
    `cross` in class `IVec`

### icross

    public IVec4 icross(IVec v)

  cross product, changing the instance not creating a new instance

  Overrides:
    `icross` in class `IVec`

### icross

    public IVec4 icross(double vx,
                        double vy,
                        double vz)

  cross product, changing the instance not creating a new instance

  Overrides:
    `icross` in class `IVec`

### icross

    public IVec4 icross(IVecI v)

  cross product, changing the instance not creating a new instance

  Overrides:
    `icross` in class `IVec`

### eqW

    public boolean eqW(IVec4 v)

### eqW

    public boolean eqW(double vw)

  Specified by:
    `eqW` in interface `IVec4I`

### eqW

    public boolean eqW(IVec4I v)

  Specified by:
    `eqW` in interface `IVec4I`

### eqW

    public boolean eqW(IVec4I v,
                       double tolerance)

  Specified by:
    `eqW` in interface `IVec4I`

### eqW

    public boolean eqW(IVec4 v,
                       double tolerance)

### eqW

    public boolean eqW(double vw,
                       double tolerance)

  Specified by:
    `eqW` in interface `IVec4I`

### eqW

    public boolean eqW(ISwitchE e,
                       IVec4I v)

  Specified by:
    `eqW` in interface `IVec4I`

### eqW

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

  Specified by:
    `eqW` in interface `IVec4I`

### eqW

    public IBool eqW(ISwitchR r,
                     IVec4I v)

  Specified by:
    `eqW` in interface `IVec4I`

### eqW

    public IBool eqW(ISwitchR r,
                     IVec4I v,
                     IDoubleI tolerance)

  Specified by:
    `eqW` in interface `IVec4I`

### rot

    public IVec4 rot(IDoubleI angle)

  Description copied from class: `IVec`
  rotation on xy-plane

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVec4I`
  Specified by:
    `rot` in interface `IVecI`
  Overrides:
    `rot` in class `IVec`

### rot

    public IVec4 rot(double angle)

  Description copied from class: `IVec`
  rotation on xy-plane

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVec4I`
  Specified by:
    `rot` in interface `IVecI`
  Overrides:
    `rot` in class `IVec`

### rot

    public IVec4 rot(IVecI axis,
                     IDoubleI angle)

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

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVec4I`
  Specified by:
    `rot` in interface `IVecI`
  Overrides:
    `rot` in class `IVec`

### rot

    public IVec4 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 `IVec4I`
  Specified by:
    `rot` in interface `IVecI`
  Overrides:
    `rot` in class `IVec`

### rot

    public IVec4 rot(IVec axis,
                     double angle)

  Description copied from class: `IVec`
  rotate the vector around the axis

  Overrides:
    `rot` in class `IVec`

### rot

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

  Description copied from class: `IVec`
  rotate the vector around the axis

  Specified by:
    `rot` in interface `IVec4I`
  Specified by:
    `rot` in interface `IVecI`
  Overrides:
    `rot` in class `IVec`

### rot

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

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

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVec4I`
  Specified by:
    `rot` in interface `IVecI`
  Overrides:
    `rot` in class `IVec`

### rot

    public IVec4 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 `IVec4I`
  Specified by:
    `rot` in interface `IVecI`
  Overrides:
    `rot` in class `IVec`

### rot

    public IVec4 rot(IVec center,
                     IVec axis,
                     double angle)

  Overrides:
    `rot` in class `IVec`

### rot

    public IVec4 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 `IVec4I`
  Specified by:
    `rot` in interface `IVecI`
  Overrides:
    `rot` in class `IVec`

### rot

    public IVec4 rot(IVec axis,
                     IVec destDir)

  Description copied from class: `IVec`
  rotation around axis towards destination direction

  Overrides:
    `rot` in class `IVec`

### rot

    public IVec4 rot(IVecI axis,
                     IVecI destDir)

  Description copied from class: `IVec`
  rotation around axis towards destination direction

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVec4I`
  Specified by:
    `rot` in interface `IVecI`
  Overrides:
    `rot` in class `IVec`

### rot

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

  Description copied from class: `IVec`
  rotation around axis and center towards destination point

  Specified by:
    `rot` in interface `ITransformable`
  Specified by:
    `rot` in interface `IVec4I`
  Specified by:
    `rot` in interface `IVecI`
  Overrides:
    `rot` in class `IVec`

### rot

    public IVec4 rot(IVec center,
                     IVec axis,
                     IVec destPt)

  Description copied from class: `IVec`
  rotation around axis and center towards destination point

  Overrides:
    `rot` in class `IVec`

### rot2

    public IVec4 rot2(IDoubleI angle)

  alias of rot(IDoubleI)

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVec4I`
  Specified by:
    `rot2` in interface `IVecI`
  Overrides:
    `rot2` in class `IVec`

### rot2

    public IVec4 rot2(double angle)

  alias of rot(double)

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVec4I`
  Specified by:
    `rot2` in interface `IVecI`
  Overrides:
    `rot2` in class `IVec`

### rot2

    public IVec4 rot2(IVecI center,
                      IDoubleI angle)

  Description copied from class: `IVec`
  rotation on xy-plane

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVec4I`
  Specified by:
    `rot2` in interface `IVecI`
  Overrides:
    `rot2` in class `IVec`

### rot2

    public IVec4 rot2(IVecI center,
                      double angle)

  Description copied from class: `IVec`
  rotation on xy-plane

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVec4I`
  Specified by:
    `rot2` in interface `IVecI`
  Overrides:
    `rot2` in class `IVec`

### rot2

    public IVec4 rot2(IVec center,
                      double angle)

  Description copied from class: `IVec`
  rotation on xy-plane

  Overrides:
    `rot2` in class `IVec`

### rot2

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

  Description copied from class: `IVec`
  rotation on xy-plane

  Specified by:
    `rot2` in interface `IVec4I`
  Specified by:
    `rot2` in interface `IVecI`
  Overrides:
    `rot2` in class `IVec`

### rot2

    public IVec4 rot2(IVec destDir)

  Description copied from class: `IVec`
  rotation on xy-plane towards destDir

  Overrides:
    `rot2` in class `IVec`

### rot2

    public IVec4 rot2(IVecI destDir)

  Description copied from class: `IVec`
  rotation on xy-plane towards destDir

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVec4I`
  Specified by:
    `rot2` in interface `IVecI`
  Overrides:
    `rot2` in class `IVec`

### rot2

    public IVec4 rot2(IVecI center,
                      IVecI destPt)

  Description copied from class: `IVec`
  rotation on xy-plane towards destPt

  Specified by:
    `rot2` in interface `ITransformable`
  Specified by:
    `rot2` in interface `IVec4I`
  Specified by:
    `rot2` in interface `IVecI`
  Overrides:
    `rot2` in class `IVec`

### rot2

    public IVec4 rot2(IVec center,
                      IVec destPt)

  Description copied from class: `IVec`
  rotation on xy-plane towards destPt

  Overrides:
    `rot2` in class `IVec`

### scale

    public IVec4 scale(IDoubleI f)

  alias of mul

  Specified by:
    `scale` in interface `ITransformable`
  Specified by:
    `scale` in interface `IVec4I`
  Specified by:
    `scale` in interface `IVecI`
  Overrides:
    `scale` in class `IVec`

### scale

    public IVec4 scale(double f)

  Description copied from interface: `IVecI`
  alias of mul

  Specified by:
    `scale` in interface `ITransformable`
  Specified by:
    `scale` in interface `IVec4I`
  Specified by:
    `scale` in interface `IVecI`
  Overrides:
    `scale` in class `IVec`

### scale

    public IVec4 scale(IVecI center,
                       IDoubleI f)

  Description copied from class: `IVec`
  scale from the center

  Specified by:
    `scale` in interface `ITransformable`
  Specified by:
    `scale` in interface `IVec4I`
  Specified by:
    `scale` in interface `IVecI`
  Overrides:
    `scale` in class `IVec`

### scale

    public IVec4 scale(IVecI center,
                       double f)

  Description copied from class: `IVec`
  scale from the center

  Specified by:
    `scale` in interface `ITransformable`
  Specified by:
    `scale` in interface `IVec4I`
  Specified by:
    `scale` in interface `IVecI`
  Overrides:
    `scale` in class `IVec`

### scale

    public IVec4 scale(IVec center,
                       double f)

  Description copied from class: `IVec`
  scale from the center

  Overrides:
    `scale` in class `IVec`

### scale

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

  Description copied from class: `IVec`
  scale from the center

  Specified by:
    `scale` in interface `IVec4I`
  Specified by:
    `scale` in interface `IVecI`
  Overrides:
    `scale` in class `IVec`

### scale1d

    public IVec4 scale1d(IVec axis,
                         double f)

  scale only in 1 direction

  Overrides:
    `scale1d` in class `IVec`

### scale1d

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

  Description copied from class: `IVec`
  scale only in 1 direction

  Specified by:
    `scale1d` in interface `IVec4I`
  Specified by:
    `scale1d` in interface `IVecI`
  Overrides:
    `scale1d` in class `IVec`

### scale1d

    public IVec4 scale1d(IVecI axis,
                         double f)

  Description copied from class: `IVec`
  scale only in 1 direction

  Specified by:
    `scale1d` in interface `ITransformable`
  Specified by:
    `scale1d` in interface `IVec4I`
  Specified by:
    `scale1d` in interface `IVecI`
  Overrides:
    `scale1d` in class `IVec`

### scale1d

    public IVec4 scale1d(IVecI axis,
                         IDoubleI f)

  Description copied from class: `IVec`
  scale only in 1 direction

  Specified by:
    `scale1d` in interface `ITransformable`
  Specified by:
    `scale1d` in interface `IVec4I`
  Specified by:
    `scale1d` in interface `IVecI`
  Overrides:
    `scale1d` in class `IVec`

### scale1d

    public IVec4 scale1d(IVec center,
                         IVec axis,
                         double f)

  Description copied from class: `IVec`
  scale only in 1 direction

  Overrides:
    `scale1d` in class `IVec`

### scale1d

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

  Description copied from class: `IVec`
  scale only in 1 direction

  Specified by:
    `scale1d` in interface `IVec4I`
  Specified by:
    `scale1d` in interface `IVecI`
  Overrides:
    `scale1d` in class `IVec`

### scale1d

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

  Description copied from class: `IVec`
  scale only in 1 direction

  Specified by:
    `scale1d` in interface `ITransformable`
  Specified by:
    `scale1d` in interface `IVec4I`
  Specified by:
    `scale1d` in interface `IVecI`
  Overrides:
    `scale1d` in class `IVec`

### scale1d

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

  Description copied from class: `IVec`
  scale only in 1 direction

  Specified by:
    `scale1d` in interface `ITransformable`
  Specified by:
    `scale1d` in interface `IVec4I`
  Specified by:
    `scale1d` in interface `IVecI`
  Overrides:
    `scale1d` in class `IVec`

### ref

    public IVec4 ref(IVec planeDir)

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

  Overrides:
    `ref` in class `IVec`

### ref

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

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

  Specified by:
    `ref` in interface `IVec4I`
  Specified by:
    `ref` in interface `IVecI`
  Overrides:
    `ref` in class `IVec`

### ref

    public IVec4 ref(IVecI planeDir)

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

  Specified by:
    `ref` in interface `ITransformable`
  Specified by:
    `ref` in interface `IVec4I`
  Specified by:
    `ref` in interface `IVecI`
  Overrides:
    `ref` in class `IVec`

### ref

    public IVec4 ref(IVec center,
                     IVec planeDir)

  Description copied from class: `IVec`
  reflect (mirror) 3 dimensionally to the other side of the plane at the center

  Overrides:
    `ref` in class `IVec`

### ref

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

  Description copied from class: `IVec`
  reflect (mirror) 3 dimensionally to the other side of the plane at the center

  Specified by:
    `ref` in interface `IVec4I`
  Specified by:
    `ref` in interface `IVecI`
  Overrides:
    `ref` in class `IVec`

### ref

    public IVec4 ref(IVecI center,
                     IVecI planeDir)

  Description copied from class: `IVec`
  reflect (mirror) 3 dimensionally to the other side of the plane at the center

  Specified by:
    `ref` in interface `ITransformable`
  Specified by:
    `ref` in interface `IVec4I`
  Specified by:
    `ref` in interface `IVecI`
  Overrides:
    `ref` in class `IVec`

### mirror

    public IVec4 mirror(IVec planeDir)

  Description copied from class: `IVec`
  alias of ref

  Overrides:
    `mirror` in class `IVec`

### mirror

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

  Description copied from class: `IVec`
  alias of ref

  Specified by:
    `mirror` in interface `IVec4I`
  Specified by:
    `mirror` in interface `IVecI`
  Overrides:
    `mirror` in class `IVec`

### mirror

    public IVec4 mirror(IVecI planeDir)

  Description copied from class: `IVec`
  alias of ref

  Specified by:
    `mirror` in interface `ITransformable`
  Specified by:
    `mirror` in interface `IVec4I`
  Specified by:
    `mirror` in interface `IVecI`
  Overrides:
    `mirror` in class `IVec`

### mirror

    public IVec4 mirror(IVec center,
                        IVec planeDir)

  Description copied from class: `IVec`
  alias of ref

  Overrides:
    `mirror` in class `IVec`

### mirror

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

  Description copied from class: `IVec`
  alias of ref

  Specified by:
    `mirror` in interface `IVec4I`
  Specified by:
    `mirror` in interface `IVecI`
  Overrides:
    `mirror` in class `IVec`

### mirror

    public IVec4 mirror(IVecI center,
                        IVecI planeDir)

  Description copied from class: `IVec`
  alias of ref

  Specified by:
    `mirror` in interface `ITransformable`
  Specified by:
    `mirror` in interface `IVec4I`
  Specified by:
    `mirror` in interface `IVecI`
  Overrides:
    `mirror` in class `IVec`

### shear

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

  Description copied from interface: `ITransformable`
  shear operation

  Specified by:
    `shear` in interface `ITransformable`
  Specified by:
    `shear` in interface `IVec4I`
  Specified by:
    `shear` in interface `IVecI`
  Overrides:
    `shear` in class `IVec`

### shear

    public IVec4 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 `IVec4I`
  Specified by:
    `shear` in interface `IVecI`
  Overrides:
    `shear` in class `IVec`

### shear

    public IVec4 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 `IVec4I`
  Specified by:
    `shear` in interface `IVecI`
  Overrides:
    `shear` in class `IVec`

### shear

    public IVec4 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 `IVec4I`
  Specified by:
    `shear` in interface `IVecI`
  Overrides:
    `shear` in class `IVec`

### shearXY

    public IVec4 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 `IVec4I`
  Specified by:
    `shearXY` in interface `IVecI`
  Overrides:
    `shearXY` in class `IVec`

### shearXY

    public IVec4 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 `IVec4I`
  Specified by:
    `shearXY` in interface `IVecI`
  Overrides:
    `shearXY` in class `IVec`

### shearXY

    public IVec4 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 `IVec4I`
  Specified by:
    `shearXY` in interface `IVecI`
  Overrides:
    `shearXY` in class `IVec`

### shearXY

    public IVec4 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 `IVec4I`
  Specified by:
    `shearXY` in interface `IVecI`
  Overrides:
    `shearXY` in class `IVec`

### shearYZ

    public IVec4 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 `IVec4I`
  Specified by:
    `shearYZ` in interface `IVecI`
  Overrides:
    `shearYZ` in class `IVec`

### shearYZ

    public IVec4 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 `IVec4I`
  Specified by:
    `shearYZ` in interface `IVecI`
  Overrides:
    `shearYZ` in class `IVec`

### shearYZ

    public IVec4 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 `IVec4I`
  Specified by:
    `shearYZ` in interface `IVecI`
  Overrides:
    `shearYZ` in class `IVec`

### shearYZ

    public IVec4 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 `IVec4I`
  Specified by:
    `shearYZ` in interface `IVecI`
  Overrides:
    `shearYZ` in class `IVec`

### shearZX

    public IVec4 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 `IVec4I`
  Specified by:
    `shearZX` in interface `IVecI`
  Overrides:
    `shearZX` in class `IVec`

### shearZX

    public IVec4 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 `IVec4I`
  Specified by:
    `shearZX` in interface `IVecI`
  Overrides:
    `shearZX` in class `IVec`

### shearZX

    public IVec4 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 `IVec4I`
  Specified by:
    `shearZX` in interface `IVecI`
  Overrides:
    `shearZX` in class `IVec`

### shearZX

    public IVec4 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 `IVec4I`
  Specified by:
    `shearZX` in interface `IVecI`
  Overrides:
    `shearZX` in class `IVec`

### translate

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

  Description copied from interface: `ITransformable`
  translate() is alias of add()

  Specified by:
    `translate` in interface `ITransformable`
  Specified by:
    `translate` in interface `IVec4I`
  Specified by:
    `translate` in interface `IVecI`
  Overrides:
    `translate` in class `IVec`

### translate

    public IVec4 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 `IVec4I`
  Specified by:
    `translate` in interface `IVecI`
  Overrides:
    `translate` in class `IVec`

### translate

    public IVec4 translate(IVecI v)

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

  Specified by:
    `translate` in interface `ITransformable`
  Specified by:
    `translate` in interface `IVec4I`
  Specified by:
    `translate` in interface `IVecI`
  Overrides:
    `translate` in class `IVec`

### transform

    public IVec4 transform(IMatrix3I mat)

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

  Specified by:
    `transform` in interface `ITransformable`
  Specified by:
    `transform` in interface `IVec4I`
  Specified by:
    `transform` in interface `IVecI`
  Overrides:
    `transform` in class `IVec`

### transform

    public IVec4 transform(IMatrix4I mat)

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

  Specified by:
    `transform` in interface `ITransformable`
  Specified by:
    `transform` in interface `IVec4I`
  Specified by:
    `transform` in interface `IVecI`
  Overrides:
    `transform` in class `IVec`

### transform

    public IVec4 transform(IVec xvec,
                           IVec yvec,
                           IVec zvec)

  Overrides:
    `transform` in class `IVec`

### transform

    public IVec4 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 `IVec4I`
  Specified by:
    `transform` in interface `IVecI`
  Overrides:
    `transform` in class `IVec`

### transform

    public IVec4 transform(IVec xvec,
                           IVec yvec,
                           IVec zvec,
                           IVec translate)

  Overrides:
    `transform` in class `IVec`

### transform

    public IVec4 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 `IVec4I`
  Specified by:
    `transform` in interface `IVecI`
  Overrides:
    `transform` in class `IVec`

### mv

    public IVec4 mv(double vx,
                    double vy,
                    double vz)

  mv() is alias of add()

  Specified by:
    `mv` in interface `ITransformable`
  Specified by:
    `mv` in interface `IVec4I`
  Specified by:
    `mv` in interface `IVecI`
  Overrides:
    `mv` in class `IVec`

### mv

    public IVec4 mv(IDoubleI vx,
                    IDoubleI vy,
                    IDoubleI vz)

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

  Specified by:
    `mv` in interface `ITransformable`
  Specified by:
    `mv` in interface `IVec4I`
  Specified by:
    `mv` in interface `IVecI`
  Overrides:
    `mv` in class `IVec`

### mv

    public IVec4 mv(IVecI v)

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

  Specified by:
    `mv` in interface `ITransformable`
  Specified by:
    `mv` in interface `IVec4I`
  Specified by:
    `mv` in interface `IVecI`
  Overrides:
    `mv` in class `IVec`

### cp

    public IVec4 cp()

  cp() is alias of dup()

  Specified by:
    `cp` in interface `ITransformable`
  Specified by:
    `cp` in interface `IVec4I`
  Specified by:
    `cp` in interface `IVecI`
  Overrides:
    `cp` in class `IVec`

### cp

    public IVec4 cp(IVec v)

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

  Overrides:
    `cp` in class `IVec`

### cp

    public IVec4 cp(double vx,
                    double vy,
                    double vz)

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

  Specified by:
    `cp` in interface `ITransformable`
  Specified by:
    `cp` in interface `IVec4I`
  Specified by:
    `cp` in interface `IVecI`
  Overrides:
    `cp` in class `IVec`

### cp

    public IVec4 cp(IDoubleI vx,
                    IDoubleI vy,
                    IDoubleI vz)

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

  Specified by:
    `cp` in interface `ITransformable`
  Specified by:
    `cp` in interface `IVec4I`
  Specified by:
    `cp` in interface `IVecI`
  Overrides:
    `cp` in class `IVec`

### cp

    public IVec4 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 `IVec4I`
  Specified by:
    `cp` in interface `IVecI`
  Overrides:
    `cp` in class `IVec`

### dif

    public IVec4 dif(IVec v)

  Description copied from class: `IVec`
  create a new instance of difference

  Overrides:
    `dif` in class `IVec`

### dif

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

  Description copied from class: `IVec`
  create a new instance of difference

  Specified by:
    `dif` in interface `IVec4I`
  Specified by:
    `dif` in interface `IVecI`
  Overrides:
    `dif` in class `IVec`

### dif

    public IVec4 dif(IVecI v)

  Description copied from class: `IVec`
  create a new instance of difference

  Specified by:
    `dif` in interface `IVec4I`
  Specified by:
    `dif` in interface `IVecI`
  Overrides:
    `dif` in class `IVec`

### diff

    public IVec4 diff(IVec v)

  Description copied from class: `IVec`
  create a new instance of difference

  Overrides:
    `diff` in class `IVec`

### diff

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

  Description copied from class: `IVec`
  create a new instance of difference

  Specified by:
    `diff` in interface `IVec4I`
  Specified by:
    `diff` in interface `IVecI`
  Overrides:
    `diff` in class `IVec`

### diff

    public IVec4 diff(IVecI v)

  Description copied from class: `IVec`
  create a new instance of difference

  Specified by:
    `diff` in interface `IVec4I`
  Specified by:
    `diff` in interface `IVecI`
  Overrides:
    `diff` in class `IVec`

### mid

    public IVec4 mid(IVec v)

  Description copied from class: `IVec`
  create a new instance of midpoint

  Overrides:
    `mid` in class `IVec`

### mid

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

  Description copied from class: `IVec`
  create a new instance of midpoint

  Specified by:
    `mid` in interface `IVec4I`
  Specified by:
    `mid` in interface `IVecI`
  Overrides:
    `mid` in class `IVec`

### mid

    public IVec4 mid(IVecI v)

  Description copied from class: `IVec`
  create a new instance of midpoint

  Specified by:
    `mid` in interface `IVec4I`
  Specified by:
    `mid` in interface `IVecI`
  Overrides:
    `mid` in class `IVec`

### sum

    public IVec4 sum(IVec v)

  Description copied from class: `IVec`
  create a new instance of summation

  Overrides:
    `sum` in class `IVec`

### sum

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

  Description copied from class: `IVec`
  create a new instance of summation

  Specified by:
    `sum` in interface `IVec4I`
  Specified by:
    `sum` in interface `IVecI`
  Overrides:
    `sum` in class `IVec`

### sum

    public IVec4 sum(IVecI v)

  Description copied from class: `IVec`
  create a new instance of summation

  Specified by:
    `sum` in interface `IVec4I`
  Specified by:
    `sum` in interface `IVecI`
  Overrides:
    `sum` in class `IVec`

### sum

    public IVec4 sum(IVec... v)

  Description copied from class: `IVec`
  create a new instance of summation

  Overrides:
    `sum` in class `IVec`

### sum

    public IVec4 sum(IVecI... v)

  Description copied from class: `IVec`
  create a new instance of summation

  Specified by:
    `sum` in interface `IVec4I`
  Specified by:
    `sum` in interface `IVecI`
  Overrides:
    `sum` in class `IVec`

### bisect

    public IVec4 bisect(IVec v)

  Description copied from class: `IVec`
  create a new instance of bisector

  Overrides:
    `bisect` in class `IVec`

### bisect

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

  Description copied from class: `IVec`
  create a new instance of bisector

  Specified by:
    `bisect` in interface `IVec4I`
  Specified by:
    `bisect` in interface `IVecI`
  Overrides:
    `bisect` in class `IVec`

### bisect

    public IVec4 bisect(IVecI v)

  Description copied from class: `IVec`
  create a new instance of bisector

  Specified by:
    `bisect` in interface `IVec4I`
  Specified by:
    `bisect` in interface `IVecI`
  Overrides:
    `bisect` in class `IVec`

### sum

    public IVec4 sum(IVec v2,
                     double w1,
                     double w2)

  Description copied from class: `IVec`
  create a new instance of weighted summation

  Overrides:
    `sum` in class `IVec`

### sum

    public IVec4 sum(IVec v2,
                     double w2)

  Description copied from class: `IVec`
  create a new instance of weighted summation

  Overrides:
    `sum` in class `IVec`

### sum

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

  Description copied from class: `IVec`
  create a new instance of weighted summation

  Specified by:
    `sum` in interface `IVec4I`
  Specified by:
    `sum` in interface `IVecI`
  Overrides:
    `sum` in class `IVec`

### sum

    public IVec4 sum(IVecI v2,
                     double w2)

  Description copied from class: `IVec`
  create a new instance of weighted summation

  Specified by:
    `sum` in interface `IVec4I`
  Specified by:
    `sum` in interface `IVecI`
  Overrides:
    `sum` in class `IVec`

### sum

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

  Description copied from class: `IVec`
  create a new instance of weighted summation

  Specified by:
    `sum` in interface `IVec4I`
  Specified by:
    `sum` in interface `IVecI`
  Overrides:
    `sum` in class `IVec`

### sum

    public IVec4 sum(IVecI v2,
                     IDoubleI w2)

  Description copied from class: `IVec`
  create a new instance of weighted summation

  Specified by:
    `sum` in interface `IVec4I`
  Specified by:
    `sum` in interface `IVecI`
  Overrides:
    `sum` in class `IVec`

### nml

    public IVec4 nml(IVec v)

  alias of cross. (not unitized ... )

  Overrides:
    `nml` in class `IVec`

### nml

    public IVec4 nml(IVecI v)

  alias of cross. (not unitized ... )

  Specified by:
    `nml` in interface `IVec4I`
  Specified by:
    `nml` in interface `IVecI`
  Overrides:
    `nml` in class `IVec`

### nml

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

  alias of cross. (not unitized ... )

  Specified by:
    `nml` in interface `IVec4I`
  Specified by:
    `nml` in interface `IVecI`
  Overrides:
    `nml` in class `IVec`

### nml

    public IVec4 nml(IVec pt1,
                     IVec pt2)

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

  Overrides:
    `nml` in class `IVec`

### nml

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

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

  Specified by:
    `nml` in interface `IVec4I`
  Specified by:
    `nml` in interface `IVecI`
  Overrides:
    `nml` in class `IVec`

### nml

    public IVec4 nml(IVecI pt1,
                     IVecI pt2)

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

  Specified by:
    `nml` in interface `IVec4I`
  Specified by:
    `nml` in interface `IVecI`
  Overrides:
    `nml` in class `IVec`

### isValid

    public boolean isValid()

  checking x, y, and z is valid number (not Infinite, nor NaN).

  Specified by:
    `isValid` in interface `IVecI`
  Overrides:
    `isValid` in class `IVec`

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `IVec`

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