igeo
Class IVec4R

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

public class IVec4R
extends IParameterObject
implements IVec4I, IVecI, IReferenceParameter

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


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.FromXYZ
           
static class IVec4R.FromXYZW
           
static class IVec4R.Mul
           
static class IVec4R.Neg
           
static class IVec4R.Ref
           
static class IVec4R.Rot
           
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.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(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVec4R add(IVecI u)
           
 IVec4R add(IVecI v, double f)
          scale add
 IVec4R add(IVecI v, IDoubleI f)
           
 double angle(ISwitchE e, IVecI u)
           
 double angle(ISwitchE e, IVecI u, IVecI axis)
           
 IDoubleR angle(ISwitchR r, IVecI u)
           
 IDoubleR angle(ISwitchR r, IVecI u, IVecI axis)
           
 double angle(IVecI u)
           
 double angle(IVecI u, IVecI axis)
           
 IVec4R bisect(IVecI v)
           
 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)
           
 IVec4R cp(IVecI v)
           
 IVec4R cross(IVecI u)
          cross now returns a new instance 2011/08/03
 IVec4R diff(IVecI v)
           
 double dist(ISwitchE e, IVecI v)
           
 IDoubleR dist(ISwitchR r, IVecI v)
           
 double dist(IVecI v)
           
 double dist2(ISwitchE e, IVecI v)
           
 IDoubleR dist2(ISwitchR r, IVecI v)
           
 double dist2(IVecI v)
          squared distance
 IVec4R div(double u)
           
 IVec4R div(IDoubleI u)
           
 double dot(ISwitchE e, IVecI u)
           
 IDoubleR dot(ISwitchR r, IVecI u)
           
 double dot(IVecI u)
           
 IVec4R dup()
          duplicate the instance
 boolean eq(ISwitchE e, IVecI v)
           
 boolean eq(ISwitchE e, IVecI v, double resolution)
           
 IBoolR eq(ISwitchR r, IVecI v)
           
 IBoolR eq(ISwitchR r, IVecI v, IDoubleI resolution)
           
 boolean eq(IVecI v)
          whether location is same or not
 boolean eq(IVecI v, double resolution)
           
 boolean eqW(ISwitchE e, IVec4I v)
           
 boolean eqW(ISwitchE e, IVec4I v, double resolution)
           
 IBoolR eqW(ISwitchR r, IVec4I v)
           
 IBoolR eqW(ISwitchR r, IVec4I v, IDoubleI resolution)
           
 boolean eqW(IVec4I v)
           
 boolean eqW(IVec4I v, double resolution)
           
 boolean eqX(ISwitchE e, IVecI v)
           
 boolean eqX(ISwitchE e, IVecI v, double resolution)
           
 IBoolR eqX(ISwitchR r, IVecI v)
           
 IBoolR eqX(ISwitchR r, IVecI v, IDoubleI resolution)
           
 boolean eqX(IVecI v)
           
 boolean eqX(IVecI v, double resolution)
           
 boolean eqY(ISwitchE e, IVecI v)
           
 boolean eqY(ISwitchE e, IVecI v, double resolution)
           
 IBoolR eqY(ISwitchR r, IVecI v)
           
 IBoolR eqY(ISwitchR r, IVecI v, IDoubleI resolution)
           
 boolean eqY(IVecI v)
           
 boolean eqY(IVecI v, double resolution)
           
 boolean eqZ(ISwitchE e, IVecI v)
           
 boolean eqZ(ISwitchE e, IVecI v, double resolution)
           
 IBoolR eqZ(ISwitchR r, IVecI v)
           
 IBoolR eqZ(ISwitchR r, IVecI v, IDoubleI resolution)
           
 boolean eqZ(IVecI v)
           
 boolean eqZ(IVecI v, double resolution)
           
 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()
           
 IVec4R len(double l)
           
 IVec4R len(IDoubleI l)
           
 double len(ISwitchE e)
           
 IDoubleR len(ISwitchR r)
           
 double len2()
          square of length
 double len2(ISwitchE e)
           
 IDoubleR len2(ISwitchR r)
           
 IVec4R mid(IVecI v)
           
 IVec4R mirror(IVecI planeDir)
          mirror is alias of ref
 IVec4R mirror(IVecI center, IVecI planeDir)
           
 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)
           
 IVec4R mv(IVecI v)
           
 IVec4R neg()
           
 IVec4R nml(IVecI v)
          alias of cross.
 IVec4R nml(IVecI pt1, IVecI pt2)
          create normal vector from 3 points of self, pt1 and pt2
 IVec4Op operator()
           
 IVec4R ref(IVecI planeDir)
          reflect(mirror) 3 dimensionally to the other side of the plane
 IVec4R ref(IVecI center, IVecI planeDir)
           
 IVec4R rev()
          alias of neg()
 IVec4R rot(IVecI axis, double angle)
           
 IVec4R rot(IVecI axis, IDoubleI angle)
           
 IVec4R rot(IVecI axis, IVecI destDir)
          rotate to destination direction vector
 IVec4R rot(IVecI center, IVecI axis, double angle)
           
 IVec4R rot(IVecI center, IVecI axis, IDoubleI angle)
           
 IVec4R rot(IVecI center, IVecI axis, IVecI destPt)
          rotate to destination point location
 IVec4R scale(double f)
           
 IVec4R scale(IDoubleI f)
          alias of mul
 IVec4R scale(IVecI center, double f)
           
 IVec4R scale(IVecI center, IDoubleI f)
           
 IVec4R scale1d(IVecI axis, double f)
          scale only in 1 direction
 IVec4R scale1d(IVecI axis, IDoubleI f)
           
 IVec4R scale1d(IVecI center, IVecI axis, double f)
           
 IVec4R scale1d(IVecI center, IVecI axis, IDoubleI f)
           
 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)
           
 IVec4R shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)
           
 IVec4R shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
           
 IVec4R shearXY(double sxy, double syx)
           
 IVec4R shearXY(IDoubleI sxy, IDoubleI syx)
           
 IVec4R shearXY(IVecI center, double sxy, double syx)
           
 IVec4R shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)
           
 IVec4R shearYZ(double syz, double szy)
           
 IVec4R shearYZ(IDoubleI syz, IDoubleI szy)
           
 IVec4R shearYZ(IVecI center, double syz, double szy)
           
 IVec4R shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)
           
 IVec4R shearZX(double szx, double sxz)
           
 IVec4R shearZX(IDoubleI szx, IDoubleI sxz)
           
 IVec4R shearZX(IVecI center, double szx, double sxz)
           
 IVec4R shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)
           
 IVec4R sub(double x, double y, double z)
           
 IVec4R sub(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVec4R sub(IVecI u)
           
 IVec4R sum(IVecI... v)
           
 IVec4R sum(IVecI v)
           
 IVec4R sum(IVecI v2, double w2)
           
 IVec4R sum(IVecI v2, double w1, double w2)
          weighted sum
 IVec4R sum(IVecI v2, IDoubleI w2)
           
 IVec4R sum(IVecI v2, IDoubleI w1, IDoubleI w2)
          weighted sum, creating a new instance
 IVec2R to2d()
           
 IVecR to3d()
           
 IVec4R to4d()
           
 IVec4R to4d(double w)
           
 IVec4R to4d(IDoubleI w)
           
 IVec4R transform(IMatrix3I mat)
           
 IVec4R transform(IMatrix4I mat)
           
 IVec4R transform(IVecI xvec, IVecI yvec, IVecI zvec)
           
 IVec4R transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)
           
 IVec4R translate(double x, double y, double z)
          translate is alias of add()
 IVec4R translate(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVec4R translate(IVecI v)
           
 IVec4R unit()
           
 double w()
           
 double x()
           
 double y()
           
 double z()
           
 
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()
Specified by:
x in interface IVec4I
Specified by:
x in interface IVecI

y

public double y()
Specified by:
y in interface IVec4I
Specified by:
y in interface IVecI

z

public double z()
Specified by:
z in interface IVec4I
Specified by:
z in interface IVecI

w

public double w()
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

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()
Description copied from interface: IVecI
alias of neg()

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

flip

public IVec4R flip()
Description copied from interface: ITransformable
alias of neg

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

add

public IVec4R add(IVecI v,
                  double f)
Description copied from interface: ITransformable
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)
Specified by:
add in interface ITransformable
Specified by:
add in interface IVec4I
Specified by:
add in interface IVecI

dot

public double dot(IVecI u)
Specified by:
dot in interface IVecI

dot

public double dot(ISwitchE e,
                  IVecI u)
Specified by:
dot in interface IVecI

dot

public IDoubleR dot(ISwitchR r,
                    IVecI u)
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

len

public double len()
Specified by:
len in interface IVecI

len

public double len(ISwitchE e)
Specified by:
len in interface IVecI

len

public IDoubleR len(ISwitchR r)
Specified by:
len in interface IVecI

len2

public double len2()
Description copied from interface: IVecI
square of length

Specified by:
len2 in interface IVecI

len2

public double len2(ISwitchE e)
Specified by:
len2 in interface IVecI

len2

public IDoubleR len2(ISwitchR r)
Specified by:
len2 in interface IVecI

len

public IVec4R len(IDoubleI l)
Specified by:
len in interface IVec4I
Specified by:
len in interface IVecI

len

public IVec4R len(double l)
Specified by:
len in interface IVec4I
Specified by:
len in interface IVecI

unit

public IVec4R unit()
Specified by:
unit in interface IVec4I
Specified by:
unit in interface IVecI

dist

public double dist(IVecI v)
Specified by:
dist in interface IVecI

dist

public double dist(ISwitchE e,
                   IVecI v)
Specified by:
dist in interface IVecI

dist

public IDoubleR dist(ISwitchR r,
                     IVecI v)
Specified by:
dist in interface IVecI

dist2

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

Specified by:
dist2 in interface IVecI

dist2

public double dist2(ISwitchE e,
                    IVecI v)
Specified by:
dist2 in interface IVecI

dist2

public IDoubleR dist2(ISwitchR r,
                      IVecI v)
Specified by:
dist2 in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eq

public boolean eq(ISwitchE e,
                  IVecI v)
Specified by:
eq in interface IVecI

eq

public IBoolR eq(ISwitchR r,
                 IVecI v)
Specified by:
eq in interface IVecI

eqX

public boolean eqX(IVecI v)
Specified by:
eqX in interface IVec4I
Specified by:
eqX in interface IVecI

eqY

public boolean eqY(IVecI v)
Specified by:
eqY in interface IVec4I
Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(IVecI v)
Specified by:
eqZ in interface IVec4I
Specified by:
eqZ in interface IVecI

eqW

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

eqX

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

eqY

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

eqZ

public boolean eqZ(ISwitchE e,
                   IVecI v)
Specified by:
eqZ in interface IVec4I
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)
Specified by:
eqX in interface IVec4I
Specified by:
eqX in interface IVecI

eqY

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

eqZ

public IBoolR eqZ(ISwitchR r,
                  IVecI v)
Specified by:
eqZ in interface IVec4I
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 resolution)
Specified by:
eq in interface IVecI

eq

public boolean eq(ISwitchE e,
                  IVecI v,
                  double resolution)
Specified by:
eq in interface IVecI

eq

public IBoolR eq(ISwitchR r,
                 IVecI v,
                 IDoubleI resolution)
Specified by:
eq in interface IVecI

eqX

public boolean eqX(IVecI v,
                   double resolution)
Specified by:
eqX in interface IVec4I
Specified by:
eqX in interface IVecI

eqY

public boolean eqY(IVecI v,
                   double resolution)
Specified by:
eqY in interface IVec4I
Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(IVecI v,
                   double resolution)
Specified by:
eqZ in interface IVec4I
Specified by:
eqZ in interface IVecI

eqW

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

eqX

public boolean eqX(ISwitchE e,
                   IVecI v,
                   double resolution)
Specified by:
eqX in interface IVec4I
Specified by:
eqX in interface IVecI

eqY

public boolean eqY(ISwitchE e,
                   IVecI v,
                   double resolution)
Specified by:
eqY in interface IVec4I
Specified by:
eqY in interface IVecI

eqZ

public boolean eqZ(ISwitchE e,
                   IVecI v,
                   double resolution)
Specified by:
eqZ in interface IVec4I
Specified by:
eqZ in interface IVecI

eqW

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

eqX

public IBoolR eqX(ISwitchR r,
                  IVecI v,
                  IDoubleI resolution)
Specified by:
eqX in interface IVec4I
Specified by:
eqX in interface IVecI

eqY

public IBoolR eqY(ISwitchR r,
                  IVecI v,
                  IDoubleI resolution)
Specified by:
eqY in interface IVec4I
Specified by:
eqY in interface IVecI

eqZ

public IBoolR eqZ(ISwitchR r,
                  IVecI v,
                  IDoubleI resolution)
Specified by:
eqZ in interface IVec4I
Specified by:
eqZ in interface IVecI

eqW

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

angle

public double angle(IVecI u)
Specified by:
angle in interface IVecI
Returns:
angle between two vector from 0 to Pi

angle

public double angle(ISwitchE e,
                    IVecI u)
Specified by:
angle in interface IVecI

angle

public IDoubleR angle(ISwitchR r,
                      IVecI u)
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(ISwitchE e,
                    IVecI u,
                    IVecI axis)
Specified by:
angle in interface IVecI

angle

public IDoubleR angle(ISwitchR r,
                      IVecI u,
                      IVecI axis)
Specified by:
angle in interface IVecI

rot

public IVec4R rot(IVecI axis,
                  IDoubleI angle)
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)
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,
                  IDoubleI angle)
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)
Specified by:
rot in interface ITransformable
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

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)
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)
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)
Specified by:
scale in interface ITransformable
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 IVecI

scale1d

public IVec4R scale1d(IVecI axis,
                      IDoubleI f)
Specified by:
scale1d in interface ITransformable
Specified by:
scale1d in interface IVecI

scale1d

public IVec4R scale1d(IVecI center,
                      IVecI axis,
                      double f)
Specified by:
scale1d in interface ITransformable
Specified by:
scale1d in interface IVecI

scale1d

public IVec4R scale1d(IVecI center,
                      IVecI axis,
                      IDoubleI f)
Specified by:
scale1d in interface ITransformable
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 IVecI

ref

public IVec4R ref(IVecI center,
                  IVecI planeDir)
Specified by:
ref in interface ITransformable
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(IVecI center,
                     IVecI planeDir)
Specified by:
mirror in interface ITransformable
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 IVecI

shear

public IVec4R shear(IDoubleI sxy,
                    IDoubleI syx,
                    IDoubleI syz,
                    IDoubleI szy,
                    IDoubleI szx,
                    IDoubleI sxz)
Specified by:
shear in interface ITransformable
Specified by:
shear in interface IVecI

shear

public IVec4R shear(IVecI center,
                    double sxy,
                    double syx,
                    double syz,
                    double szy,
                    double szx,
                    double sxz)
Specified by:
shear in interface ITransformable
Specified by:
shear in interface IVecI

shear

public IVec4R shear(IVecI center,
                    IDoubleI sxy,
                    IDoubleI syx,
                    IDoubleI syz,
                    IDoubleI szy,
                    IDoubleI szx,
                    IDoubleI sxz)
Specified by:
shear in interface ITransformable
Specified by:
shear in interface IVecI

shearXY

public IVec4R shearXY(double sxy,
                      double syx)
Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI

shearXY

public IVec4R shearXY(IDoubleI sxy,
                      IDoubleI syx)
Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI

shearXY

public IVec4R shearXY(IVecI center,
                      double sxy,
                      double syx)
Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI

shearXY

public IVec4R shearXY(IVecI center,
                      IDoubleI sxy,
                      IDoubleI syx)
Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI

shearYZ

public IVec4R shearYZ(double syz,
                      double szy)
Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI

shearYZ

public IVec4R shearYZ(IDoubleI syz,
                      IDoubleI szy)
Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI

shearYZ

public IVec4R shearYZ(IVecI center,
                      double syz,
                      double szy)
Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI

shearYZ

public IVec4R shearYZ(IVecI center,
                      IDoubleI syz,
                      IDoubleI szy)
Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI

shearZX

public IVec4R shearZX(double szx,
                      double sxz)
Specified by:
shearZX in interface ITransformable
Specified by:
shearZX in interface IVecI

shearZX

public IVec4R shearZX(IDoubleI szx,
                      IDoubleI sxz)
Specified by:
shearZX in interface ITransformable
Specified by:
shearZX in interface IVecI

shearZX

public IVec4R shearZX(IVecI center,
                      double szx,
                      double sxz)
Specified by:
shearZX in interface ITransformable
Specified by:
shearZX in interface IVecI

shearZX

public IVec4R shearZX(IVecI center,
                      IDoubleI szx,
                      IDoubleI sxz)
Specified by:
shearZX in interface ITransformable
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 IVecI

translate

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

translate

public IVec4R translate(IVecI v)
Specified by:
translate in interface ITransformable
Specified by:
translate in interface IVecI

transform

public IVec4R transform(IMatrix3I mat)
Specified by:
transform in interface ITransformable
Specified by:
transform in interface IVec4I
Specified by:
transform in interface IVecI

transform

public IVec4R transform(IMatrix4I mat)
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)
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)
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 IVecI

mv

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

mv

public IVec4R mv(IVecI v)
Specified by:
mv in interface ITransformable
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 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 IVecI

cp

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

cp

public IVec4R cp(IVecI v)
Specified by:
cp in interface ITransformable
Specified by:
cp in interface IVecI

diff

public IVec4R diff(IVecI v)
Specified by:
diff in interface IVec4I
Specified by:
diff in interface IVecI

mid

public IVec4R mid(IVecI v)
Specified by:
mid in interface IVec4I
Specified by:
mid in interface IVecI

sum

public IVec4R sum(IVecI v)
Specified by:
sum in interface IVec4I
Specified by:
sum in interface IVecI

sum

public IVec4R sum(IVecI... v)
Specified by:
sum in interface IVec4I
Specified by:
sum in interface IVecI

bisect

public IVec4R bisect(IVecI v)
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)
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: IVecI
weighted sum

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

sum

public IVec4R sum(IVecI v2,
                  double w2)
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 IVecI

nml

public IVec4R nml(IVecI pt1,
                  IVecI pt2)
create normal vector from 3 points of self, pt1 and pt2

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 IVec4I
Specified by:
isValid in interface IVecI