igeo
Class IVec4

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

public class IVec4
extends IVec
implements IVec4I, IEntityParameter

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


Field Summary
 double w
           
 
Fields inherited from class igeo.IVec
origin, x, xaxis, y, yaxis, z, zaxis
 
Fields inherited from class igeo.IParameterObject
parent
 
Constructor Summary
IVec4()
           
IVec4(double x, double y, double z)
           
IVec4(double x, double y, double z, double w)
           
IVec4(IDoubleI x, IDoubleI y, IDoubleI z)
           
IVec4(IDoubleI x, IDoubleI y, IDoubleI z, IDoubleI w)
           
IVec4(IServerI s)
           
IVec4(IServerI s, double x, double y, double z)
           
IVec4(IServerI s, double x, double y, double z, double w)
           
IVec4(IServerI s, IDoubleI x, IDoubleI y, IDoubleI z)
           
IVec4(IServerI s, IDoubleI x, IDoubleI y, IDoubleI z, IDoubleI w)
           
IVec4(IServerI s, IVec v)
           
IVec4(IServerI s, IVec4 v)
           
IVec4(IServerI s, IVec4I v)
           
IVec4(IServerI s, IVec v, double w)
           
IVec4(IServerI s, IVecI v)
           
IVec4(IServerI s, IVecI v, double w)
           
IVec4(IServerI s, IVecI v, IDoubleI w)
           
IVec4(IVec v)
           
IVec4(IVec4 v)
           
IVec4(IVec4I v)
           
IVec4(IVec v, double w)
           
IVec4(IVecI v)
           
IVec4(IVecI v, double w)
           
IVec4(IVecI v, IDoubleI w)
           
 
Method Summary
 IVec4 add(double x, double y, double z)
           
 IVec4 add(double f, IVec v)
          scale add alias
 IVec4 add(double f, IVecI v)
          scale add alias
 IVec4 add(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVec4 add(IDoubleI f, IVecI v)
          scale add alias
 IVec4 add(IVec v)
           
 IVec4 add(IVec v, double f)
          scale add
 IVec4 add(IVecI v)
           
 IVec4 add(IVecI v, double f)
          scale add
 IVec4 add(IVecI v, IDoubleI f)
          scale add
 IVec4 bisect(IVec v)
           
 IVec4 bisect(IVecI v)
          create a new instance of bisector
 IVec4 cp()
          cp() is alias of dup()
 IVec4 cp(double x, double y, double z)
          cp() is alias of dup().add()
 IVec4 cp(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVec4 cp(IVecI v)
           
 IVec4 cross(IVec v)
          cross returns a new instance
 IVec4 cross(IVecI v)
          cross product creates a new instance
 IVec4 dif(IVec v)
          methods creating new instance
 IVec4 dif(IVecI v)
          create a new instance of difference
 IVec4 diff(IVec v)
           
 IVec4 diff(IVecI v)
          alias of dif
 IVec4 div(double v)
           
 IVec4 div(IDoubleI v)
           
 IVec4 dup()
          duplicate the instance
 boolean eqW(ISwitchE e, IVec4I v)
           
 boolean eqW(ISwitchE e, IVec4I v, double resolution)
           
 IBool eqW(ISwitchR r, IVec4I v)
           
 IBool eqW(ISwitchR r, IVec4I v, IDoubleI resolution)
           
 boolean eqW(IVec4 v, double resolution)
           
 boolean eqW(IVec4I v)
           
 boolean eqW(IVec4I v, double resolution)
           
 IVec4 flip()
          note that it's not negating w
 IVec4 get()
           
 IDouble getW()
           
 boolean isValid()
          checking x, y, and z is valid number (not Infinite, nor NaN).
 IVec4 len(double l)
           
 IVec4 len(IDoubleI l)
           
 IVec4 mid(IVec v)
           
 IVec4 mid(IVecI v)
          create a new instance of midpoint
 IVec4 mirror(IVec planeDir)
           
 IVec4 mirror(IVecI planeDir)
          mirror is alias of ref
 IVec4 mirror(IVecI center, IVecI planeDir)
           
 IVec4 mirror(IVec center, IVec planeDir)
           
 IVec4 mul(double v)
           
 IVec4 mul(IDoubleI v)
           
 IVec4 mv(double x, double y, double z)
          mv() is alias of add()
 IVec4 mv(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVec4 mv(IVecI v)
           
 IVec4 neg()
          note that it's not negating w
 IVec4 nml(IVecI v)
          alias of cross.
 IVec nml(IVecI pt1, IVecI pt2)
          create normal vector from 3 points of self, pt1 and pt2
 IVec4 ref(IVec planeDir)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IVec4 ref(IVecI planeDir)
          reflect(mirror) 3 dimensionally to the other side of the plane
 IVec4 ref(IVecI center, IVecI planeDir)
           
 IVec4 ref(IVec center, IVec planeDir)
           
 IVec4 rev()
          note that it's not negating w
 IVec4 rot(double angle)
          rotation on xy-plane
 IVec4 rot(IDoubleI angle)
          rotation on xy-plane
 IVec4 rot(IVec axis, double angle)
           
 IVec4 rot(IVecI axis, double angle)
          rotation around axis
 IVec4 rot(IVecI axis, IDoubleI angle)
          rotation around axis vector
 IVec4 rot(IVecI axis, IVecI destDir)
          rotate to destination direction vector
 IVec4 rot(IVecI center, IVecI axis, double angle)
           
 IVec4 rot(IVecI center, IVecI axis, IDoubleI angle)
          rotation around axis vector and center
 IVec4 rot(IVecI center, IVecI axis, IVecI destPt)
          rotate to destination point location
 IVec4 rot(IVec axis, IVec destDir)
           
 IVec4 rot(IVec center, IVec axis, double angle)
           
 IVec4 rot(IVec center, IVec axis, IVec destPt)
           
 IVec4 rot2(double angle)
          alias of rot(double)
 IVec4 rot2(IDoubleI angle)
          alias of rot(IDoubleI)
 IVec4 rot2(IVec destDir)
          rotation on xy-plane towards destDir
 IVec4 rot2(IVec center, double angle)
          rotation on xy-plane
 IVec4 rot2(IVecI destDir)
          rotation on xy-plane towards destDir
 IVec4 rot2(IVecI center, double angle)
          rotation on xy-plane
 IVec4 rot2(IVecI center, IDoubleI angle)
          rotation on xy-plane
 IVec4 rot2(IVecI center, IVecI destPt)
          rotation on xy-plane towards destPt
 IVec4 rot2(IVec center, IVec destPt)
          rotation on xy-plane towards destPt
 IVec4 scale(double f)
           
 IVec4 scale(IDoubleI f)
          alias of mul
 IVec4 scale(IVec center, double f)
           
 IVec4 scale(IVecI center, double f)
           
 IVec4 scale(IVecI center, IDoubleI f)
           
 IVec4 scale1d(IVec axis, double f)
          scale only in 1 direction
 IVec4 scale1d(IVecI axis, double f)
          scale only in 1 direction
 IVec4 scale1d(IVecI axis, IDoubleI f)
           
 IVec4 scale1d(IVecI center, IVecI axis, double f)
           
 IVec4 scale1d(IVecI center, IVecI axis, IDoubleI f)
           
 IVec4 set(double x, double y, double z)
           
 IVec4 set(double x, double y, double z, double w)
           
 IVec4 set(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVec4 set(IDoubleI x, IDoubleI y, IDoubleI z, IDoubleI w)
           
 IVec4 set(IVec v)
           
 IVec4 set(IVec4 v)
           
 IVec4 set(IVec4I v)
           
 IVec4 set(IVec v, double w)
           
 IVec4 set(IVecI v)
           
 IVec4 set(IVecI v, double w)
           
 IVec4 set(IVecI v, IDoubleI w)
           
 IVec4 shear(double sxy, double syx, double syz, double szy, double szx, double sxz)
          shear operation
 IVec4 shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
           
 IVec4 shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)
           
 IVec4 shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
           
 IVec4 shearXY(double sxy, double syx)
           
 IVec4 shearXY(IDoubleI sxy, IDoubleI syx)
           
 IVec4 shearXY(IVecI center, double sxy, double syx)
           
 IVec4 shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)
           
 IVec4 shearYZ(double syz, double szy)
           
 IVec4 shearYZ(IDoubleI syz, IDoubleI szy)
           
 IVec4 shearYZ(IVecI center, double syz, double szy)
           
 IVec4 shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)
           
 IVec4 shearZX(double szx, double sxz)
           
 IVec4 shearZX(IDoubleI szx, IDoubleI sxz)
           
 IVec4 shearZX(IVecI center, double szx, double sxz)
           
 IVec4 shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)
           
 IVec4 sub(double x, double y, double z)
           
 IVec4 sub(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVec4 sub(IVec v)
           
 IVec4 sub(IVecI v)
           
 IVec4 sum(IVec... v)
           
 IVec4 sum(IVec v)
           
 IVec4 sum(IVec v2, double w2)
           
 IVec4 sum(IVec v2, double w1, double w2)
          weighted sum, creating new instance
 IVec4 sum(IVecI... v)
          create a new instance of total summation
 IVec4 sum(IVecI v)
          create a new instance of total summation
 IVec4 sum(IVecI v2, double w2)
           
 IVec4 sum(IVecI v2, double w1, double w2)
          weighted sum
 IVec4 sum(IVecI v2, IDoubleI w2)
           
 IVec4 sum(IVecI v2, IDoubleI w1, IDoubleI w2)
           
 IVec2 to2d()
           
 IVec to3d()
           
 IVec4 to4d()
           
 IVec4 to4d(double w)
           
 IVec4 to4d(IDoubleI w)
           
 java.lang.String toString()
           
 IVec4 transform(IMatrix3I mat)
           
 IVec4 transform(IMatrix4I mat)
           
 IVec4 transform(IVecI xvec, IVecI yvec, IVecI zvec)
           
 IVec4 transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)
           
 IVec4 transform(IVec xvec, IVec yvec, IVec zvec)
           
 IVec4 transform(IVec xvec, IVec yvec, IVec zvec, IVec translate)
           
 IVec4 translate(double x, double y, double z)
          translate() is alias of add()
 IVec4 translate(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVec4 translate(IVecI v)
           
 IVec4 unit()
           
 double w()
           
 IVec4 zero()
          note that w is not set zero
 
Methods inherited from class igeo.IVec
angle, angle, angle, angle, angle, angle, angle, angle, angle, averageNormal, averageNormal, decompose, dist, dist, dist, dist, dist2, dist2, dist2, dist2, distanceToPlane, div, dot, dot, dot, dot, eq, eq, eq, eq, eq, eq, eq, eq, eqX, eqX, eqX, eqX, eqX, eqX, eqX, eqX, eqY, eqY, eqY, eqY, eqY, eqY, eqY, eqY, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, getNormal, getNormal, getNormal, getNormal, getX, getY, getZ, icross, intersect, intersectSegments, isArrayEqual, isArrayEqual, isFlat, isFlat, isOnPlane, isOnPlane, isOnPlane, isOnPlane, isParallel, isParallel, isStraight, isStraight, len, len, len, len2, len2, len2, mul, nml, offset, offset, offset, offset, offset, offset, offset, offset, offset, offset, offset, offset, offset, offset, perpendicularVectorToLine, perpendicularVectorToVector, projectTo2Vec, projectToLine, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToPlane, projectToVec, show, show, show, show, x, y, z
 
Methods inherited from class igeo.IParameterObject
createObject, parent, parent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface igeo.IVec4I
eqX, eqX, eqX, eqX, eqX, eqX, eqY, eqY, eqY, eqY, eqY, eqY, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, getX, getY, getZ, x, y, z
 
Methods inherited from interface igeo.IVecI
angle, angle, angle, angle, angle, angle, dist, dist, dist, dist2, dist2, dist2, dot, dot, dot, eq, eq, eq, eq, eq, eq, len, len, len, len2, len2, len2
 

Field Detail

w

public double w
Constructor Detail

IVec4

public IVec4()

IVec4

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

IVec4

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

IVec4

public IVec4(IVec4 v)

IVec4

public IVec4(IVec4I v)

IVec4

public IVec4(IVec v)

IVec4

public IVec4(IVecI v)

IVec4

public IVec4(IVec v,
             double w)

IVec4

public IVec4(IVecI v,
             double w)

IVec4

public IVec4(IVecI v,
             IDoubleI w)

IVec4

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

IVec4

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

IVec4

public IVec4(IServerI s)

IVec4

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

IVec4

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

IVec4

public IVec4(IServerI s,
             IVec4 v)

IVec4

public IVec4(IServerI s,
             IVec4I v)

IVec4

public IVec4(IServerI s,
             IVec v)

IVec4

public IVec4(IServerI s,
             IVecI v)

IVec4

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

IVec4

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

IVec4

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

IVec4

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

IVec4

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

w

public double w()
Specified by:
w in interface IVec4I

get

public IVec4 get()
Specified by:
get in interface IParameter
Specified by:
get in interface IVec4I
Specified by:
get in interface IVec4Op
Specified by:
get in interface IVecI
Specified by:
get in interface IVecOp
Overrides:
get in class IVec

dup

public IVec4 dup()
Description copied from interface: ITransformable
duplicate the instance

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

to3d

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

to2d

public IVec2 to2d()
Specified by:
to2d in interface IVec4I
Specified by:
to2d in interface IVecI
Overrides:
to2d in class IVec

to4d

public IVec4 to4d()
Specified by:
to4d in interface IVecI
Overrides:
to4d in class IVec

to4d

public IVec4 to4d(double w)
Specified by:
to4d in interface IVecI
Overrides:
to4d in class IVec

to4d

public IVec4 to4d(IDoubleI w)
Specified by:
to4d in interface IVecI
Overrides:
to4d in class IVec

getW

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

set

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

set

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

set

public IVec4 set(IVec4 v)

set

public IVec4 set(IVec v,
                 double w)

set

public IVec4 set(IVec4I v)
Specified by:
set in interface IVec4I

set

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

set

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

set

public IVec4 set(IVec v)
Overrides:
set in class IVec

set

public IVec4 set(IVecI v)
Specified by:
set in interface IVec4I
Specified by:
set in interface IVecI
Overrides:
set in class IVec

set

public IVec4 set(double x,
                 double y,
                 double z)
Specified by:
set in interface IVec4I
Specified by:
set in interface IVecI
Overrides:
set in class IVec

set

public IVec4 set(IDoubleI x,
                 IDoubleI y,
                 IDoubleI z)
Specified by:
set in interface IVec4I
Specified by:
set in interface IVecI
Overrides:
set in class IVec

add

public IVec4 add(double x,
                 double y,
                 double z)
Specified by:
add in interface ITransformable
Specified by:
add in interface IVecI
Overrides:
add in class IVec

add

public IVec4 add(IDoubleI x,
                 IDoubleI y,
                 IDoubleI z)
Specified by:
add in interface ITransformable
Specified by:
add in interface IVecI
Overrides:
add in class IVec

add

public IVec4 add(IVec v)
Overrides:
add in class IVec

add

public IVec4 add(IVecI v)
Specified by:
add in interface ITransformable
Specified by:
add in interface IVec4I
Specified by:
add in interface IVecI
Overrides:
add in class IVec

sub

public IVec4 sub(double x,
                 double y,
                 double z)
Specified by:
sub in interface ITransformable
Specified by:
sub in interface IVecI
Overrides:
sub in class IVec

sub

public IVec4 sub(IDoubleI x,
                 IDoubleI y,
                 IDoubleI z)
Specified by:
sub in interface ITransformable
Specified by:
sub in interface IVecI
Overrides:
sub in class IVec

sub

public IVec4 sub(IVec v)
Overrides:
sub in class IVec

sub

public IVec4 sub(IVecI v)
Specified by:
sub in interface ITransformable
Specified by:
sub in interface IVec4I
Specified by:
sub in interface IVecI
Overrides:
sub in class IVec

mul

public IVec4 mul(IDoubleI v)
Specified by:
mul in interface ITransformable
Specified by:
mul in interface IVec4I
Specified by:
mul in interface IVecI
Overrides:
mul in class IVec

mul

public IVec4 mul(double v)
Specified by:
mul in interface ITransformable
Specified by:
mul in interface IVec4I
Specified by:
mul in interface IVecI
Overrides:
mul in class IVec

div

public IVec4 div(IDoubleI v)
Specified by:
div in interface ITransformable
Specified by:
div in interface IVec4I
Specified by:
div in interface IVecI
Overrides:
div in class IVec

div

public IVec4 div(double v)
Specified by:
div in interface ITransformable
Specified by:
div in interface IVec4I
Specified by:
div in interface IVecI
Overrides:
div in class IVec

neg

public IVec4 neg()
note that it's not negating w

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

rev

public IVec4 rev()
note that it's not negating w

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

flip

public IVec4 flip()
note that it's not negating w

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

zero

public IVec4 zero()
note that w is not set zero

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

add

public IVec4 add(IVec v,
                 double f)
scale add

Overrides:
add in class IVec

add

public IVec4 add(IVecI v,
                 double f)
scale add

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

add

public IVec4 add(IVecI v,
                 IDoubleI f)
scale add

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

add

public IVec4 add(double f,
                 IVec v)
scale add alias

Overrides:
add in class IVec

add

public IVec4 add(double f,
                 IVecI v)
scale add alias

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

add

public IVec4 add(IDoubleI f,
                 IVecI v)
scale add alias

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

len

public IVec4 len(IDoubleI l)
Specified by:
len in interface IVec4I
Specified by:
len in interface IVecI
Overrides:
len in class IVec

len

public IVec4 len(double l)
Specified by:
len in interface IVec4I
Specified by:
len in interface IVecI
Overrides:
len in class IVec

unit

public IVec4 unit()
Specified by:
unit in interface IVec4I
Specified by:
unit in interface IVecI
Overrides:
unit in class IVec

cross

public IVec4 cross(IVec v)
cross returns a new instance

Overrides:
cross in class IVec

cross

public IVec4 cross(IVecI v)
Description copied from interface: IVecI
cross product creates a new instance

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

eqW

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

eqW

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

eqW

public boolean eqW(IVec4 v,
                   double resolution)

eqW

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

eqW

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

eqW

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

eqW

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

rot

public IVec4 rot(IDoubleI angle)
Description copied from class: IVec
rotation on xy-plane

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

rot

public IVec4 rot(double angle)
Description copied from class: IVec
rotation on xy-plane

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

rot

public IVec4 rot(IVecI axis,
                 IDoubleI angle)
Description copied from interface: ITransformable
rotation around axis vector

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

rot

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

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

rot

public IVec4 rot(IVec axis,
                 double angle)
Overrides:
rot in class IVec

rot

public IVec4 rot(IVecI center,
                 IVecI axis,
                 IDoubleI angle)
Description copied from interface: ITransformable
rotation around axis vector and center

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

rot

public IVec4 rot(IVecI center,
                 IVecI axis,
                 double angle)
Specified by:
rot in interface ITransformable
Specified by:
rot in interface IVec4I
Specified by:
rot in interface IVecI
Overrides:
rot in class IVec

rot

public IVec4 rot(IVec center,
                 IVec axis,
                 double angle)
Overrides:
rot in class IVec

rot

public IVec4 rot(IVec axis,
                 IVec destDir)
Overrides:
rot in class IVec

rot

public IVec4 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
Overrides:
rot in class IVec

rot

public IVec4 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
Overrides:
rot in class IVec

rot

public IVec4 rot(IVec center,
                 IVec axis,
                 IVec destPt)
Overrides:
rot in class IVec

rot2

public IVec4 rot2(IDoubleI angle)
alias of rot(IDoubleI)

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

rot2

public IVec4 rot2(double angle)
alias of rot(double)

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

rot2

public IVec4 rot2(IVecI center,
                  IDoubleI angle)
Description copied from class: IVec
rotation on xy-plane

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

rot2

public IVec4 rot2(IVecI center,
                  double angle)
Description copied from class: IVec
rotation on xy-plane

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

rot2

public IVec4 rot2(IVec center,
                  double angle)
Description copied from class: IVec
rotation on xy-plane

Overrides:
rot2 in class IVec

rot2

public IVec4 rot2(IVec destDir)
Description copied from class: IVec
rotation on xy-plane towards destDir

Overrides:
rot2 in class IVec

rot2

public IVec4 rot2(IVecI destDir)
Description copied from class: IVec
rotation on xy-plane towards destDir

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

rot2

public IVec4 rot2(IVecI center,
                  IVecI destPt)
Description copied from class: IVec
rotation on xy-plane towards destPt

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

rot2

public IVec4 rot2(IVec center,
                  IVec destPt)
Description copied from class: IVec
rotation on xy-plane towards destPt

Overrides:
rot2 in class IVec

scale

public IVec4 scale(IDoubleI f)
alias of mul

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

scale

public IVec4 scale(double f)
Specified by:
scale in interface ITransformable
Specified by:
scale in interface IVec4I
Specified by:
scale in interface IVecI
Overrides:
scale in class IVec

scale

public IVec4 scale(IVecI center,
                   IDoubleI f)
Specified by:
scale in interface ITransformable
Specified by:
scale in interface IVec4I
Specified by:
scale in interface IVecI
Overrides:
scale in class IVec

scale

public IVec4 scale(IVecI center,
                   double f)
Specified by:
scale in interface ITransformable
Specified by:
scale in interface IVec4I
Specified by:
scale in interface IVecI
Overrides:
scale in class IVec

scale

public IVec4 scale(IVec center,
                   double f)
Overrides:
scale in class IVec

scale1d

public IVec4 scale1d(IVec axis,
                     double f)
scale only in 1 direction

Overrides:
scale1d in class IVec

scale1d

public IVec4 scale1d(IVecI axis,
                     double f)
Description copied from interface: ITransformable
scale only in 1 direction

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

scale1d

public IVec4 scale1d(IVecI axis,
                     IDoubleI f)
Specified by:
scale1d in interface ITransformable
Specified by:
scale1d in interface IVecI
Overrides:
scale1d in class IVec

scale1d

public IVec4 scale1d(IVecI center,
                     IVecI axis,
                     double f)
Specified by:
scale1d in interface ITransformable
Specified by:
scale1d in interface IVecI
Overrides:
scale1d in class IVec

scale1d

public IVec4 scale1d(IVecI center,
                     IVecI axis,
                     IDoubleI f)
Specified by:
scale1d in interface ITransformable
Specified by:
scale1d in interface IVecI
Overrides:
scale1d in class IVec

ref

public IVec4 ref(IVec planeDir)
Description copied from class: IVec
reflect (mirror) 3 dimensionally to the other side of the plane

Overrides:
ref in class IVec

ref

public IVec4 ref(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
Overrides:
ref in class IVec

ref

public IVec4 ref(IVec center,
                 IVec planeDir)
Overrides:
ref in class IVec

ref

public IVec4 ref(IVecI center,
                 IVecI planeDir)
Specified by:
ref in interface ITransformable
Specified by:
ref in interface IVecI
Overrides:
ref in class IVec

mirror

public IVec4 mirror(IVec planeDir)
Overrides:
mirror in class IVec

mirror

public IVec4 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
Overrides:
mirror in class IVec

mirror

public IVec4 mirror(IVec center,
                    IVec planeDir)
Overrides:
mirror in class IVec

mirror

public IVec4 mirror(IVecI center,
                    IVecI planeDir)
Specified by:
mirror in interface ITransformable
Specified by:
mirror in interface IVec4I
Specified by:
mirror in interface IVecI
Overrides:
mirror in class IVec

shear

public IVec4 shear(double sxy,
                   double syx,
                   double syz,
                   double szy,
                   double szx,
                   double sxz)
Description copied from interface: ITransformable
shear operation

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

shear

public IVec4 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
Overrides:
shear in class IVec

shear

public IVec4 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
Overrides:
shear in class IVec

shear

public IVec4 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
Overrides:
shear in class IVec

shearXY

public IVec4 shearXY(double sxy,
                     double syx)
Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI
Overrides:
shearXY in class IVec

shearXY

public IVec4 shearXY(IDoubleI sxy,
                     IDoubleI syx)
Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI
Overrides:
shearXY in class IVec

shearXY

public IVec4 shearXY(IVecI center,
                     double sxy,
                     double syx)
Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI
Overrides:
shearXY in class IVec

shearXY

public IVec4 shearXY(IVecI center,
                     IDoubleI sxy,
                     IDoubleI syx)
Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI
Overrides:
shearXY in class IVec

shearYZ

public IVec4 shearYZ(double syz,
                     double szy)
Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI
Overrides:
shearYZ in class IVec

shearYZ

public IVec4 shearYZ(IDoubleI syz,
                     IDoubleI szy)
Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI
Overrides:
shearYZ in class IVec

shearYZ

public IVec4 shearYZ(IVecI center,
                     double syz,
                     double szy)
Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI
Overrides:
shearYZ in class IVec

shearYZ

public IVec4 shearYZ(IVecI center,
                     IDoubleI syz,
                     IDoubleI szy)
Specified by:
shearYZ in interface ITransformable
Specified by:
shearYZ in interface IVecI
Overrides:
shearYZ in class IVec

shearZX

public IVec4 shearZX(double szx,
                     double sxz)
Specified by:
shearZX in interface ITransformable
Specified by:
shearZX in interface IVecI
Overrides:
shearZX in class IVec

shearZX

public IVec4 shearZX(IDoubleI szx,
                     IDoubleI sxz)
Specified by:
shearZX in interface ITransformable
Specified by:
shearZX in interface IVecI
Overrides:
shearZX in class IVec

shearZX

public IVec4 shearZX(IVecI center,
                     double szx,
                     double sxz)
Specified by:
shearZX in interface ITransformable
Specified by:
shearZX in interface IVecI
Overrides:
shearZX in class IVec

shearZX

public IVec4 shearZX(IVecI center,
                     IDoubleI szx,
                     IDoubleI sxz)
Specified by:
shearZX in interface ITransformable
Specified by:
shearZX in interface IVecI
Overrides:
shearZX in class IVec

translate

public IVec4 translate(double x,
                       double y,
                       double z)
Description copied from interface: ITransformable
translate() is alias of add()

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

translate

public IVec4 translate(IDoubleI x,
                       IDoubleI y,
                       IDoubleI z)
Specified by:
translate in interface ITransformable
Specified by:
translate in interface IVecI
Overrides:
translate in class IVec

translate

public IVec4 translate(IVecI v)
Specified by:
translate in interface ITransformable
Specified by:
translate in interface IVecI
Overrides:
translate in class IVec

transform

public IVec4 transform(IMatrix3I mat)
Specified by:
transform in interface ITransformable
Specified by:
transform in interface IVec4I
Specified by:
transform in interface IVecI
Overrides:
transform in class IVec

transform

public IVec4 transform(IMatrix4I mat)
Specified by:
transform in interface ITransformable
Specified by:
transform in interface IVec4I
Specified by:
transform in interface IVecI
Overrides:
transform in class IVec

transform

public IVec4 transform(IVec xvec,
                       IVec yvec,
                       IVec zvec)
Overrides:
transform in class IVec

transform

public IVec4 transform(IVecI xvec,
                       IVecI yvec,
                       IVecI zvec)
Specified by:
transform in interface ITransformable
Specified by:
transform in interface IVec4I
Specified by:
transform in interface IVecI
Overrides:
transform in class IVec

transform

public IVec4 transform(IVec xvec,
                       IVec yvec,
                       IVec zvec,
                       IVec translate)
Overrides:
transform in class IVec

transform

public IVec4 transform(IVecI xvec,
                       IVecI yvec,
                       IVecI zvec,
                       IVecI translate)
Specified by:
transform in interface ITransformable
Specified by:
transform in interface IVec4I
Specified by:
transform in interface IVecI
Overrides:
transform in class IVec

mv

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

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

mv

public IVec4 mv(IDoubleI x,
                IDoubleI y,
                IDoubleI z)
Specified by:
mv in interface ITransformable
Specified by:
mv in interface IVecI
Overrides:
mv in class IVec

mv

public IVec4 mv(IVecI v)
Specified by:
mv in interface ITransformable
Specified by:
mv in interface IVecI
Overrides:
mv in class IVec

cp

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

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

cp

public IVec4 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
Overrides:
cp in class IVec

cp

public IVec4 cp(IDoubleI x,
                IDoubleI y,
                IDoubleI z)
Specified by:
cp in interface ITransformable
Specified by:
cp in interface IVecI
Overrides:
cp in class IVec

cp

public IVec4 cp(IVecI v)
Specified by:
cp in interface ITransformable
Specified by:
cp in interface IVecI
Overrides:
cp in class IVec

dif

public IVec4 dif(IVec v)
Description copied from class: IVec
methods creating new instance

Overrides:
dif in class IVec

dif

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

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

diff

public IVec4 diff(IVec v)
Overrides:
diff in class IVec

diff

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

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

mid

public IVec4 mid(IVec v)
Overrides:
mid in class IVec

mid

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

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

sum

public IVec4 sum(IVec v)
Overrides:
sum in class IVec

sum

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

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

sum

public IVec4 sum(IVec... v)
Overrides:
sum in class IVec

sum

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

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

bisect

public IVec4 bisect(IVec v)
Overrides:
bisect in class IVec

bisect

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

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

sum

public IVec4 sum(IVec v2,
                 double w1,
                 double w2)
Description copied from class: IVec
weighted sum, creating new instance

Overrides:
sum in class IVec

sum

public IVec4 sum(IVec v2,
                 double w2)
Overrides:
sum in class IVec

sum

public IVec4 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
Overrides:
sum in class IVec

sum

public IVec4 sum(IVecI v2,
                 double w2)
Specified by:
sum in interface IVec4I
Specified by:
sum in interface IVecI
Overrides:
sum in class IVec

sum

public IVec4 sum(IVecI v2,
                 IDoubleI w1,
                 IDoubleI w2)
Specified by:
sum in interface IVec4I
Specified by:
sum in interface IVecI
Overrides:
sum in class IVec

sum

public IVec4 sum(IVecI v2,
                 IDoubleI w2)
Specified by:
sum in interface IVec4I
Specified by:
sum in interface IVecI
Overrides:
sum in class IVec

nml

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

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

nml

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

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

isValid

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

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

toString

public java.lang.String toString()
Overrides:
toString in class IVec