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

## igeo
Interface IVecI

All Superinterfaces:
  IParameter, ITransformable, IVal, IVecOp

All Known Subinterfaces:
  IBoidI, IParticleI, IParticleOnCurveI, IVec4I

All Known Implementing Classes:
  IBoid, IBoidGeo, IBoidTrajectory, IParticle, IParticleAgent, IParticleGeo, IParticleOnCurve, IParticleOnCurveAgent, IParticleOnCurveGeo, IParticleTrajectory, IPoint, IPointAgent, IPointR, IVec, IVec4, IVec4R, IVecR, IVectorObject, IVertex

    public interface IVecI

extends IVecOp, ITransformable

Abstract interface of 3 dimensional vector.

Author:
  Satoru Sugihara

Method Summary
`IVecI` | `add(double x, double y, double z)`
`IVecI` | `add(double f, IVecI v)` scale add
`IVecI` | `add(IDoubleI x, IDoubleI y, IDoubleI z)`
`IVecI` | `add(IDoubleI f, IVecI v)` scale add
`IVecI` | `add(IVecI v)`
`IVecI` | `add(IVecI v, double f)` scale add
`IVecI` | `add(IVecI v, IDoubleI f)` scale add
`double` | `angle(double vx, double vy, double vz)` get angle between two vector from 0 to Pi
`double` | `angle(double vx, double vy, double vz, double axisX, double axisY, double axisZ)`
`double` | `angle(ISwitchE e, IVecI v)` get angle between two vector from 0 to Pi
`double` | `angle(ISwitchE e, IVecI v, IVecI axis)`
`IDoubleI` | `angle(ISwitchR r, IVecI v)` get angle between two vector from 0 to Pi
`IDoubleI` | `angle(ISwitchR r, IVecI v, IVecI axis)`
`double` | `angle(IVecI v)` get angle between two vector from 0 to Pi
`double` | `angle(IVecI v, IVecI axis)`
`IVecI` | `bisect(double vx, double vy, double vz)` create a new instance of bisector
`IVecI` | `bisect(IVecI v)` create a new instance of bisector
`IVecI` | `cp()` cp() is alias of dup()
`IVecI` | `cp(double x, double y, double z)` cp() is alias of dup().add()
`IVecI` | `cp(IDoubleI x, IDoubleI y, IDoubleI z)` cp() is alias of dup().add()
`IVecI` | `cp(IVecI v)` cp() is alias of dup().add()
`IVecI` | `cross(double vx, double vy, double vz)` cross product, creating a new instance
`IVecI` | `cross(IVecI v)` cross product, creating a new instance
`IVecI` | `dif(double vx, double vy, double vz)` create a new instance of difference
`IVecI` | `dif(IVecI v)` create a new instance of difference
`IVecI` | `diff(double vx, double vy, double vz)` alias of dif
`IVecI` | `diff(IVecI v)` alias of dif
`double` | `dist(double vx, double vy, double vz)` distance of two vectors
`double` | `dist(ISwitchE e, IVecI v)` distance of two vectors
`IDoubleI` | `dist(ISwitchR r, IVecI v)` distance of two vectors
`double` | `dist(IVecI v)` distance of two vectors
`double` | `dist2(double vx, double vy, double vz)` squared distance of two vectors
`double` | `dist2(ISwitchE e, IVecI v)` squared distance of two vectors
`IDoubleI` | `dist2(ISwitchR r, IVecI v)` squared distance of two vectors
`double` | `dist2(IVecI v)` squared distance of two vectors
`IVecI` | `div(double v)`
`IVecI` | `div(IDoubleI v)`
`double` | `dot(double vx, double vy, double vz)` dot product
`double` | `dot(ISwitchE e, IVecI v)` dot product
`IDoubleI` | `dot(ISwitchR r, IVecI v)` dot product
`double` | `dot(IVecI v)` dot product
`IVecI` | `dup()` duplicate the instance
`boolean` | `eq(double vx, double vy, double vz)` check whether location is same or not
`boolean` | `eq(double vx, double vy, double vz, double tolerance)` check whether location is same or not with tolerance
`boolean` | `eq(ISwitchE e, IVecI v)` check whether location is same or not
`boolean` | `eq(ISwitchE e, IVecI v, double tolerance)` check whether location is same or not with tolerance
`IBoolI` | `eq(ISwitchR r, IVecI v)` check whether location is same or not
`IBoolI` | `eq(ISwitchR r, IVecI v, IDoubleI tolerance)` check whether location is same or not with tolerance
`boolean` | `eq(IVecI v)` check whether location is same or not
`boolean` | `eq(IVecI v, double tolerance)` check whether location is same or not with tolerance
`boolean` | `eqX(double vx)` check if same in X
`boolean` | `eqX(double vx, double tolerance)` check if same in X with tolerance
`boolean` | `eqX(ISwitchE e, IVecI v)` check if same in X
`boolean` | `eqX(ISwitchE e, IVecI v, double tolerance)` check if same in X with tolerance
`IBoolI` | `eqX(ISwitchR r, IVecI v)` check if same in X
`IBoolI` | `eqX(ISwitchR r, IVecI v, IDoubleI tolerance)` check if same in X with tolerance
`boolean` | `eqX(IVecI v)` check if same in X
`boolean` | `eqX(IVecI v, double tolerance)` check if same in X with tolerance
`boolean` | `eqY(double vy)` check if same in Y
`boolean` | `eqY(double vy, double tolerance)` check if same in Y with tolerance
`boolean` | `eqY(ISwitchE e, IVecI v)` check if same in Y
`boolean` | `eqY(ISwitchE e, IVecI v, double tolerance)` check if same in Y with tolerance
`IBoolI` | `eqY(ISwitchR r, IVecI v)` check if same in Y
`IBoolI` | `eqY(ISwitchR r, IVecI v, IDoubleI tolerance)` check if same in Y with tolerance
`boolean` | `eqY(IVecI v)` check if same in Y
`boolean` | `eqY(IVecI v, double tolerance)` check if same in Y with tolerance
`boolean` | `eqZ(double vz)` check if same in Z
`boolean` | `eqZ(double vz, double tolerance)` check if same in Z with tolerance
`boolean` | `eqZ(ISwitchE e, IVecI v)` check if same in Z
`boolean` | `eqZ(ISwitchE e, IVecI v, double tolerance)` check if same in Z with tolerance
`IBoolI` | `eqZ(ISwitchR r, IVecI v)` check if same in Z
`IBoolI` | `eqZ(ISwitchR r, IVecI v, IDoubleI tolerance)` check if same in Z with tolerance
`boolean` | `eqZ(IVecI v)` check if same in Z
`boolean` | `eqZ(IVecI v, double tolerance)` check if same in Z with tolerance
`IVecI` | `flip()` alias of neg()
`IVec` | `get()`
`IDoubleI` | `getX()`
`IDoubleI` | `getY()`
`IDoubleI` | `getZ()`
`boolean` | `isValid()` check if the content of vector is valid; no NaN value
`double` | `len()` getting length of the vector
`IVecI` | `len(double l)` setting length
`IVecI` | `len(IDoubleI l)` setting length
`double` | `len(ISwitchE e)` getting length of the vector
`IDoubleI` | `len(ISwitchR r)` getting length of the vector
`double` | `len2()` getting squared length of the vector
`double` | `len2(ISwitchE e)` getting squared length of the vector
`IDoubleI` | `len2(ISwitchR r)` getting squared length of the vector
`IVecI` | `mid(double vx, double vy, double vz)` create a new instance of midpoint
`IVecI` | `mid(IVecI v)` create a new instance of midpoint
`IVecI` | `mirror(double planeX, double planeY, double planeZ)` alias of ref
`IVecI` | `mirror(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` alias of ref
`IVecI` | `mirror(IVecI planeDir)` alias of ref
`IVecI` | `mirror(IVecI center, IVecI planeDir)` alias of ref
`IVecI` | `mul(double v)`
`IVecI` | `mul(IDoubleI v)`
`IVecI` | `mv(double x, double y, double z)` mv() is alias of add()
`IVecI` | `mv(IDoubleI x, IDoubleI y, IDoubleI z)` mv() is alias of add()
`IVecI` | `mv(IVecI v)` mv() is alias of add()
`IVecI` | `neg()`
`IVecI` | `nml(double vx, double vy, double vz)` alias of cross
`IVecI` | `nml(double vx1, double vy1, double vz1, double vx2, double vy2, double vz2)` create normal vector from 3 points of self, pt1 and pt2
`IVecI` | `nml(IVecI v)` alias of cross
`IVecI` | `nml(IVecI pt1, IVecI pt2)` create normal vector from 3 points of self, pt1 and pt2
`IVecI` | `ref(double planeX, double planeY, double planeZ)` reflect(mirror) 3 dimensionally to the other side of the plane
`IVecI` | `ref(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)` reflect(mirror) 3 dimensionally to the other side of the plane
`IVecI` | `ref(IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
`IVecI` | `ref(IVecI center, IVecI planeDir)` reflect(mirror) 3 dimensionally to the other side of the plane
`IVecI` | `rev()` alias of neg()
`IVecI` | `rot(double angle)` rotation on XY plane
`IVecI` | `rot(double axisX, double axisY, double axisZ, double angle)` rotation around axis vector
`IVecI` | `rot(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double angle)` rotation around axis vector and center point
`IVecI` | `rot(IDoubleI angle)` rotation on XY plane
`IVecI` | `rot(IVecI axis, double angle)` rotation around axis vector
`IVecI` | `rot(IVecI axis, IDoubleI angle)` rotation around axis vector
`IVecI` | `rot(IVecI axis, IVecI destDir)` rotate to destination direction vector
`IVecI` | `rot(IVecI center, IVecI axis, double angle)` rotation around axis vector and center point
`IVecI` | `rot(IVecI center, IVecI axis, IDoubleI angle)` rotation around axis vector and center point
`IVecI` | `rot(IVecI center, IVecI axis, IVecI destPt)` rotate to destination point location
`IVecI` | `rot2(double angle)` rotation on xy-plane; alias of rot(double)
`IVecI` | `rot2(double centerX, double centerY, double angle)` rotation on xy-plane
`IVecI` | `rot2(IDoubleI angle)` rotation on xy-plane; alias of rot(IDoubleI)
`IVecI` | `rot2(IVecI destDir)` rotation on xy-plane towards destDir
`IVecI` | `rot2(IVecI center, double angle)` rotation on xy-plane
`IVecI` | `rot2(IVecI center, IDoubleI angle)` rotation on xy-plane
`IVecI` | `rot2(IVecI center, IVecI destPt)` rotation on xy-plane towards destPt
`IVecI` | `scale(double f)` alias of mul
`IVecI` | `scale(double centerX, double centerY, double centerZ, double f)` scale from a center
`IVecI` | `scale(IDoubleI f)` alias of mul
`IVecI` | `scale(IVecI center, double f)` scale from a center
`IVecI` | `scale(IVecI center, IDoubleI f)` scale from a center
`IVecI` | `scale1d(double axisX, double axisY, double axisZ, double f)` scale only in 1 direction
`IVecI` | `scale1d(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double f)` scale only in 1 direction from a center
`IVecI` | `scale1d(IVecI axis, double f)` scale only in 1 direction
`IVecI` | `scale1d(IVecI axis, IDoubleI f)` scale only in 1 direction
`IVecI` | `scale1d(IVecI center, IVecI axis, double f)` scale only in 1 direction from a center
`IVecI` | `scale1d(IVecI center, IVecI axis, IDoubleI f)` scale only in 1 direction from a center
`IVecI` | `set(double x, double y, double z)`
`IVecI` | `set(IDoubleI x, IDoubleI y, IDoubleI z)`
`IVecI` | `set(IVecI v)`
`IVecI` | `shear(double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
`IVecI` | `shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
`IVecI` | `shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)` shear operation
`IVecI` | `shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)` shear operation
`IVecI` | `shearXY(double sxy, double syx)` shear operation on XY
`IVecI` | `shearXY(IDoubleI sxy, IDoubleI syx)` shear operation on XY
`IVecI` | `shearXY(IVecI center, double sxy, double syx)` shear operation on XY
`IVecI` | `shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)` shear operation on XY
`IVecI` | `shearYZ(double syz, double szy)` shear operation on YZ
`IVecI` | `shearYZ(IDoubleI syz, IDoubleI szy)` shear operation on YZ
`IVecI` | `shearYZ(IVecI center, double syz, double szy)` shear operation on YZ
`IVecI` | `shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)` shear operation on YZ
`IVecI` | `shearZX(double szx, double sxz)` shear operation on ZX
`IVecI` | `shearZX(IDoubleI szx, IDoubleI sxz)` shear operation on ZX
`IVecI` | `shearZX(IVecI center, double szx, double sxz)` shear operation on ZX
`IVecI` | `shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)` shear operation on ZX
`IVecI` | `sub(double x, double y, double z)`
`IVecI` | `sub(IDoubleI x, IDoubleI y, IDoubleI z)`
`IVecI` | `sub(IVecI v)`
`IVecI` | `sum(double vx, double vy, double vz)` create a new instance of total summation
`IVecI` | `sum(IVecI... v)` create a new instance of total summation
`IVecI` | `sum(IVecI v)` create a new instance of total summation
`IVecI` | `sum(IVecI v2, double w2)` create a new instance of weighted sum
`IVecI` | `sum(IVecI v2, double w1, double w2)` create a new instance of weighted sum
`IVecI` | `sum(IVecI v2, IDoubleI w2)` create a new instance of weighted sum
`IVecI` | `sum(IVecI v2, IDoubleI w1, IDoubleI w2)` create a new instance of weighted sum
`IVec2I` | `to2d()`
`IVec4I` | `to4d()`
`IVec4I` | `to4d(double w)`
`IVec4I` | `to4d(IDoubleI w)`
`IVecI` | `transform(IMatrix3I mat)` transform with a transformation matrix
`IVecI` | `transform(IMatrix4I mat)` transform with a transformation matrix
`IVecI` | `transform(IVecI xvec, IVecI yvec, IVecI zvec)` transform with a transformation vectors
`IVecI` | `transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)` transform with a transformation vectors
`IVecI` | `translate(double x, double y, double z)` alias of add()
`IVecI` | `translate(IDoubleI x, IDoubleI y, IDoubleI z)` alias of add()
`IVecI` | `translate(IVecI v)` alias of add()
`IVecI` | `unit()` unitize
`double` | `x()` getting x component
`IVecI` | `x(double vx)` setting x component
`IVecI` | `x(IDoubleI vx)` setting x component
`double` | `x(ISwitchE e)` getting x component
`IDoubleI` | `x(ISwitchR r)` getting x component
`double` | `y()` getting y component
`IVecI` | `y(double vy)` setting y component
`IVecI` | `y(IDoubleI vy)` setting y component
`double` | `y(ISwitchE e)` getting y component
`IDoubleI` | `y(ISwitchR r)` getting y component
`double` | `z()` getting z component
`IVecI` | `z(double vz)` setting z component
`IVecI` | `z(IDoubleI vz)` setting z component
`double` | `z(ISwitchE e)` getting z component
`IDoubleI` | `z(ISwitchR r)` getting z component
`IVecI` | `zero()` setting all zero

Method Detail

### x

    double x()

  getting x component

### y

    double y()

  getting y component

### z

    double z()

  getting z component

### x

    IVecI x(double vx)

  setting x component

### y

    IVecI y(double vy)

  setting y component

### z

    IVecI z(double vz)

  setting z component

### x

    IVecI x(IDoubleI vx)

  setting x component

### y

    IVecI y(IDoubleI vy)

  setting y component

### z

    IVecI z(IDoubleI vz)

  setting z component

### x

    double x(ISwitchE e)

  getting x component

### y

    double y(ISwitchE e)

  getting y component

### z

    double z(ISwitchE e)

  getting z component

### x

    IDoubleI x(ISwitchR r)

  getting x component

### y

    IDoubleI y(ISwitchR r)

  getting y component

### z

    IDoubleI z(ISwitchR r)

  getting z component

### get

    IVec get()

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

### dup

    IVecI dup()

  Description copied from interface: `ITransformable`
  duplicate the instance

  Specified by:
    `dup` in interface `ITransformable`

### to2d

    IVec2I to2d()

### to4d

    IVec4I to4d()

### to4d

    IVec4I to4d(double w)

### to4d

    IVec4I to4d(IDoubleI w)

### getX

    IDoubleI getX()

### getY

    IDoubleI getY()

### getZ

    IDoubleI getZ()

### set

    IVecI set(IVecI v)

### set

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

### set

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

### add

    IVecI add(double x,
              double y,
              double z)

  Specified by:
    `add` in interface `ITransformable`

### add

    IVecI add(IDoubleI x,
              IDoubleI y,
              IDoubleI z)

  Specified by:
    `add` in interface `ITransformable`

### add

    IVecI add(IVecI v)

  Specified by:
    `add` in interface `ITransformable`

### sub

    IVecI sub(double x,
              double y,
              double z)

  Specified by:
    `sub` in interface `ITransformable`

### sub

    IVecI sub(IDoubleI x,
              IDoubleI y,
              IDoubleI z)

  Specified by:
    `sub` in interface `ITransformable`

### sub

    IVecI sub(IVecI v)

  Specified by:
    `sub` in interface `ITransformable`

### mul

    IVecI mul(IDoubleI v)

  Specified by:
    `mul` in interface `ITransformable`

### mul

    IVecI mul(double v)

  Specified by:
    `mul` in interface `ITransformable`

### div

    IVecI div(IDoubleI v)

  Specified by:
    `div` in interface `ITransformable`

### div

    IVecI div(double v)

  Specified by:
    `div` in interface `ITransformable`

### neg

    IVecI neg()

  Specified by:
    `neg` in interface `ITransformable`

### rev

    IVecI rev()

  alias of neg()

### flip

    IVecI flip()

  alias of neg()

  Specified by:
    `flip` in interface `ITransformable`

### zero

    IVecI zero()

  setting all zero

### add

    IVecI add(IVecI v,
              double f)

  scale add

  Specified by:
    `add` in interface `ITransformable`

### add

    IVecI add(IVecI v,
              IDoubleI f)

  scale add

  Specified by:
    `add` in interface `ITransformable`

### add

    IVecI add(double f,
              IVecI v)

  scale add

  Specified by:
    `add` in interface `ITransformable`

### add

    IVecI add(IDoubleI f,
              IVecI v)

  scale add

  Specified by:
    `add` in interface `ITransformable`

### dot

    double dot(IVecI v)

  dot product

### dot

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

  dot product

### dot

    double dot(ISwitchE e,
               IVecI v)

  dot product

### dot

    IDoubleI dot(ISwitchR r,
                 IVecI v)

  dot product

### cross

    IVecI cross(IVecI v)

  cross product, creating a new instance

### cross

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

  cross product, creating a new instance

### len

    double len()

  getting length of the vector

### len

    double len(ISwitchE e)

  getting length of the vector

### len

    IDoubleI len(ISwitchR r)

  getting length of the vector

### len2

    double len2()

  getting squared length of the vector

### len2

    double len2(ISwitchE e)

  getting squared length of the vector

### len2

    IDoubleI len2(ISwitchR r)

  getting squared length of the vector

### len

    IVecI len(IDoubleI l)

  setting length

### len

    IVecI len(double l)

  setting length

### unit

    IVecI unit()

  unitize

### dist

    double dist(IVecI v)

  distance of two vectors

### dist

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

  distance of two vectors

### dist

    double dist(ISwitchE e,
                IVecI v)

  distance of two vectors

### dist

    IDoubleI dist(ISwitchR r,
                  IVecI v)

  distance of two vectors

### dist2

    double dist2(IVecI v)

  squared distance of two vectors

### dist2

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

  squared distance of two vectors

### dist2

    double dist2(ISwitchE e,
                 IVecI v)

  squared distance of two vectors

### dist2

    IDoubleI dist2(ISwitchR r,
                   IVecI v)

  squared distance of two vectors

### eq

    boolean eq(IVecI v)

  check whether location is same or not

### eq

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

  check whether location is same or not

### eq

    boolean eq(ISwitchE e,
               IVecI v)

  check whether location is same or not

### eq

    IBoolI eq(ISwitchR r,
              IVecI v)

  check whether location is same or not

### eq

    boolean eq(IVecI v,
               double tolerance)

  check whether location is same or not with tolerance

### eq

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

  check whether location is same or not with tolerance

### eq

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

  check whether location is same or not with tolerance

### eq

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

  check whether location is same or not with tolerance

### eqX

    boolean eqX(IVecI v)

  check if same in X

### eqY

    boolean eqY(IVecI v)

  check if same in Y

### eqZ

    boolean eqZ(IVecI v)

  check if same in Z

### eqX

    boolean eqX(double vx)

  check if same in X

### eqY

    boolean eqY(double vy)

  check if same in Y

### eqZ

    boolean eqZ(double vz)

  check if same in Z

### eqX

    boolean eqX(ISwitchE e,
                IVecI v)

  check if same in X

### eqY

    boolean eqY(ISwitchE e,
                IVecI v)

  check if same in Y

### eqZ

    boolean eqZ(ISwitchE e,
                IVecI v)

  check if same in Z

### eqX

    IBoolI eqX(ISwitchR r,
               IVecI v)

  check if same in X

### eqY

    IBoolI eqY(ISwitchR r,
               IVecI v)

  check if same in Y

### eqZ

    IBoolI eqZ(ISwitchR r,
               IVecI v)

  check if same in Z

### eqX

    boolean eqX(IVecI v,
                double tolerance)

  check if same in X with tolerance

### eqY

    boolean eqY(IVecI v,
                double tolerance)

  check if same in Y with tolerance

### eqZ

    boolean eqZ(IVecI v,
                double tolerance)

  check if same in Z with tolerance

### eqX

    boolean eqX(double vx,
                double tolerance)

  check if same in X with tolerance

### eqY

    boolean eqY(double vy,
                double tolerance)

  check if same in Y with tolerance

### eqZ

    boolean eqZ(double vz,
                double tolerance)

  check if same in Z with tolerance

### eqX

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

  check if same in X with tolerance

### eqY

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

  check if same in Y with tolerance

### eqZ

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

  check if same in Z with tolerance

### eqX

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

  check if same in X with tolerance

### eqY

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

  check if same in Y with tolerance

### eqZ

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

  check if same in Z with tolerance

### angle

    double angle(IVecI v)

  get angle between two vector from 0 to Pi

### angle

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

  get angle between two vector from 0 to Pi

### angle

    double angle(ISwitchE e,
                 IVecI v)

  get angle between two vector from 0 to Pi

### angle

    IDoubleI angle(ISwitchR r,
                   IVecI v)

  get angle between two vector from 0 to Pi

### angle

    double angle(IVecI v,
                 IVecI axis)

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

### angle

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

  Returns:
    angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

### angle

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

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

### angle

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

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

### rot

    IVecI rot(IVecI axis,
              IDoubleI angle)

  rotation around axis vector

  Specified by:
    `rot` in interface `ITransformable`

### rot

    IVecI rot(IVecI axis,
              double angle)

  rotation around axis vector

  Specified by:
    `rot` in interface `ITransformable`

### rot

    IVecI rot(double axisX,
              double axisY,
              double axisZ,
              double angle)

  rotation around axis vector

### rot

    IVecI rot(double angle)

  rotation on XY plane

  Specified by:
    `rot` in interface `ITransformable`

### rot

    IVecI rot(IDoubleI angle)

  rotation on XY plane

  Specified by:
    `rot` in interface `ITransformable`

### rot

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

  rotation around axis vector and center point

  Specified by:
    `rot` in interface `ITransformable`

### rot

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

  rotation around axis vector and center point

  Specified by:
    `rot` in interface `ITransformable`

### rot

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

  rotation around axis vector and center point

### rot

    IVecI rot(IVecI axis,
              IVecI destDir)

  rotate to destination direction vector

  Specified by:
    `rot` in interface `ITransformable`

### rot

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

  rotate to destination point location

  Specified by:
    `rot` in interface `ITransformable`

### rot2

    IVecI rot2(double angle)

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

  Specified by:
    `rot2` in interface `ITransformable`

### rot2

    IVecI rot2(IDoubleI angle)

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

  Specified by:
    `rot2` in interface `ITransformable`

### rot2

    IVecI rot2(IVecI center,
               double angle)

  rotation on xy-plane

  Specified by:
    `rot2` in interface `ITransformable`

### rot2

    IVecI rot2(IVecI center,
               IDoubleI angle)

  rotation on xy-plane

  Specified by:
    `rot2` in interface `ITransformable`

### rot2

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

  rotation on xy-plane

### rot2

    IVecI rot2(IVecI destDir)

  rotation on xy-plane towards destDir

  Specified by:
    `rot2` in interface `ITransformable`

### rot2

    IVecI rot2(IVecI center,
               IVecI destPt)

  rotation on xy-plane towards destPt

  Specified by:
    `rot2` in interface `ITransformable`

### scale

    IVecI scale(IDoubleI f)

  alias of mul

  Specified by:
    `scale` in interface `ITransformable`

### scale

    IVecI scale(double f)

  alias of mul

  Specified by:
    `scale` in interface `ITransformable`

### scale

    IVecI scale(IVecI center,
                IDoubleI f)

  scale from a center

  Specified by:
    `scale` in interface `ITransformable`

### scale

    IVecI scale(IVecI center,
                double f)

  scale from a center

  Specified by:
    `scale` in interface `ITransformable`

### scale

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

  scale from a center

### scale1d

    IVecI scale1d(IVecI axis,
                  double f)

  scale only in 1 direction

  Specified by:
    `scale1d` in interface `ITransformable`

### scale1d

    IVecI scale1d(IVecI axis,
                  IDoubleI f)

  scale only in 1 direction

  Specified by:
    `scale1d` in interface `ITransformable`

### scale1d

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

  scale only in 1 direction

### scale1d

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

  scale only in 1 direction from a center

  Specified by:
    `scale1d` in interface `ITransformable`

### scale1d

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

  scale only in 1 direction from a center

  Specified by:
    `scale1d` in interface `ITransformable`

### scale1d

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

  scale only in 1 direction from a center

### ref

    IVecI ref(IVecI planeDir)

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

  Specified by:
    `ref` in interface `ITransformable`

### ref

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

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

### ref

    IVecI ref(IVecI center,
              IVecI planeDir)

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

  Specified by:
    `ref` in interface `ITransformable`

### ref

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

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

### mirror

    IVecI mirror(IVecI planeDir)

  alias of ref

  Specified by:
    `mirror` in interface `ITransformable`

### mirror

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

  alias of ref

### mirror

    IVecI mirror(IVecI center,
                 IVecI planeDir)

  alias of ref

  Specified by:
    `mirror` in interface `ITransformable`

### mirror

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

  alias of ref

### shear

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

  shear operation

  Specified by:
    `shear` in interface `ITransformable`

### shear

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

  shear operation

  Specified by:
    `shear` in interface `ITransformable`

### shear

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

  shear operation

  Specified by:
    `shear` in interface `ITransformable`

### shear

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

  shear operation

  Specified by:
    `shear` in interface `ITransformable`

### shearXY

    IVecI shearXY(double sxy,
                  double syx)

  shear operation on XY

  Specified by:
    `shearXY` in interface `ITransformable`

### shearXY

    IVecI shearXY(IDoubleI sxy,
                  IDoubleI syx)

  shear operation on XY

  Specified by:
    `shearXY` in interface `ITransformable`

### shearXY

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

  shear operation on XY

  Specified by:
    `shearXY` in interface `ITransformable`

### shearXY

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

  shear operation on XY

  Specified by:
    `shearXY` in interface `ITransformable`

### shearYZ

    IVecI shearYZ(double syz,
                  double szy)

  shear operation on YZ

  Specified by:
    `shearYZ` in interface `ITransformable`

### shearYZ

    IVecI shearYZ(IDoubleI syz,
                  IDoubleI szy)

  shear operation on YZ

  Specified by:
    `shearYZ` in interface `ITransformable`

### shearYZ

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

  shear operation on YZ

  Specified by:
    `shearYZ` in interface `ITransformable`

### shearYZ

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

  shear operation on YZ

  Specified by:
    `shearYZ` in interface `ITransformable`

### shearZX

    IVecI shearZX(double szx,
                  double sxz)

  shear operation on ZX

  Specified by:
    `shearZX` in interface `ITransformable`

### shearZX

    IVecI shearZX(IDoubleI szx,
                  IDoubleI sxz)

  shear operation on ZX

  Specified by:
    `shearZX` in interface `ITransformable`

### shearZX

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

  shear operation on ZX

  Specified by:
    `shearZX` in interface `ITransformable`

### shearZX

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

  shear operation on ZX

  Specified by:
    `shearZX` in interface `ITransformable`

### translate

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

  alias of add()

  Specified by:
    `translate` in interface `ITransformable`

### translate

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

  alias of add()

  Specified by:
    `translate` in interface `ITransformable`

### translate

    IVecI translate(IVecI v)

  alias of add()

  Specified by:
    `translate` in interface `ITransformable`

### transform

    IVecI transform(IMatrix3I mat)

  transform with a transformation matrix

  Specified by:
    `transform` in interface `ITransformable`

### transform

    IVecI transform(IMatrix4I mat)

  transform with a transformation matrix

  Specified by:
    `transform` in interface `ITransformable`

### transform

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

  transform with a transformation vectors

  Specified by:
    `transform` in interface `ITransformable`

### transform

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

  transform with a transformation vectors

  Specified by:
    `transform` in interface `ITransformable`

### mv

    IVecI mv(double x,
             double y,
             double z)

  mv() is alias of add()

  Specified by:
    `mv` in interface `ITransformable`

### mv

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

  mv() is alias of add()

  Specified by:
    `mv` in interface `ITransformable`

### mv

    IVecI mv(IVecI v)

  mv() is alias of add()

  Specified by:
    `mv` in interface `ITransformable`

### cp

    IVecI cp()

  cp() is alias of dup()

  Specified by:
    `cp` in interface `ITransformable`

### cp

    IVecI cp(double x,
             double y,
             double z)

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

  Specified by:
    `cp` in interface `ITransformable`

### cp

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

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

  Specified by:
    `cp` in interface `ITransformable`

### cp

    IVecI cp(IVecI v)

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

  Specified by:
    `cp` in interface `ITransformable`

### dif

    IVecI dif(IVecI v)

  create a new instance of difference

### dif

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

  create a new instance of difference

### diff

    IVecI diff(IVecI v)

  alias of dif

### diff

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

  alias of dif

### mid

    IVecI mid(IVecI v)

  create a new instance of midpoint

### mid

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

  create a new instance of midpoint

### sum

    IVecI sum(IVecI v)

  create a new instance of total summation

### sum

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

  create a new instance of total summation

### sum

    IVecI sum(IVecI... v)

  create a new instance of total summation

### bisect

    IVecI bisect(IVecI v)

  create a new instance of bisector

### bisect

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

  create a new instance of bisector

### sum

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

  create a new instance of weighted sum

### sum

    IVecI sum(IVecI v2,
              double w2)

  create a new instance of weighted sum

### sum

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

  create a new instance of weighted sum

### sum

    IVecI sum(IVecI v2,
              IDoubleI w2)

  create a new instance of weighted sum

### nml

    IVecI nml(IVecI v)

  alias of cross

### nml

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

  alias of cross

### nml

    IVecI nml(IVecI pt1,
              IVecI pt2)

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

### nml

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

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

### isValid

    boolean isValid()

  check if the content of vector is valid; no NaN value

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