igeo
Class IVec4R

java.lang.Object
  extended by igeo.IParameterObject
      extended by igeo.IVec4R
All Implemented Interfaces:
IParameter, IReferenceParameter, ISubobject, ITransformable, IVal, IVec4I, IVec4Op, IVecI, IVecOp

public class IVec4R
extends IParameterObject
implements IVec4I, IVecI, IReferenceParameter

Reference class of 4 dimensional vector to be used as IParameterObject.

Author:
Satoru Sugihara

Nested Class Summary
static class IVec4R.Add
           
static class IVec4R.Cross
           
static class IVec4R.Dist
           
static class IVec4R.Dist2
           
static class IVec4R.Div
           
static class IVec4R.Eq
           
static class IVec4R.EqW
           
static class IVec4R.EqX
           
static class IVec4R.EqY
           
static class IVec4R.EqZ
           
static class IVec4R.FromVec
           
static class IVec4R.FromVecAndW
           
static class IVec4R.FromW
           
static class IVec4R.FromX
           
static class IVec4R.FromXYZ
           
static class IVec4R.FromXYZW
           
static class IVec4R.FromY
           
static class IVec4R.FromZ
           
static class IVec4R.Mul
           
static class IVec4R.Neg
           
static class IVec4R.Ref
           
static class IVec4R.Rot
           
static class IVec4R.Rot2
           
static class IVec4R.Scale1d
           
static class IVec4R.SetLen
           
static class IVec4R.Shear
           
static class IVec4R.Sub
           
static class IVec4R.ToVec
           
static class IVec4R.ToVec2
           
static class IVec4R.ToVec2WithAxis
           
static class IVec4R.ToVec2WithAxisAndOrigin
           
static class IVec4R.ToVec2WithProjection
           
static class IVec4R.Transform3
           
static class IVec4R.Transform4
           
static class IVec4R.TransformVec3
           
static class IVec4R.TransformVec4
           
static class IVec4R.Unit
           
static class IVec4R.W
           
static class IVec4R.X
           
static class IVec4R.Y
           
static class IVec4R.Z
           
 
Field Summary
protected  IVec4Op op
           
 
Fields inherited from class igeo.IParameterObject
parent
 
Constructor Summary
IVec4R(double x, double y, double z)
           
IVec4R(double x, double y, double z, double w)
           
IVec4R(IDoubleI x, IDoubleI y, IDoubleI z)
           
IVec4R(IDoubleI x, IDoubleI y, IDoubleI z, IDoubleI w)
           
IVec4R(IServerI s, double x, double y, double z)
           
IVec4R(IServerI s, double x, double y, double z, double w)
           
IVec4R(IServerI s, IDoubleI x, IDoubleI y, IDoubleI z)
           
IVec4R(IServerI s, IDoubleI x, IDoubleI y, IDoubleI z, IDoubleI w)
           
IVec4R(IServerI s, IVec4Op v)
           
IVec4R(IServerI s, IVecI v)
           
IVec4R(IServerI s, IVecI v, double w)
           
IVec4R(IServerI s, IVecI v, IDoubleI w)
           
IVec4R(IVec4Op v)
           
IVec4R(IVecI v)
           
IVec4R(IVecI v, double w)
           
IVec4R(IVecI v, IDoubleI w)
           
 
Method Summary
 IVec4R add(double x, double y, double z)
           
 IVec4R add(double f, IVecI v)
          scale add alias
 IVec4R add(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVec4R add(IDoubleI f, IVecI v)
          scale add alias
 IVec4R add(IVecI u)
           
 IVec4R add(IVecI v, double f)
          scale add
 IVec4R add(IVecI v, IDoubleI f)
          scale add
 double angle(double ux, double uy, double uz)
          get angle between two vector from 0 to Pi
 double angle(double ux, double uy, double uz, double axisX, double axisY, double axisZ)
           
 double angle(ISwitchE e, IVecI u)
          get angle between two vector from 0 to Pi
 double angle(ISwitchE e, IVecI u, IVecI axis)
           
 IDoubleR angle(ISwitchR r, IVecI u)
          get angle between two vector from 0 to Pi
 IDoubleR angle(ISwitchR r, IVecI u, IVecI axis)
           
 double angle(IVecI u)
          get angle between two vector from 0 to Pi
 double angle(IVecI u, IVecI axis)
           
 IVec4R bisect(double vx, double vy, double vz)
          create a new instance of bisector
 IVec4R bisect(IVecI v)
          create a new instance of bisector
 IVec4R cp()
          cp() is alias of dup()
 IVec4R cp(double x, double y, double z)
          cp() is alias of dup().add()
 IVec4R cp(IDoubleI x, IDoubleI y, IDoubleI z)
          cp() is alias of dup().add()
 IVec4R cp(IVecI v)
          cp() is alias of dup().add()
 IVec4R cross(double ux, double uy, double uz)
          cross product, creating a new instance
 IVec4R cross(IVecI u)
          cross now returns a new instance 2011/08/03
 IVec4R dif(double vx, double vy, double vz)
          create a new instance of difference
 IVec4R dif(IVecI v)
          create a new instance of difference
 IVec4R diff(double vx, double vy, double vz)
          alias of dif
 IVec4R 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
 IDoubleR 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
 IDoubleR dist2(ISwitchR r, IVecI v)
          squared distance of two vectors
 double dist2(IVecI v)
          squared distance of two vectors
 IVec4R div(double u)
           
 IVec4R div(IDoubleI u)
           
 double dot(double ux, double uy, double uz)
          dot product
 double dot(ISwitchE e, IVecI u)
          dot product
 IDoubleR dot(ISwitchR r, IVecI u)
          dot product
 double dot(IVecI u)
          dot product
 IVec4R 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
 IBoolR eq(ISwitchR r, IVecI v)
          check whether location is same or not
 IBoolR 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 eqW(double vw)
           
 boolean eqW(double vw, double tolerance)
           
 boolean eqW(ISwitchE e, IVec4I v)
           
 boolean eqW(ISwitchE e, IVec4I v, double tolerance)
           
 IBoolR eqW(ISwitchR r, IVec4I v)
           
 IBoolR eqW(ISwitchR r, IVec4I v, IDoubleI tolerance)
           
 boolean eqW(IVec4I v)
           
 boolean eqW(IVec4I v, double 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
 IBoolR eqX(ISwitchR r, IVecI v)
          check if same in X
 IBoolR 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
 IBoolR eqY(ISwitchR r, IVecI v)
          check if same in Y
 IBoolR 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
 IBoolR eqZ(ISwitchR r, IVecI v)
          check if same in Z
 IBoolR 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
 IVec4R flip()
          alias of neg()
 IVec4 get()
           
 IDoubleR getW()
           
 IDoubleR getX()
           
 IDoubleR getY()
           
 IDoubleR getZ()
           
 boolean isValid()
          checking x, y, and z is valid number (not Infinite, nor NaN).
 double len()
          getting length of the vector
 IVec4R len(double l)
          setting length
 IVec4R len(IDoubleI l)
          setting length
 double len(ISwitchE e)
          getting length of the vector
 IDoubleR 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
 IDoubleR len2(ISwitchR r)
          getting squared length of the vector
 IVec4R mid(double vx, double vy, double vz)
          create a new instance of midpoint
 IVec4R mid(IVecI v)
          create a new instance of midpoint
 IVec4R mirror(double planeX, double planeY, double planeZ)
          alias of ref
 IVec4R mirror(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)
          alias of ref
 IVec4R mirror(IVecI planeDir)
          mirror is alias of ref
 IVec4R mirror(IVecI center, IVecI planeDir)
          alias of ref
 IVec4R mul(double u)
           
 IVec4R mul(IDoubleI u)
           
 IVec4R mv(double x, double y, double z)
          mv() is alias of add()
 IVec4R mv(IDoubleI x, IDoubleI y, IDoubleI z)
          mv() is alias of add()
 IVec4R mv(IVecI v)
          mv() is alias of add()
 IVec4R neg()
           
 IVec4R nml(double vx, double vy, double vz)
          alias of cross.
 IVec4R 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
 IVec4R nml(IVecI v)
          alias of cross.
 IVec4R nml(IVecI pt1, IVecI pt2)
          create normal vector from 3 points of self, pt1 and pt2, not unitized
 IVec4Op operator()
           
 IVec4R ref(double planeX, double planeY, double planeZ)
          reflect(mirror) 3 dimensionally to the other side of the plane
 IVec4R ref(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)
          reflect(mirror) 3 dimensionally to the other side of the plane
 IVec4R ref(IVecI planeDir)
          reflect(mirror) 3 dimensionally to the other side of the plane
 IVec4R ref(IVecI center, IVecI planeDir)
          reflect(mirror) 3 dimensionally to the other side of the plane
 IVec4R rev()
          alias of neg()
 IVec4R rot(double angle)
          rotation on xy-plane
 IVec4R rot(double axisX, double axisY, double axisZ, double angle)
          rotation around axis
 IVec4R rot(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double angle)
          rotation around axis and center
 IVec4R rot(IDoubleI angle)
          rotation around z-axis and origin
 IVec4R rot(IVecI axis, double angle)
          rotation around axis
 IVec4R rot(IVecI axis, IDoubleI angle)
          rotation around axis vector
 IVec4R rot(IVecI axis, IVecI destDir)
          rotate to destination direction vector
 IVec4R rot(IVecI center, IVecI axis, double angle)
          rotation around axis and center
 IVec4R rot(IVecI center, IVecI axis, IDoubleI angle)
          rotation around axis vector and center
 IVec4R rot(IVecI center, IVecI axis, IVecI destPt)
          rotate to destination point location
 IVec4R rot2(double angle)
          alias of rot(double)
 IVec4R rot2(double centerX, double centerY, double angle)
          rotation on xy-plane at center
 IVec4R rot2(IDoubleI angle)
          alias of rot(IDoubleI)
 IVec4R rot2(IVecI destDir)
          rotation on xy-plane to destination direction vector
 IVec4R rot2(IVecI center, double angle)
          rotation on xy-plane at center
 IVec4R rot2(IVecI center, IDoubleI angle)
          rotation on xy-plane around center
 IVec4R rot2(IVecI center, IVecI destPt)
          rotation on xy-plane to destination point location
 IVec4R scale(double f)
          alias of mul
 IVec4R scale(double centerX, double centerY, double centerZ, double f)
          scale around center
 IVec4R scale(IDoubleI f)
          alias of mul
 IVec4R scale(IVecI center, double f)
          scale around center
 IVec4R scale(IVecI center, IDoubleI f)
          scale around center
 IVec4R scale1d(double axisX, double axisY, double axisZ, double f)
          scale only in 1 direction
 IVec4R scale1d(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double f)
          scale only in 1 direction from a center
 IVec4R scale1d(IVecI axis, double f)
          scale only in 1 direction
 IVec4R scale1d(IVecI axis, IDoubleI f)
          scale only in 1 direction
 IVec4R scale1d(IVecI center, IVecI axis, double f)
          scale only in 1 direction from a center
 IVec4R scale1d(IVecI center, IVecI axis, IDoubleI f)
          scale only in 1 direction from a center
 IVec4R set(double x, double y, double z)
           
 IVec4R set(double x, double y, double z, double w)
           
 IVec4R set(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVec4R set(IDoubleI x, IDoubleI y, IDoubleI z, IDoubleI w)
           
 IVec4R set(IVec4I u)
           
 IVec4R set(IVecI u)
           
 IVec4R set(IVecI v, double w)
           
 IVec4R set(IVecI v, IDoubleI w)
           
 IVec4R shear(double sxy, double syx, double syz, double szy, double szx, double sxz)
          shear operation
 IVec4R shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
          shear operation
 IVec4R shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)
          shear operation
 IVec4R shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
          shear operation
 IVec4R shearXY(double sxy, double syx)
          shear operation on XY
 IVec4R shearXY(IDoubleI sxy, IDoubleI syx)
          shear operation on XY
 IVec4R shearXY(IVecI center, double sxy, double syx)
          shear operation on XY
 IVec4R shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)
          shear operation on XY
 IVec4R shearYZ(double syz, double szy)
          shear operation on YZ
 IVec4R shearYZ(IDoubleI syz, IDoubleI szy)
          shear operation on YZ
 IVec4R shearYZ(IVecI center, double syz, double szy)
          shear operation on YZ
 IVec4R shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)
          shear operation on YZ
 IVec4R shearZX(double szx, double sxz)
          shear operation on ZX
 IVec4R shearZX(IDoubleI szx, IDoubleI sxz)
          shear operation on ZX
 IVec4R shearZX(IVecI center, double szx, double sxz)
          shear operation on ZX
 IVec4R shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)
          shear operation on ZX
 IVec4R sub(double x, double y, double z)
           
 IVec4R sub(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVec4R sub(IVecI u)
           
 IVec4R sum(double vx, double vy, double vz)
          create a new instance of total summation
 IVec4R sum(IVecI... v)
          create a new instance of total summation
 IVec4R sum(IVecI v)
          create a new instance of total summation
 IVec4R sum(IVecI v2, double w2)
          create a new instance of weighted sum
 IVec4R sum(IVecI v2, double w1, double w2)
          create a new instance of weighted sum
 IVec4R sum(IVecI v2, IDoubleI w2)
          create a new instance of weighted sum
 IVec4R sum(IVecI v2, IDoubleI w1, IDoubleI w2)
          weighted sum, creating a new instance
 IVec2R to2d()
           
 IVec2R to2d(IVecI projectionDir)
           
 IVec2R to2d(IVecI xaxis, IVecI yaxis)
           
 IVec2R to2d(IVecI xaxis, IVecI yaxis, IVecI origin)
           
 IVecR to3d()
           
 IVec4R to4d()
           
 IVec4R to4d(double w)
           
 IVec4R to4d(IDoubleI w)
           
 IVec4R transform(IMatrix3I mat)
          transform with a transformation matrix
 IVec4R transform(IMatrix4I mat)
          transform with a transformation matrix
 IVec4R transform(IVecI xvec, IVecI yvec, IVecI zvec)
          transform with a transformation vectors
 IVec4R transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)
          transform with a transformation vectors
 IVec4R translate(double x, double y, double z)
          translate is alias of add()
 IVec4R translate(IDoubleI x, IDoubleI y, IDoubleI z)
          alias of add()
 IVec4R translate(IVecI v)
          alias of add()
 IVec4R unit()
          unitize
 double w()
          getting w component
 IVec4R w(double vw)
          setting w component
 IVec4R w(IDoubleI vw)
          setting w component
 double w(ISwitchE e)
          getting w component
 IDoubleR w(ISwitchR r)
          getting w component
 double x()
          getting x component
 IVec4R x(double vx)
          setting x component
 IVec4R x(IDoubleI vx)
          setting x component
 double x(ISwitchE e)
          getting x component
 IDoubleR x(ISwitchR r)
          getting x component
 double y()
          getting y component
 IVec4R y(double vy)
          setting y component
 IVec4R y(IDoubleI vy)
          setting y component
 double y(ISwitchE e)
          getting y component
 IDoubleR y(ISwitchR r)
          getting y component
 double z()
          getting z component
 IVec4R z(double vz)
          setting z component
 IVec4R z(IDoubleI vz)
          setting z component
 double z(ISwitchE e)
          getting z component
 IDoubleR z(ISwitchR r)
          getting z component
 IVec4R zero()
          setting x,y,z zero (not w)
 
Methods inherited from class igeo.IParameterObject
createObject, parent, parent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

op

protected IVec4Op op
Constructor Detail

IVec4R

public IVec4R(IVec4Op v)

IVec4R

public IVec4R(IVecI v)

IVec4R

public IVec4R(IVecI v,
              double w)

IVec4R

public IVec4R(IVecI v,
              IDoubleI w)

IVec4R

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

IVec4R

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

IVec4R

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

IVec4R

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

IVec4R

public IVec4R(IServerI s,
              IVec4Op v)

IVec4R

public IVec4R(IServerI s,
              IVecI v)

IVec4R

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

IVec4R

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

IVec4R

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

IVec4R

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

IVec4R

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

IVec4R

public IVec4R(IServerI s,
              IDoubleI x,
              IDoubleI y,
              IDoubleI z)
Method Detail

x

public double x()
Description copied from interface: IVec4I
getting x component

Specified by:
x in interface IVec4I
Specified by:
x in interface IVecI

y

public double y()
Description copied from interface: IVec4I
getting y component

Specified by:
y in interface IVec4I
Specified by:
y in interface IVecI

z

public double z()
Description copied from interface: IVec4I
getting z component

Specified by:
z in interface IVec4I
Specified by:
z in interface IVecI

w

public double w()
Description copied from interface: IVec4I
getting w component

Specified by:
w in interface IVec4I

x

public IVec4R x(double vx)
setting x component

Specified by:
x in interface IVec4I
Specified by:
x in interface IVecI

y

public IVec4R y(double vy)
setting y component

Specified by:
y in interface IVec4I
Specified by:
y in interface IVecI

z

public IVec4R z(double vz)
setting z component

Specified by:
z in interface IVec4I
Specified by:
z in interface IVecI

w

public IVec4R w(double vw)
setting w component

Specified by:
w in interface IVec4I

x

public IVec4R x(IDoubleI vx)
setting x component

Specified by:
x in interface IVec4I
Specified by:
x in interface IVecI

y

public IVec4R y(IDoubleI vy)
setting y component

Specified by:
y in interface IVec4I
Specified by:
y in interface IVecI

z

public IVec4R z(IDoubleI vz)
setting z component

Specified by:
z in interface IVec4I
Specified by:
z in interface IVecI

w

public IVec4R w(IDoubleI vw)
setting w component

Specified by:
w in interface IVec4I

x

public double x(ISwitchE e)
getting x component

Specified by:
x in interface IVec4I
Specified by:
x in interface IVecI

y

public double y(ISwitchE e)
getting y component

Specified by:
y in interface IVec4I
Specified by:
y in interface IVecI

z

public double z(ISwitchE e)
getting z component

Specified by:
z in interface IVec4I
Specified by:
z in interface IVecI

w

public double w(ISwitchE e)
getting w component

Specified by:
w in interface IVec4I

x

public IDoubleR x(ISwitchR r)
getting x component

Specified by:
x in interface IVec4I
Specified by:
x in interface IVecI

y

public IDoubleR y(ISwitchR r)
getting y component

Specified by:
y in interface IVec4I
Specified by:
y in interface IVecI

z

public IDoubleR z(ISwitchR r)
getting z component

Specified by:
z in interface IVec4I
Specified by:
z in interface IVecI

w

public IDoubleR w(ISwitchR r)
getting w 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

dup

public IVec4R 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

to2d

public IVec2R to2d()
Specified by:
to2d in interface IVec4I
Specified by:
to2d in interface IVecI

to2d

public IVec2R to2d(IVecI projectionDir)
Specified by:
to2d in interface IVecI

to2d

public IVec2R to2d(IVecI xaxis,
                   IVecI yaxis)
Specified by:
to2d in interface IVecI

to2d

public IVec2R to2d(IVecI xaxis,
                   IVecI yaxis,
                   IVecI origin)
Specified by:
to2d in interface IVecI

to3d

public IVecR to3d()
Specified by:
to3d in interface IVec4I

to4d

public IVec4R to4d()
Specified by:
to4d in interface IVecI

to4d

public IVec4R to4d(double w)
Specified by:
to4d in interface IVecI

to4d

public IVec4R to4d(IDoubleI w)
Specified by:
to4d in interface IVecI

getX

public IDoubleR getX()
Specified by:
getX in interface IVec4I
Specified by:
getX in interface IVecI

getY

public IDoubleR getY()
Specified by:
getY in interface IVec4I
Specified by:
getY in interface IVecI

getZ

public IDoubleR getZ()
Specified by:
getZ in interface IVec4I
Specified by:
getZ in interface IVecI

getW

public IDoubleR getW()
Specified by:
getW in interface IVec4I

operator

public IVec4Op operator()
Specified by:
operator in interface IReferenceParameter

set

public IVec4R set(double x,
                  double y,
                  double z,
                  double w)
Specified by:
set in interface IVec4I

set

public IVec4R set(double x,
                  double y,
                  double z)
Specified by:
set in interface IVec4I
Specified by:
set in interface IVecI

set

public IVec4R set(IVec4I u)
Specified by:
set in interface IVec4I

set

public IVec4R set(IVecI u)
Specified by:
set in interface IVec4I
Specified by:
set in interface IVecI

set

public IVec4R set(IDoubleI x,
                  IDoubleI y,
                  IDoubleI z,
                  IDoubleI w)
Specified by:
set in interface IVec4I

set

public IVec4R set(IDoubleI x,
                  IDoubleI y,
                  IDoubleI z)
Specified by:
set in interface IVec4I
Specified by:
set in interface IVecI

set

public IVec4R set(IVecI v,
                  double w)
Specified by:
set in interface IVec4I

set

public IVec4R set(IVecI v,
                  IDoubleI w)
Specified by:
set in interface IVec4I

add

public IVec4R add(double x,
                  double y,
                  double z)
Specified by:
add in interface ITransformable
Specified by:
add in interface IVecI

add

public IVec4R add(IDoubleI x,
                  IDoubleI y,
                  IDoubleI z)
Specified by:
add in interface ITransformable
Specified by:
add in interface IVecI

add

public IVec4R add(IVecI u)
Specified by:
add in interface ITransformable
Specified by:
add in interface IVec4I
Specified by:
add in interface IVecI

sub

public IVec4R sub(double x,
                  double y,
                  double z)
Specified by:
sub in interface ITransformable
Specified by:
sub in interface IVecI

sub

public IVec4R sub(IDoubleI x,
                  IDoubleI y,
                  IDoubleI z)
Specified by:
sub in interface ITransformable
Specified by:
sub in interface IVecI

sub

public IVec4R sub(IVecI u)
Specified by:
sub in interface ITransformable
Specified by:
sub in interface IVec4I
Specified by:
sub in interface IVecI

mul

public IVec4R mul(IDoubleI u)
Specified by:
mul in interface ITransformable
Specified by:
mul in interface IVec4I
Specified by:
mul in interface IVecI

mul

public IVec4R mul(double u)
Specified by:
mul in interface ITransformable
Specified by:
mul in interface IVec4I
Specified by:
mul in interface IVecI

div

public IVec4R div(IDoubleI u)
Specified by:
div in interface ITransformable
Specified by:
div in interface IVec4I
Specified by:
div in interface IVecI

div

public IVec4R div(double u)
Specified by:
div in interface ITransformable
Specified by:
div in interface IVec4I
Specified by:
div in interface IVecI

neg

public IVec4R neg()
Specified by:
neg in interface ITransformable
Specified by:
neg in interface IVec4I
Specified by:
neg in interface IVecI

rev

public IVec4R rev()
alias of neg()

Specified by:
rev in interface IVec4I
Specified by:
rev in interface IVecI

flip

public IVec4R flip()
alias of neg()

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

zero

public IVec4R zero()
setting x,y,z zero (not w)

Specified by:
zero in interface IVec4I
Specified by:
zero in interface IVecI

add

public IVec4R 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

add

public IVec4R 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

add

public IVec4R 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

add

public IVec4R 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

dot

public double dot(IVecI u)
Description copied from interface: IVecI
dot product

Specified by:
dot in interface IVecI

dot

public double dot(double ux,
                  double uy,
                  double uz)
Description copied from interface: IVecI
dot product

Specified by:
dot in interface IVecI

dot

public double dot(ISwitchE e,
                  IVecI u)
Description copied from interface: IVecI
dot product

Specified by:
dot in interface IVecI

dot

public IDoubleR dot(ISwitchR r,
                    IVecI u)
Description copied from interface: IVecI
dot product

Specified by:
dot in interface IVecI

cross

public IVec4R cross(IVecI u)
cross now returns a new instance 2011/08/03

Specified by:
cross in interface IVec4I
Specified by:
cross in interface IVecI

cross

public IVec4R cross(double ux,
                    double uy,
                    double uz)
Description copied from interface: IVecI
cross product, creating a new instance

Specified by:
cross in interface IVec4I
Specified by:
cross in interface IVecI

len

public double len()
Description copied from interface: IVecI
getting length of the vector

Specified by:
len in interface IVecI

len

public double len(ISwitchE e)
Description copied from interface: IVecI
getting length of the vector

Specified by:
len in interface IVecI

len

public IDoubleR len(ISwitchR r)
Description copied from interface: IVecI
getting length of the vector

Specified by:
len in interface IVecI

len2

public double len2()
Description copied from interface: IVecI
getting squared length of the vector

Specified by:
len2 in interface IVecI

len2

public double len2(ISwitchE e)
Description copied from interface: IVecI
getting squared length of the vector

Specified by:
len2 in interface IVecI

len2

public IDoubleR len2(ISwitchR r)
Description copied from interface: IVecI
getting squared length of the vector

Specified by:
len2 in interface IVecI

len

public IVec4R len(IDoubleI l)
Description copied from interface: IVec4I
setting length

Specified by:
len in interface IVec4I
Specified by:
len in interface IVecI

len

public IVec4R len(double l)
Description copied from interface: IVec4I
setting length

Specified by:
len in interface IVec4I
Specified by:
len in interface IVecI

unit

public IVec4R unit()
Description copied from interface: IVecI
unitize

Specified by:
unit in interface IVec4I
Specified by:
unit in interface IVecI

dist

public double dist(IVecI v)
Description copied from interface: IVecI
distance of two vectors

Specified by:
dist in interface IVecI

dist

public double dist(double vx,
                   double vy,
                   double vz)
Description copied from interface: IVecI
distance of two vectors

Specified by:
dist in interface IVecI

dist

public double dist(ISwitchE e,
                   IVecI v)
Description copied from interface: IVecI
distance of two vectors

Specified by:
dist in interface IVecI

dist

public IDoubleR dist(ISwitchR r,
                     IVecI v)
Description copied from interface: IVecI
distance of two vectors

Specified by:
dist in interface IVecI

dist2

public double dist2(IVecI v)
Description copied from interface: IVecI
squared distance of two vectors

Specified by:
dist2 in interface IVecI

dist2

public double dist2(double vx,
                    double vy,
                    double vz)
Description copied from interface: IVecI
squared distance of two vectors

Specified by:
dist2 in interface IVecI

dist2

public double dist2(ISwitchE e,
                    IVecI v)
Description copied from interface: IVecI
squared distance of two vectors

Specified by:
dist2 in interface IVecI

dist2

public IDoubleR dist2(ISwitchR r,
                      IVecI v)
Description copied from interface: IVecI
squared distance of two vectors

Specified by:
dist2 in interface IVecI

eq

public boolean eq(IVecI v)
Description copied from interface: IVecI
check whether location is same or not

Specified by:
eq in interface IVecI

eq

public boolean eq(double vx,
                  double vy,
                  double vz)
Description copied from interface: IVecI
check whether location is same or not

Specified by:
eq in interface IVecI

eq

public boolean eq(ISwitchE e,
                  IVecI v)
Description copied from interface: IVecI
check whether location is same or not

Specified by:
eq in interface IVecI

eq

public IBoolR eq(ISwitchR r,
                 IVecI v)
Description copied from interface: IVecI
check whether location is same or not

Specified by:
eq in interface IVecI

eqX

public boolean eqX(IVecI v)
Description copied from interface: IVecI
check if same in X

Specified by:
eqX in interface IVecI

eqY

public boolean eqY(IVecI v)
Description copied from interface: IVecI
check if same in Y

Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(IVecI v)
Description copied from interface: IVecI
check if same in Z

Specified by:
eqZ in interface IVecI

eqW

public boolean eqW(IVec4I v)
Specified by:
eqW in interface IVec4I

eqX

public boolean eqX(double vx)
Description copied from interface: IVecI
check if same in X

Specified by:
eqX in interface IVecI

eqY

public boolean eqY(double vy)
Description copied from interface: IVecI
check if same in Y

Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(double vz)
Description copied from interface: IVecI
check if same in Z

Specified by:
eqZ in interface IVecI

eqW

public boolean eqW(double vw)
Specified by:
eqW in interface IVec4I

eqX

public boolean eqX(ISwitchE e,
                   IVecI v)
Description copied from interface: IVecI
check if same in X

Specified by:
eqX in interface IVecI

eqY

public boolean eqY(ISwitchE e,
                   IVecI v)
Description copied from interface: IVecI
check if same in Y

Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(ISwitchE e,
                   IVecI v)
Description copied from interface: IVecI
check if same in Z

Specified by:
eqZ in interface IVecI

eqW

public boolean eqW(ISwitchE e,
                   IVec4I v)
Specified by:
eqW in interface IVec4I

eqX

public IBoolR eqX(ISwitchR r,
                  IVecI v)
Description copied from interface: IVecI
check if same in X

Specified by:
eqX in interface IVecI

eqY

public IBoolR eqY(ISwitchR r,
                  IVecI v)
Description copied from interface: IVecI
check if same in Y

Specified by:
eqY in interface IVecI

eqZ

public IBoolR eqZ(ISwitchR r,
                  IVecI v)
Description copied from interface: IVecI
check if same in Z

Specified by:
eqZ in interface IVecI

eqW

public IBoolR eqW(ISwitchR r,
                  IVec4I v)
Specified by:
eqW in interface IVec4I

eq

public boolean eq(IVecI v,
                  double tolerance)
Description copied from interface: IVecI
check whether location is same or not with tolerance

Specified by:
eq in interface IVecI

eq

public boolean eq(double vx,
                  double vy,
                  double vz,
                  double tolerance)
Description copied from interface: IVecI
check whether location is same or not with tolerance

Specified by:
eq in interface IVecI

eq

public boolean eq(ISwitchE e,
                  IVecI v,
                  double tolerance)
Description copied from interface: IVecI
check whether location is same or not with tolerance

Specified by:
eq in interface IVecI

eq

public IBoolR eq(ISwitchR r,
                 IVecI v,
                 IDoubleI tolerance)
Description copied from interface: IVecI
check whether location is same or not with tolerance

Specified by:
eq in interface IVecI

eqX

public boolean eqX(IVecI v,
                   double tolerance)
Description copied from interface: IVecI
check if same in X with tolerance

Specified by:
eqX in interface IVecI

eqY

public boolean eqY(IVecI v,
                   double tolerance)
Description copied from interface: IVecI
check if same in Y with tolerance

Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(IVecI v,
                   double tolerance)
Description copied from interface: IVecI
check if same in Z with tolerance

Specified by:
eqZ in interface IVecI

eqW

public boolean eqW(IVec4I v,
                   double tolerance)
Specified by:
eqW in interface IVec4I

eqX

public boolean eqX(double vx,
                   double tolerance)
Description copied from interface: IVecI
check if same in X with tolerance

Specified by:
eqX in interface IVecI

eqY

public boolean eqY(double vy,
                   double tolerance)
Description copied from interface: IVecI
check if same in Y with tolerance

Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(double vz,
                   double tolerance)
Description copied from interface: IVecI
check if same in Z with tolerance

Specified by:
eqZ in interface IVecI

eqW

public boolean eqW(double vw,
                   double tolerance)
Specified by:
eqW in interface IVec4I

eqX

public boolean eqX(ISwitchE e,
                   IVecI v,
                   double tolerance)
Description copied from interface: IVecI
check if same in X with tolerance

Specified by:
eqX in interface IVecI

eqY

public boolean eqY(ISwitchE e,
                   IVecI v,
                   double tolerance)
Description copied from interface: IVecI
check if same in Y with tolerance

Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(ISwitchE e,
                   IVecI v,
                   double tolerance)
Description copied from interface: IVecI
check if same in Z with tolerance

Specified by:
eqZ in interface IVecI

eqW

public boolean eqW(ISwitchE e,
                   IVec4I v,
                   double tolerance)
Specified by:
eqW in interface IVec4I

eqX

public IBoolR eqX(ISwitchR r,
                  IVecI v,
                  IDoubleI tolerance)
Description copied from interface: IVecI
check if same in X with tolerance

Specified by:
eqX in interface IVecI

eqY

public IBoolR eqY(ISwitchR r,
                  IVecI v,
                  IDoubleI tolerance)
Description copied from interface: IVecI
check if same in Y with tolerance

Specified by:
eqY in interface IVecI

eqZ

public IBoolR eqZ(ISwitchR r,
                  IVecI v,
                  IDoubleI tolerance)
Description copied from interface: IVecI
check if same in Z with tolerance

Specified by:
eqZ in interface IVecI

eqW

public IBoolR eqW(ISwitchR r,
                  IVec4I v,
                  IDoubleI tolerance)
Specified by:
eqW in interface IVec4I

angle

public double angle(IVecI u)
Description copied from interface: IVecI
get angle between two vector from 0 to Pi

Specified by:
angle in interface IVecI

angle

public double angle(double ux,
                    double uy,
                    double uz)
Description copied from interface: IVecI
get angle between two vector from 0 to Pi

Specified by:
angle in interface IVecI

angle

public double angle(ISwitchE e,
                    IVecI u)
Description copied from interface: IVecI
get angle between two vector from 0 to Pi

Specified by:
angle in interface IVecI

angle

public IDoubleR angle(ISwitchR r,
                      IVecI u)
Description copied from interface: IVecI
get angle between two vector from 0 to Pi

Specified by:
angle in interface IVecI

angle

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

angle

public double angle(double ux,
                    double uy,
                    double uz,
                    double axisX,
                    double axisY,
                    double axisZ)
Specified by:
angle in interface IVecI
Returns:
angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

angle

public double angle(ISwitchE e,
                    IVecI u,
                    IVecI axis)
Specified by:
angle in interface IVecI
axis - axis to determin sign of angle following right-handed screw rule.
Returns:
angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

angle

public IDoubleR angle(ISwitchR r,
                      IVecI u,
                      IVecI axis)
Specified by:
angle in interface IVecI
axis - axis to determin sign of angle following right-handed screw rule.
Returns:
angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

rot

public IVec4R rot(IDoubleI angle)
Description copied from interface: ITransformable
rotation around z-axis and origin

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

rot

public IVec4R rot(double angle)
Description copied from interface: IVec4I
rotation on xy-plane

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

rot

public IVec4R 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

rot

public IVec4R rot(IVecI axis,
                  double angle)
Description copied from interface: IVec4I
rotation around axis

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

rot

public IVec4R rot(double axisX,
                  double axisY,
                  double axisZ,
                  double angle)
Description copied from interface: IVec4I
rotation around axis

Specified by:
rot in interface IVec4I
Specified by:
rot in interface IVecI

rot

public IVec4R 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

rot

public IVec4R rot(IVecI center,
                  IVecI axis,
                  double angle)
Description copied from interface: IVec4I
rotation around axis and center

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

rot

public IVec4R rot(double centerX,
                  double centerY,
                  double centerZ,
                  double axisX,
                  double axisY,
                  double axisZ,
                  double angle)
Description copied from interface: IVec4I
rotation around axis and center

Specified by:
rot in interface IVec4I
Specified by:
rot in interface IVecI

rot

public IVec4R rot(IVecI axis,
                  IVecI destDir)
Description copied from interface: ITransformable
rotate to destination direction vector

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

rot

public IVec4R rot(IVecI center,
                  IVecI axis,
                  IVecI destPt)
Description copied from interface: ITransformable
rotate to destination point location

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

rot2

public IVec4R 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

rot2

public IVec4R 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

rot2

public IVec4R rot2(IVecI center,
                   IDoubleI angle)
Description copied from interface: ITransformable
rotation on xy-plane around center

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

rot2

public IVec4R rot2(IVecI center,
                   double angle)
Description copied from interface: IVec4I
rotation on xy-plane at center

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

rot2

public IVec4R rot2(double centerX,
                   double centerY,
                   double angle)
Description copied from interface: IVec4I
rotation on xy-plane at center

Specified by:
rot2 in interface IVec4I
Specified by:
rot2 in interface IVecI

rot2

public IVec4R rot2(IVecI destDir)
Description copied from interface: ITransformable
rotation on xy-plane to destination direction vector

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

rot2

public IVec4R rot2(IVecI center,
                   IVecI destPt)
Description copied from interface: ITransformable
rotation on xy-plane to destination point location

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

scale

public IVec4R scale(IDoubleI f)
alias of mul

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

scale

public IVec4R scale(double f)
Description copied from interface: IVec4I
alias of mul

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

scale

public IVec4R scale(IVecI center,
                    IDoubleI f)
Description copied from interface: IVec4I
scale around center

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

scale

public IVec4R scale(IVecI center,
                    double f)
Description copied from interface: IVec4I
scale around center

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

scale

public IVec4R scale(double centerX,
                    double centerY,
                    double centerZ,
                    double f)
Description copied from interface: IVec4I
scale around center

Specified by:
scale in interface IVec4I
Specified by:
scale in interface IVecI

scale1d

public IVec4R scale1d(IVecI axis,
                      double f)
scale only in 1 direction

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

scale1d

public IVec4R scale1d(double axisX,
                      double axisY,
                      double axisZ,
                      double f)
Description copied from interface: IVec4I
scale only in 1 direction

Specified by:
scale1d in interface IVec4I
Specified by:
scale1d in interface IVecI

scale1d

public IVec4R scale1d(IVecI axis,
                      IDoubleI f)
Description copied from interface: IVec4I
scale only in 1 direction

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

scale1d

public IVec4R scale1d(IVecI center,
                      IVecI axis,
                      double f)
Description copied from interface: IVec4I
scale only in 1 direction from a center

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

scale1d

public IVec4R scale1d(double centerX,
                      double centerY,
                      double centerZ,
                      double axisX,
                      double axisY,
                      double axisZ,
                      double f)
Description copied from interface: IVec4I
scale only in 1 direction from a center

Specified by:
scale1d in interface IVec4I
Specified by:
scale1d in interface IVecI

scale1d

public IVec4R scale1d(IVecI center,
                      IVecI axis,
                      IDoubleI f)
Description copied from interface: IVec4I
scale only in 1 direction from a center

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

ref

public IVec4R ref(IVecI planeDir)
Description copied from interface: ITransformable
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

ref

public IVec4R ref(double planeX,
                  double planeY,
                  double planeZ)
Description copied from interface: IVec4I
reflect(mirror) 3 dimensionally to the other side of the plane

Specified by:
ref in interface IVec4I
Specified by:
ref in interface IVecI

ref

public IVec4R ref(IVecI center,
                  IVecI planeDir)
Description copied from interface: IVec4I
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

ref

public IVec4R ref(double centerX,
                  double centerY,
                  double centerZ,
                  double planeX,
                  double planeY,
                  double planeZ)
Description copied from interface: IVec4I
reflect(mirror) 3 dimensionally to the other side of the plane

Specified by:
ref in interface IVec4I
Specified by:
ref in interface IVecI

mirror

public IVec4R mirror(IVecI planeDir)
Description copied from interface: ITransformable
mirror is alias of ref

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

mirror

public IVec4R mirror(double planeX,
                     double planeY,
                     double planeZ)
Description copied from interface: IVec4I
alias of ref

Specified by:
mirror in interface IVec4I
Specified by:
mirror in interface IVecI

mirror

public IVec4R mirror(IVecI center,
                     IVecI planeDir)
Description copied from interface: IVec4I
alias of ref

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

mirror

public IVec4R mirror(double centerX,
                     double centerY,
                     double centerZ,
                     double planeX,
                     double planeY,
                     double planeZ)
Description copied from interface: IVec4I
alias of ref

Specified by:
mirror in interface IVec4I
Specified by:
mirror in interface IVecI

shear

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

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

shear

public IVec4R shear(IDoubleI sxy,
                    IDoubleI syx,
                    IDoubleI syz,
                    IDoubleI szy,
                    IDoubleI szx,
                    IDoubleI sxz)
Description copied from interface: IVec4I
shear operation

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

shear

public IVec4R shear(IVecI center,
                    double sxy,
                    double syx,
                    double syz,
                    double szy,
                    double szx,
                    double sxz)
Description copied from interface: IVec4I
shear operation

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

shear

public IVec4R shear(IVecI center,
                    IDoubleI sxy,
                    IDoubleI syx,
                    IDoubleI syz,
                    IDoubleI szy,
                    IDoubleI szx,
                    IDoubleI sxz)
Description copied from interface: IVec4I
shear operation

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

shearXY

public IVec4R shearXY(double sxy,
                      double syx)
Description copied from interface: IVec4I
shear operation on XY

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

shearXY

public IVec4R shearXY(IDoubleI sxy,
                      IDoubleI syx)
Description copied from interface: IVec4I
shear operation on XY

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

shearXY

public IVec4R shearXY(IVecI center,
                      double sxy,
                      double syx)
Description copied from interface: IVec4I
shear operation on XY

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

shearXY

public IVec4R shearXY(IVecI center,
                      IDoubleI sxy,
                      IDoubleI syx)
Description copied from interface: IVec4I
shear operation on XY

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

shearYZ

public IVec4R shearYZ(double syz,
                      double szy)
Description copied from interface: IVec4I
shear operation on YZ

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

shearYZ

public IVec4R shearYZ(IDoubleI syz,
                      IDoubleI szy)
Description copied from interface: IVec4I
shear operation on YZ

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

shearYZ

public IVec4R shearYZ(IVecI center,
                      double syz,
                      double szy)
Description copied from interface: IVec4I
shear operation on YZ

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

shearYZ

public IVec4R shearYZ(IVecI center,
                      IDoubleI syz,
                      IDoubleI szy)
Description copied from interface: IVec4I
shear operation on YZ

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

shearZX

public IVec4R shearZX(double szx,
                      double sxz)
Description copied from interface: IVec4I
shear operation on ZX

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

shearZX

public IVec4R shearZX(IDoubleI szx,
                      IDoubleI sxz)
Description copied from interface: IVec4I
shear operation on ZX

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

shearZX

public IVec4R shearZX(IVecI center,
                      double szx,
                      double sxz)
Description copied from interface: IVec4I
shear operation on ZX

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

shearZX

public IVec4R shearZX(IVecI center,
                      IDoubleI szx,
                      IDoubleI sxz)
Description copied from interface: IVec4I
shear operation on ZX

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

translate

public IVec4R translate(double x,
                        double y,
                        double z)
translate is alias of add()

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

translate

public IVec4R translate(IDoubleI x,
                        IDoubleI y,
                        IDoubleI z)
Description copied from interface: IVec4I
alias of add()

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

translate

public IVec4R translate(IVecI v)
Description copied from interface: IVec4I
alias of add()

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

transform

public IVec4R transform(IMatrix3I mat)
Description copied from interface: IVec4I
transform with a transformation matrix

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

transform

public IVec4R transform(IMatrix4I mat)
Description copied from interface: IVec4I
transform with a transformation matrix

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

transform

public IVec4R transform(IVecI xvec,
                        IVecI yvec,
                        IVecI zvec)
Description copied from interface: IVec4I
transform with a transformation vectors

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

transform

public IVec4R transform(IVecI xvec,
                        IVecI yvec,
                        IVecI zvec,
                        IVecI translate)
Description copied from interface: IVec4I
transform with a transformation vectors

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

mv

public IVec4R mv(double x,
                 double y,
                 double z)
mv() is alias of add()

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

mv

public IVec4R mv(IDoubleI x,
                 IDoubleI y,
                 IDoubleI z)
Description copied from interface: IVec4I
mv() is alias of add()

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

mv

public IVec4R mv(IVecI v)
Description copied from interface: IVec4I
mv() is alias of add()

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

cp

public IVec4R cp()
cp() is alias of dup()

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

cp

public IVec4R cp(double x,
                 double y,
                 double z)
cp() is alias of dup().add()

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

cp

public IVec4R cp(IDoubleI x,
                 IDoubleI y,
                 IDoubleI z)
Description copied from interface: IVec4I
cp() is alias of dup().add()

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

cp

public IVec4R cp(IVecI v)
Description copied from interface: IVec4I
cp() is alias of dup().add()

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

dif

public IVec4R dif(IVecI v)
Description copied from interface: IVec4I
create a new instance of difference

Specified by:
dif in interface IVec4I
Specified by:
dif in interface IVecI

dif

public IVec4R dif(double vx,
                  double vy,
                  double vz)
Description copied from interface: IVec4I
create a new instance of difference

Specified by:
dif in interface IVec4I
Specified by:
dif in interface IVecI

diff

public IVec4R diff(IVecI v)
Description copied from interface: IVec4I
alias of dif

Specified by:
diff in interface IVec4I
Specified by:
diff in interface IVecI

diff

public IVec4R diff(double vx,
                   double vy,
                   double vz)
Description copied from interface: IVec4I
alias of dif

Specified by:
diff in interface IVec4I
Specified by:
diff in interface IVecI

mid

public IVec4R mid(IVecI v)
Description copied from interface: IVec4I
create a new instance of midpoint

Specified by:
mid in interface IVec4I
Specified by:
mid in interface IVecI

mid

public IVec4R mid(double vx,
                  double vy,
                  double vz)
Description copied from interface: IVec4I
create a new instance of midpoint

Specified by:
mid in interface IVec4I
Specified by:
mid in interface IVecI

sum

public IVec4R sum(IVecI v)
Description copied from interface: IVec4I
create a new instance of total summation

Specified by:
sum in interface IVec4I
Specified by:
sum in interface IVecI

sum

public IVec4R sum(double vx,
                  double vy,
                  double vz)
Description copied from interface: IVec4I
create a new instance of total summation

Specified by:
sum in interface IVec4I
Specified by:
sum in interface IVecI

sum

public IVec4R sum(IVecI... v)
Description copied from interface: IVec4I
create a new instance of total summation

Specified by:
sum in interface IVec4I
Specified by:
sum in interface IVecI

bisect

public IVec4R bisect(IVecI v)
Description copied from interface: IVec4I
create a new instance of bisector

Specified by:
bisect in interface IVec4I
Specified by:
bisect in interface IVecI

bisect

public IVec4R bisect(double vx,
                     double vy,
                     double vz)
Description copied from interface: IVec4I
create a new instance of bisector

Specified by:
bisect in interface IVec4I
Specified by:
bisect in interface IVecI

sum

public IVec4R sum(IVecI v2,
                  IDoubleI w1,
                  IDoubleI w2)
weighted sum, creating a new instance

Specified by:
sum in interface IVec4I
Specified by:
sum in interface IVecI

sum

public IVec4R sum(IVecI v2,
                  IDoubleI w2)
Description copied from interface: IVec4I
create a new instance of weighted sum

Specified by:
sum in interface IVec4I
Specified by:
sum in interface IVecI

sum

public IVec4R sum(IVecI v2,
                  double w1,
                  double w2)
Description copied from interface: IVec4I
create a new instance of weighted sum

Specified by:
sum in interface IVec4I
Specified by:
sum in interface IVecI

sum

public IVec4R sum(IVecI v2,
                  double w2)
Description copied from interface: IVec4I
create a new instance of weighted sum

Specified by:
sum in interface IVec4I
Specified by:
sum in interface IVecI

nml

public IVec4R nml(IVecI v)
alias of cross. (not unitized ... )

Specified by:
nml in interface IVec4I
Specified by:
nml in interface IVecI

nml

public IVec4R nml(double vx,
                  double vy,
                  double vz)
alias of cross. (not unitized ... )

Specified by:
nml in interface IVec4I
Specified by:
nml in interface IVecI

nml

public IVec4R 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

nml

public IVec4R 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

isValid

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

Specified by:
isValid in interface IVecI