igeo
Interface IVec4I

All Superinterfaces:
IParameter, ITransformable, IVec4Op, IVecI, IVecOp
All Known Implementing Classes:
IVec4, IVec4R

public interface IVec4I
extends IVec4Op, IVecI

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


Method Summary
 IVec4I add(double f, IVecI v)
          scale add alias
 IVec4I add(IDoubleI f, IVecI v)
          scale add alias
 IVec4I add(IVecI v)
           
 IVec4I add(IVecI v, double f)
          scale add
 IVec4I add(IVecI v, IDoubleI f)
          scale add
 IVec4I bisect(IVecI v)
          create a new instance of bisector
 IVec4I cross(IVecI v)
          cross product creates a new instance
 IVec4I dif(IVecI v)
          create a new instance of difference
 IVec4I diff(IVecI v)
          alias of dif
 IVec4I div(double v)
           
 IVec4I div(IDoubleI v)
           
 IVec4I dup()
          duplicate the instance
 boolean eqW(ISwitchE e, IVec4I v)
           
 boolean eqW(ISwitchE e, IVec4I v, double resolution)
           
 IBoolI eqW(ISwitchR r, IVec4I v)
           
 IBoolI 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)
           
 IBoolI eqX(ISwitchR r, IVecI v)
           
 IBoolI 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)
           
 IBoolI eqY(ISwitchR r, IVecI v)
           
 IBoolI 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)
           
 IBoolI eqZ(ISwitchR r, IVecI v)
           
 IBoolI eqZ(ISwitchR r, IVecI v, IDoubleI resolution)
           
 boolean eqZ(IVecI v)
           
 boolean eqZ(IVecI v, double resolution)
           
 IVec4I flip()
          alias of neg()
 IVec4 get()
           
 IDoubleI getW()
           
 IDoubleI getX()
           
 IDoubleI getY()
           
 IDoubleI getZ()
           
 boolean isValid()
          checking x, y, and z is valid number (not Infinite, nor NaN).
 IVec4I len(double l)
           
 IVec4I len(IDoubleI l)
           
 IVec4I mid(IVecI v)
          create a new instance of midpoint
 IVec4I mirror(IVecI planeDir)
          mirror is alias of ref
 IVec4I mirror(IVecI center, IVecI planeDir)
           
 IVec4I mul(double v)
           
 IVec4I mul(IDoubleI v)
           
 IVec4I neg()
           
 IVec4I rev()
          alias of neg()
 IVec4I rot(double angle)
          rotation on xy-plane
 IVec4I rot(IDoubleI angle)
          rotation on xy-plane
 IVec4I rot(IVecI axis, double angle)
          rotation around axis
 IVec4I rot(IVecI axis, IDoubleI angle)
          rotation around axis
 IVec4I rot(IVecI axis, IVecI destDir)
          rotate to destination direction vector
 IVec4I rot(IVecI center, IVecI axis, double angle)
           
 IVec4I rot(IVecI center, IVecI axis, IDoubleI angle)
          rotation around axis vector and center
 IVec4I rot(IVecI center, IVecI axis, IVecI destPt)
          rotate to destination point location
 IVec4I rot2(double angle)
          rotation on xy-plane; alias of rot(double)
 IVec4I rot2(IDoubleI angle)
          rotation on xy-plane; alias of rot(IDoubleI)
 IVec4I rot2(IVecI destDir)
          rotation on xy-plane to destination direction vector
 IVec4I rot2(IVecI center, double angle)
           
 IVec4I rot2(IVecI center, IDoubleI angle)
          rotation on xy-plane around center
 IVec4I rot2(IVecI center, IVecI destPt)
          rotation on xy-plane to destination point location
 IVec4I scale(double f)
           
 IVec4I scale(IDoubleI f)
          alias of mul
 IVec4I scale(IVecI center, double f)
           
 IVec4I scale(IVecI center, IDoubleI f)
           
 IVec4I set(double x, double y, double z)
           
 IVec4I set(double x, double y, double z, double w)
           
 IVec4I set(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IVec4I set(IDoubleI x, IDoubleI y, IDoubleI z, IDoubleI w)
           
 IVec4I set(IVec4I v)
           
 IVec4I set(IVecI v)
           
 IVec4I set(IVecI v, double w)
           
 IVec4I set(IVecI v, IDoubleI w)
           
 IVec4I sub(IVecI v)
           
 IVec4I sum(IVecI... v)
          create a new instance of total summation
 IVec4I sum(IVecI v)
          create a new instance of total summation
 IVec4I sum(IVecI v2, double w2)
           
 IVec4I sum(IVecI v2, double w1, double w2)
          weighted sum
 IVec4I sum(IVecI v2, IDoubleI w2)
           
 IVec4I sum(IVecI v2, IDoubleI w1, IDoubleI w2)
           
 IVec2I to2d()
           
 IVecI to3d()
           
 IVec4I transform(IMatrix3I mat)
           
 IVec4I transform(IMatrix4I mat)
           
 IVec4I transform(IVecI xvec, IVecI yvec, IVecI zvec)
           
 IVec4I transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)
           
 IVec4I unit()
           
 double w()
           
 double x()
           
 double y()
           
 double z()
           
 IVec4I zero()
          setting all zero
 
Methods inherited from interface igeo.IVecI
add, add, angle, angle, angle, angle, angle, angle, cp, cp, cp, cp, dist, dist, dist, dist2, dist2, dist2, dot, dot, dot, eq, eq, eq, eq, eq, eq, len, len, len, len2, len2, len2, mv, mv, mv, nml, nml, ref, ref, scale1d, scale1d, scale1d, scale1d, shear, shear, shear, shear, shearXY, shearXY, shearXY, shearXY, shearYZ, shearYZ, shearYZ, shearYZ, shearZX, shearZX, shearZX, shearZX, sub, sub, to4d, to4d, to4d, translate, translate, translate
 

Method Detail

x

double x()
Specified by:
x in interface IVecI

y

double y()
Specified by:
y in interface IVecI

z

double z()
Specified by:
z in interface IVecI

w

double w()

get

IVec4 get()
Specified by:
get in interface IParameter
Specified by:
get in interface IVec4Op
Specified by:
get in interface IVecI
Specified by:
get in interface IVecOp

dup

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

Specified by:
dup in interface ITransformable
Specified by:
dup in interface IVecI

to2d

IVec2I to2d()
Specified by:
to2d in interface IVecI

to3d

IVecI to3d()

getX

IDoubleI getX()
Specified by:
getX in interface IVecI

getY

IDoubleI getY()
Specified by:
getY in interface IVecI

getZ

IDoubleI getZ()
Specified by:
getZ in interface IVecI

getW

IDoubleI getW()

set

IVec4I set(double x,
           double y,
           double z,
           double w)

set

IVec4I set(IDoubleI x,
           IDoubleI y,
           IDoubleI z,
           IDoubleI w)

set

IVec4I set(IVecI v,
           double w)

set

IVec4I set(IVecI v,
           IDoubleI w)

set

IVec4I set(IVec4I v)

set

IVec4I set(IVecI v)
Specified by:
set in interface IVecI

set

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

set

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

add

IVec4I add(IVecI v)
Specified by:
add in interface ITransformable
Specified by:
add in interface IVecI

sub

IVec4I sub(IVecI v)
Specified by:
sub in interface ITransformable
Specified by:
sub in interface IVecI

mul

IVec4I mul(IDoubleI v)
Specified by:
mul in interface ITransformable
Specified by:
mul in interface IVecI

mul

IVec4I mul(double v)
Specified by:
mul in interface ITransformable
Specified by:
mul in interface IVecI

div

IVec4I div(IDoubleI v)
Specified by:
div in interface ITransformable
Specified by:
div in interface IVecI

div

IVec4I div(double v)
Specified by:
div in interface ITransformable
Specified by:
div in interface IVecI

neg

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

rev

IVec4I rev()
alias of neg()

Specified by:
rev in interface IVecI

flip

IVec4I flip()
alias of neg()

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

zero

IVec4I zero()
setting all zero

Specified by:
zero in interface IVecI

add

IVec4I add(IVecI v,
           double f)
scale add

Specified by:
add in interface ITransformable
Specified by:
add in interface IVecI

add

IVec4I add(IVecI v,
           IDoubleI f)
scale add

Specified by:
add in interface ITransformable
Specified by:
add in interface IVecI

add

IVec4I add(double f,
           IVecI v)
scale add alias

Specified by:
add in interface ITransformable

add

IVec4I add(IDoubleI f,
           IVecI v)
scale add alias

Specified by:
add in interface ITransformable

len

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

len

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

unit

IVec4I unit()
Specified by:
unit in interface IVecI

cross

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

Specified by:
cross in interface IVecI

eqX

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

eqY

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

eqZ

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

eqW

boolean eqW(IVec4I v)

eqX

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

eqY

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

eqZ

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

eqW

boolean eqW(ISwitchE e,
            IVec4I v)

eqX

IBoolI eqX(ISwitchR r,
           IVecI v)
Specified by:
eqX in interface IVecI

eqY

IBoolI eqY(ISwitchR r,
           IVecI v)
Specified by:
eqY in interface IVecI

eqZ

IBoolI eqZ(ISwitchR r,
           IVecI v)
Specified by:
eqZ in interface IVecI

eqW

IBoolI eqW(ISwitchR r,
           IVec4I v)

eqX

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

eqY

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

eqZ

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

eqW

boolean eqW(IVec4I v,
            double resolution)

eqX

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

eqY

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

eqZ

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

eqW

boolean eqW(ISwitchE e,
            IVec4I v,
            double resolution)

eqX

IBoolI eqX(ISwitchR r,
           IVecI v,
           IDoubleI resolution)
Specified by:
eqX in interface IVecI

eqY

IBoolI eqY(ISwitchR r,
           IVecI v,
           IDoubleI resolution)
Specified by:
eqY in interface IVecI

eqZ

IBoolI eqZ(ISwitchR r,
           IVecI v,
           IDoubleI resolution)
Specified by:
eqZ in interface IVecI

eqW

IBoolI eqW(ISwitchR r,
           IVec4I v,
           IDoubleI resolution)

rot

IVec4I rot(IDoubleI angle)
rotation on xy-plane

Specified by:
rot in interface ITransformable

rot

IVec4I rot(double angle)
rotation on xy-plane

Specified by:
rot in interface ITransformable

rot

IVec4I rot(IVecI axis,
           IDoubleI angle)
rotation around axis

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

rot

IVec4I rot(IVecI axis,
           double angle)
rotation around axis

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

rot

IVec4I 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 IVecI

rot

IVec4I rot(IVecI center,
           IVecI axis,
           double angle)
Specified by:
rot in interface ITransformable
Specified by:
rot in interface IVecI

rot

IVec4I 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 IVecI

rot

IVec4I 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 IVecI

rot2

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

Specified by:
rot2 in interface ITransformable

rot2

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

Specified by:
rot2 in interface ITransformable

rot2

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

Specified by:
rot2 in interface ITransformable

rot2

IVec4I rot2(IVecI center,
            double angle)
Specified by:
rot2 in interface ITransformable

rot2

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

Specified by:
rot2 in interface ITransformable

rot2

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

Specified by:
rot2 in interface ITransformable

scale

IVec4I scale(IDoubleI f)
Description copied from interface: ITransformable
alias of mul

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

scale

IVec4I scale(double f)
Specified by:
scale in interface ITransformable
Specified by:
scale in interface IVecI

scale

IVec4I scale(IVecI center,
             IDoubleI f)
Specified by:
scale in interface ITransformable
Specified by:
scale in interface IVecI

scale

IVec4I scale(IVecI center,
             double f)
Specified by:
scale in interface ITransformable
Specified by:
scale in interface IVecI

mirror

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

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

mirror

IVec4I mirror(IVecI center,
              IVecI planeDir)
Specified by:
mirror in interface ITransformable
Specified by:
mirror in interface IVecI

transform

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

transform

IVec4I transform(IMatrix4I mat)
Specified by:
transform in interface ITransformable
Specified by:
transform in interface IVecI

transform

IVec4I transform(IVecI xvec,
                 IVecI yvec,
                 IVecI zvec)
Specified by:
transform in interface ITransformable
Specified by:
transform in interface IVecI

transform

IVec4I transform(IVecI xvec,
                 IVecI yvec,
                 IVecI zvec,
                 IVecI translate)
Specified by:
transform in interface ITransformable
Specified by:
transform in interface IVecI

dif

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

Specified by:
dif in interface IVecI

diff

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

Specified by:
diff in interface IVecI

mid

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

Specified by:
mid in interface IVecI

sum

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

Specified by:
sum in interface IVecI

sum

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

Specified by:
sum in interface IVecI

bisect

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

Specified by:
bisect in interface IVecI

sum

IVec4I sum(IVecI v2,
           double w1,
           double w2)
Description copied from interface: IVecI
weighted sum

Specified by:
sum in interface IVecI

sum

IVec4I sum(IVecI v2,
           double w2)
Specified by:
sum in interface IVecI

sum

IVec4I sum(IVecI v2,
           IDoubleI w1,
           IDoubleI w2)
Specified by:
sum in interface IVecI

sum

IVec4I sum(IVecI v2,
           IDoubleI w2)
Specified by:
sum in interface IVecI

isValid

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

Specified by:
isValid in interface IVecI