igeo
Class IParticle

java.lang.Object
  extended by igeo.IDynamicsBase
      extended by igeo.IParticle
All Implemented Interfaces:
IDynamics, IParameter, IParticleI, ISubobject, ITransformable, IVecI, IVecOp
Direct Known Subclasses:
IParticleOnCurve

public class IParticle
extends IDynamicsBase
implements IParticleI, IVecI

Class of an implementation of IDynamics to have physical attributes of point. It has attributes of position, velocity, acceleration, force, and mass. Position is provided from outside to be linked.


Field Summary
(package private) static double defaultFriction
           
(package private)  boolean fixed
           
 IVec frc
           
 double friction
           
 double mass
           
 IVec pos
           
 IVec vel
           
 
Fields inherited from class igeo.IDynamicsBase
parent, targets
 
Constructor Summary
IParticle(double x, double y, double z)
           
IParticle(double x, double y, double z, double vx, double vy, double vz)
           
IParticle(double x, double y, double z, double vx, double vy, double vz, IObject parent)
           
IParticle(double x, double y, double z, IObject parent)
           
IParticle(IParticle ptcl)
           
IParticle(IParticle ptcl, IObject parent)
           
IParticle(IParticle ptcl, IVecI v)
           
IParticle(IParticle ptcl, IVecI v, IObject parent)
           
IParticle(IPoint pt)
           
IParticle(IPoint pt, IVecI v)
           
IParticle(IPointR pt)
           
IParticle(IPointR pt, IVecI v)
           
IParticle(IVec pos)
           
IParticle(IVecI p)
           
IParticle(IVecI p, IObject parent)
           
IParticle(IVecI p, IVecI v)
           
IParticle(IVecI p, IVecI v, IObject parent)
           
IParticle(IVec pos, IObject parent)
           
IParticle(IVec pos, IVec vel)
           
IParticle(IVec pos, IVec vel, IObject parent)
           
 
Method Summary
 IParticle add(double x, double y, double z)
           
 IParticle add(double f, IVecI v)
          scale add alias
 IParticle add(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IParticle add(IDoubleI f, IVecI v)
          scale add alias
 IParticle add(IVecI v)
           
 IParticle add(IVecI v, double f)
          scale add
 IParticle add(IVecI v, IDoubleI f)
          scale add
 IParticle addForce(IVecI f)
          adding force (alias of push)
 double angle(ISwitchE e, IVecI v)
           
 double angle(ISwitchE e, IVecI v, IVecI axis)
           
 IDouble angle(ISwitchR r, IVecI v)
           
 IDouble angle(ISwitchR r, IVecI v, IVecI axis)
           
 double angle(IVecI v)
           
 double angle(IVecI v, IVecI axis)
           
 IVec bisect(IVecI v)
          create a new instance of bisector
 IParticle cp()
          cp() is alias of dup()
 IParticle cp(double x, double y, double z)
          cp() is alias of dup().add()
 IParticle cp(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IParticle cp(IVecI v)
           
 IVec cross(IVecI v)
          cross product creates a new instance
 double decay()
           
 IParticle decay(double d)
           
 IVec dif(IVecI v)
          create a new instance of difference
 IVec diff(IVecI v)
          alias of dif
 double dist(ISwitchE e, IVecI v)
           
 IDouble dist(ISwitchR r, IVecI v)
           
 double dist(IVecI v)
           
 double dist2(ISwitchE e, IVecI v)
           
 IDouble dist2(ISwitchR r, IVecI v)
           
 double dist2(IVecI v)
          squared distance
 IParticle div(double v)
           
 IParticle div(IDoubleI v)
           
 double dot(ISwitchE e, IVecI v)
           
 IDouble dot(ISwitchR r, IVecI v)
           
 double dot(IVecI v)
           
 IParticle dup()
          duplicate the instance
 boolean eq(ISwitchE e, IVecI v)
           
 boolean eq(ISwitchE e, IVecI v, double resolution)
           
 IBool eq(ISwitchR r, IVecI v)
           
 IBool eq(ISwitchR r, IVecI v, IDoubleI resolution)
           
 boolean eq(IVecI v)
          whether location is same or not
 boolean eq(IVecI v, double resolution)
           
 boolean eqX(ISwitchE e, IVecI v)
           
 boolean eqX(ISwitchE e, IVecI v, double resolution)
           
 IBool eqX(ISwitchR r, IVecI v)
           
 IBool 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)
           
 IBool eqY(ISwitchR r, IVecI v)
           
 IBool 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)
           
 IBool eqZ(ISwitchR r, IVecI v)
           
 IBool eqZ(ISwitchR r, IVecI v, IDoubleI resolution)
           
 boolean eqZ(IVecI v)
           
 boolean eqZ(IVecI v, double resolution)
           
 IParticle fix()
           
 IParticle flip()
          alias of neg
 IVec force()
          get force
 IParticle force(IVecI v)
          set force
 IVec frc()
          get force
 IParticle frc(IVecI v)
          set force
 double fric()
          get friction
 IParticle fric(double friction)
          set friction
 double friction()
          get friction
 IParticle friction(double friction)
          set friction
 IVec get()
           
 IDouble getX()
           
 IDouble getY()
           
 IDouble getZ()
           
 void initParticle()
           
 void initParticle(IVec v)
           
 void initParticle(IVecI v)
           
 void interact(java.util.ArrayList<IDynamics> dynamics)
          behavior definition of interaction with other dynamic objects.
 boolean isValid()
          checking x, y, and z is valid number (not Infinite, nor NaN).
 double len()
           
 IParticle len(double l)
           
 IParticle len(IDoubleI l)
           
 double len(ISwitchE e)
           
 IDouble len(ISwitchR r)
           
 double len2()
          square of length
 double len2(ISwitchE e)
           
 IDouble len2(ISwitchR r)
           
 double mass()
          get mass
 IParticle mass(double mass)
          set mass
 IVec mid(IVecI v)
          create a new instance of midpoint
 IParticle mirror(IVecI planeDir)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IParticle mirror(IVecI center, IVecI planeDir)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IParticle mul(double v)
           
 IParticle mul(IDoubleI v)
           
 IParticle mv(double x, double y, double z)
          mv() is alias of add()
 IParticle mv(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IParticle mv(IVecI v)
           
 IParticle neg()
           
 IVec nml(IVecI v)
          alias of cross.
 IVec nml(IVecI pt1, IVecI pt2)
          create normal vector from 3 points of self, pt1 and pt2
 IVec pos()
          get position
 IParticle pos(IVecI v)
          set position
 IVec position()
          get position
 IParticle position(IVecI v)
          set position
 IParticle pull(IVecI f)
          adding negative force
 IParticle push(IVecI f)
          adding force
 IParticle ref(IVecI planeDir)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IParticle ref(IVecI center, IVecI planeDir)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IParticle reset()
          setting force zero
 IParticle resetForce()
          setting force zero (alias of reset())
 IParticle rev()
          alias of neg()
 IParticle rot(double angle)
           
 IParticle rot(IDoubleI angle)
          rotation around z-axis and origin
 IParticle rot(IVecI axis, double angle)
           
 IParticle rot(IVecI axis, IDoubleI angle)
          rotation around axis vector
 IParticle rot(IVecI axis, IVecI destDir)
          Rotate to destination direction vector.
 IParticle rot(IVecI center, IVecI axis, double angle)
           
 IParticle rot(IVecI center, IVecI axis, IDoubleI angle)
          rotation around axis vector and center
 IParticle rot(IVecI center, IVecI axis, IVecI destPt)
          Rotate to destination point location.
 IParticle rot2(double angle)
          rotation on xy-plane around origin; same with rot(double)
 IParticle rot2(IDoubleI angle)
          rotation on xy-plane around origin; same with rot(IDoubleI)
 IParticle rot2(IVecI destDir)
          Rotation on xy-plane to destination direction vector.
 IParticle rot2(IVecI center, double angle)
           
 IParticle rot2(IVecI center, IDoubleI angle)
          rotation on xy-plane around center
 IParticle rot2(IVecI center, IVecI destPt)
          Rotation on xy-plane to destination point location.
 IParticle scale(double f)
          alias of mul
 IParticle scale(IDoubleI f)
          alias of mul
 IParticle scale(IVecI center, double f)
           
 IParticle scale(IVecI center, IDoubleI f)
           
 IParticle scale1d(IVecI axis, double f)
          scale only in 1 direction
 IParticle scale1d(IVecI axis, IDoubleI f)
           
 IParticle scale1d(IVecI center, IVecI axis, double f)
           
 IParticle scale1d(IVecI center, IVecI axis, IDoubleI f)
           
 IParticle set(double x, double y, double z)
           
 IParticle set(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IParticle set(IVecI v)
           
 IParticle shear(double sxy, double syx, double syz, double szy, double szx, double sxz)
          shear operation
 IParticle shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
           
 IParticle shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)
           
 IParticle shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
           
 IParticle shearXY(double sxy, double syx)
           
 IParticle shearXY(IDoubleI sxy, IDoubleI syx)
           
 IParticle shearXY(IVecI center, double sxy, double syx)
           
 IParticle shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)
           
 IParticle shearYZ(double syz, double szy)
           
 IParticle shearYZ(IDoubleI syz, IDoubleI szy)
           
 IParticle shearYZ(IVecI center, double syz, double szy)
           
 IParticle shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)
           
 IParticle shearZX(double szx, double sxz)
           
 IParticle shearZX(IDoubleI szx, IDoubleI sxz)
           
 IParticle shearZX(IVecI center, double szx, double sxz)
           
 IParticle shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)
           
 IParticle sub(double x, double y, double z)
           
 IParticle sub(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IParticle sub(IVecI v)
           
 IVec sum(IVecI... v)
          create a new instance of total summation
 IVec sum(IVecI v)
          create a new instance of total summation
 IVec sum(IVecI v2, double w2)
           
 IVec sum(IVecI v2, double w1, double w2)
          weighted sum.
 IVec sum(IVecI v2, IDoubleI w2)
           
 IVec sum(IVecI v2, IDoubleI w1, IDoubleI w2)
           
 IVec2 to2d()
           
 IVec4 to4d()
           
 IVec4 to4d(double w)
           
 IVec4 to4d(IDoubleI w)
           
 java.lang.String toString()
           
 IParticle transform(IMatrix3I mat)
           
 IParticle transform(IMatrix4I mat)
           
 IParticle transform(IVecI xvec, IVecI yvec, IVecI zvec)
           
 IParticle transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)
           
 IParticle translate(double x, double y, double z)
          translate is alias of add()
 IParticle translate(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IParticle translate(IVecI v)
           
 IParticle unfix()
           
 IParticle unit()
           
 void update()
          behavior definition of updating dynamics in each time frame
 IVec vel()
          get velocity
 IParticle vel(IVecI v)
          set velocity
 IVec velocity()
          get velocity
 IParticle velocity(IVecI v)
          set velocity
 double x()
          implements of IVecI
 double y()
           
 double z()
           
 IParticle zero()
          setting all zero
 
Methods inherited from class igeo.IDynamicsBase
initDynamicsBase, initDynamicsBase, parent, parent, postinteract, postupdate, preinteract, preupdate, removeTarget, removeTarget, target, target, targetNum, targets, updateTarget
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

defaultFriction

static double defaultFriction

mass

public double mass

pos

public IVec pos

vel

public IVec vel

frc

public IVec frc

fixed

boolean fixed

friction

public double friction
Constructor Detail

IParticle

public IParticle(IVec pos)

IParticle

public IParticle(IVec pos,
                 IObject parent)

IParticle

public IParticle(IVecI p)

IParticle

public IParticle(IVecI p,
                 IObject parent)

IParticle

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

IParticle

public IParticle(double x,
                 double y,
                 double z,
                 IObject parent)

IParticle

public IParticle(IPoint pt)

IParticle

public IParticle(IPointR pt)

IParticle

public IParticle(IParticle ptcl)

IParticle

public IParticle(IParticle ptcl,
                 IObject parent)

IParticle

public IParticle(IVec pos,
                 IVec vel)

IParticle

public IParticle(IVec pos,
                 IVec vel,
                 IObject parent)

IParticle

public IParticle(IVecI p,
                 IVecI v)

IParticle

public IParticle(IVecI p,
                 IVecI v,
                 IObject parent)

IParticle

public IParticle(double x,
                 double y,
                 double z,
                 double vx,
                 double vy,
                 double vz)

IParticle

public IParticle(double x,
                 double y,
                 double z,
                 double vx,
                 double vy,
                 double vz,
                 IObject parent)

IParticle

public IParticle(IPoint pt,
                 IVecI v)

IParticle

public IParticle(IPointR pt,
                 IVecI v)

IParticle

public IParticle(IParticle ptcl,
                 IVecI v)

IParticle

public IParticle(IParticle ptcl,
                 IVecI v,
                 IObject parent)
Method Detail

initParticle

public void initParticle()

initParticle

public void initParticle(IVec v)

initParticle

public void initParticle(IVecI v)

dup

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

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

fix

public IParticle fix()

unfix

public IParticle unfix()

mass

public double mass()
Description copied from interface: IParticleI
get mass

Specified by:
mass in interface IParticleI

mass

public IParticle mass(double mass)
Description copied from interface: IParticleI
set mass

Specified by:
mass in interface IParticleI

position

public IVec position()
Description copied from interface: IParticleI
get position

Specified by:
position in interface IParticleI

position

public IParticle position(IVecI v)
Description copied from interface: IParticleI
set position

Specified by:
position in interface IParticleI

pos

public IVec pos()
Description copied from interface: IParticleI
get position

Specified by:
pos in interface IParticleI

pos

public IParticle pos(IVecI v)
Description copied from interface: IParticleI
set position

Specified by:
pos in interface IParticleI

velocity

public IVec velocity()
Description copied from interface: IParticleI
get velocity

Specified by:
velocity in interface IParticleI

velocity

public IParticle velocity(IVecI v)
Description copied from interface: IParticleI
set velocity

Specified by:
velocity in interface IParticleI

vel

public IVec vel()
Description copied from interface: IParticleI
get velocity

Specified by:
vel in interface IParticleI

vel

public IParticle vel(IVecI v)
Description copied from interface: IParticleI
set velocity

Specified by:
vel in interface IParticleI

force

public IVec force()
Description copied from interface: IParticleI
get force

Specified by:
force in interface IParticleI

force

public IParticle force(IVecI v)
Description copied from interface: IParticleI
set force

Specified by:
force in interface IParticleI

frc

public IVec frc()
Description copied from interface: IParticleI
get force

Specified by:
frc in interface IParticleI

frc

public IParticle frc(IVecI v)
Description copied from interface: IParticleI
set force

Specified by:
frc in interface IParticleI

friction

public double friction()
Description copied from interface: IParticleI
get friction

Specified by:
friction in interface IParticleI

friction

public IParticle friction(double friction)
Description copied from interface: IParticleI
set friction

Specified by:
friction in interface IParticleI

fric

public double fric()
Description copied from interface: IParticleI
get friction

Specified by:
fric in interface IParticleI

fric

public IParticle fric(double friction)
Description copied from interface: IParticleI
set friction

Specified by:
fric in interface IParticleI

decay

public double decay()
Specified by:
decay in interface IParticleI

decay

public IParticle decay(double d)
Specified by:
decay in interface IParticleI

push

public IParticle push(IVecI f)
adding force

Specified by:
push in interface IParticleI

pull

public IParticle pull(IVecI f)
adding negative force

Specified by:
pull in interface IParticleI

addForce

public IParticle addForce(IVecI f)
adding force (alias of push)

Specified by:
addForce in interface IParticleI

reset

public IParticle reset()
setting force zero

Specified by:
reset in interface IParticleI

resetForce

public IParticle resetForce()
setting force zero (alias of reset())

Specified by:
resetForce in interface IParticleI

interact

public void interact(java.util.ArrayList<IDynamics> dynamics)
Description copied from class: IDynamicsBase
behavior definition of interaction with other dynamic objects. The server puts all dynamic objects including itself.

Specified by:
interact in interface IDynamics
Overrides:
interact in class IDynamicsBase

update

public void update()
Description copied from class: IDynamicsBase
behavior definition of updating dynamics in each time frame

Specified by:
update in interface IDynamics
Overrides:
update in class IDynamicsBase

x

public double x()
implements of IVecI

Specified by:
x in interface IVecI

y

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

z

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

get

public IVec get()
Specified by:
get in interface IParameter
Specified by:
get in interface IVecI
Specified by:
get in interface IVecOp

to2d

public IVec2 to2d()
Specified by:
to2d in interface IVecI

to4d

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

to4d

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

to4d

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

getX

public IDouble getX()
Specified by:
getX in interface IVecI

getY

public IDouble getY()
Specified by:
getY in interface IVecI

getZ

public IDouble getZ()
Specified by:
getZ in interface IVecI

set

public IParticle set(IVecI v)
Specified by:
set in interface IVecI

set

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

set

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

add

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

add

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

add

public IParticle add(IVecI v)
Specified by:
add in interface ITransformable
Specified by:
add in interface IVecI

sub

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

sub

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

sub

public IParticle sub(IVecI v)
Specified by:
sub in interface ITransformable
Specified by:
sub in interface IVecI

mul

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

mul

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

div

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

div

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

neg

public IParticle neg()
Specified by:
neg in interface ITransformable
Specified by:
neg in interface IVecI

rev

public IParticle rev()
Description copied from interface: IVecI
alias of neg()

Specified by:
rev in interface IVecI

flip

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

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

zero

public IParticle zero()
Description copied from interface: IVecI
setting all zero

Specified by:
zero in interface IVecI

add

public IParticle add(IVecI v,
                     double f)
Description copied from interface: ITransformable
scale add

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

add

public IParticle add(IVecI v,
                     IDoubleI f)
Description copied from interface: ITransformable
scale add

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

add

public IParticle add(double f,
                     IVecI v)
Description copied from interface: ITransformable
scale add alias

Specified by:
add in interface ITransformable

add

public IParticle add(IDoubleI f,
                     IVecI v)
Description copied from interface: ITransformable
scale add alias

Specified by:
add in interface ITransformable

dot

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

dot

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

dot

public IDouble dot(ISwitchR r,
                   IVecI v)
Specified by:
dot in interface IVecI

cross

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

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 IDouble 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 IDouble len2(ISwitchR r)
Specified by:
len2 in interface IVecI

len

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

len

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

unit

public IParticle unit()
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 IDouble 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 IDouble 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 IBool eq(ISwitchR r,
                IVecI v)
Specified by:
eq in interface IVecI

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 IBool eq(ISwitchR r,
                IVecI v,
                IDoubleI resolution)
Specified by:
eq in interface IVecI

eqX

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

eqY

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

eqZ

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

eqX

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

eqY

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

eqZ

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

eqX

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

eqY

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

eqZ

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

eqX

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

eqY

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

eqZ

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

eqX

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

eqY

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

eqZ

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

eqX

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

eqY

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

eqZ

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

angle

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

angle

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

angle

public IDouble angle(ISwitchR r,
                     IVecI v)
Specified by:
angle in interface IVecI

angle

public double angle(IVecI v,
                    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 v,
                    IVecI axis)
Specified by:
angle in interface IVecI

angle

public IDouble angle(ISwitchR r,
                     IVecI v,
                     IVecI axis)
Specified by:
angle in interface IVecI

rot

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

Specified by:
rot in interface ITransformable

rot

public IParticle rot(double angle)
Specified by:
rot in interface ITransformable

rot

public IParticle 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 IVecI

rot

public IParticle rot(IVecI axis,
                     double angle)
Specified by:
rot in interface ITransformable
Specified by:
rot in interface IVecI

rot

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

rot

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

public IParticle rot(IVecI axis,
                     IVecI destDir)
Rotate to destination direction vector.

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

rot

public IParticle rot(IVecI center,
                     IVecI axis,
                     IVecI destPt)
Rotate to destination point location.

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

rot2

public IParticle rot2(IDoubleI angle)
Description copied from interface: ITransformable
rotation on xy-plane around origin; same with rot(IDoubleI)

Specified by:
rot2 in interface ITransformable

rot2

public IParticle rot2(double angle)
Description copied from interface: ITransformable
rotation on xy-plane around origin; same with rot(double)

Specified by:
rot2 in interface ITransformable

rot2

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

rot2

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

Specified by:
rot2 in interface ITransformable

rot2

public IParticle rot2(IVecI destDir)
Rotation on xy-plane to destination direction vector.

Specified by:
rot2 in interface ITransformable

rot2

public IParticle rot2(IVecI center,
                      IVecI destPt)
Rotation on xy-plane to destination point location.

Specified by:
rot2 in interface ITransformable

scale

public IParticle scale(IDoubleI f)
alias of mul

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

scale

public IParticle scale(double f)
alias of mul

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

scale

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

scale

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

scale1d

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

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

scale1d

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

scale1d

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

scale1d

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

ref

public IParticle ref(IVecI planeDir)
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 IParticle ref(IVecI center,
                     IVecI planeDir)
reflect (mirror) 3 dimensionally to the other side of the plane

Specified by:
ref in interface ITransformable
Specified by:
ref in interface IVecI

mirror

public IParticle mirror(IVecI planeDir)
reflect (mirror) 3 dimensionally to the other side of the plane

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

mirror

public IParticle mirror(IVecI center,
                        IVecI planeDir)
reflect (mirror) 3 dimensionally to the other side of the plane

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

shear

public IParticle 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 IParticle 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 IParticle 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 IParticle 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 IParticle shearXY(double sxy,
                         double syx)
Specified by:
shearXY in interface ITransformable
Specified by:
shearXY in interface IVecI

shearXY

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

shearXY

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

shearXY

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

shearYZ

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

shearYZ

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

shearYZ

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

shearYZ

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

shearZX

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

shearZX

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

shearZX

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

shearZX

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

translate

public IParticle 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 IParticle translate(IDoubleI x,
                           IDoubleI y,
                           IDoubleI z)
Specified by:
translate in interface ITransformable
Specified by:
translate in interface IVecI

translate

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

transform

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

transform

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

transform

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

transform

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

mv

public IParticle 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 IParticle mv(IDoubleI x,
                    IDoubleI y,
                    IDoubleI z)
Specified by:
mv in interface ITransformable
Specified by:
mv in interface IVecI

mv

public IParticle mv(IVecI v)
Specified by:
mv in interface ITransformable
Specified by:
mv in interface IVecI

cp

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

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

cp

public IParticle 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 IParticle cp(IDoubleI x,
                    IDoubleI y,
                    IDoubleI z)
Specified by:
cp in interface ITransformable
Specified by:
cp in interface IVecI

cp

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

dif

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

Specified by:
dif in interface IVecI

diff

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

Specified by:
diff in interface IVecI

mid

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

Specified by:
mid in interface IVecI

sum

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

Specified by:
sum in interface IVecI

sum

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

Specified by:
sum in interface IVecI

bisect

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

Specified by:
bisect in interface IVecI

sum

public IVec sum(IVecI v2,
                double w1,
                double w2)
weighted sum.

Specified by:
sum in interface IVecI
Returns:
IVec

sum

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

sum

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

sum

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

nml

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

Specified by:
nml in interface IVecI

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

isValid

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

Specified by:
isValid in interface IVecI

toString

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