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.

Version:
0.7.0.0;
Author:
Satoru Sugihara

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
 IVec acc()
          get acceleration; acceleration is calculated from frc and mass
 IVec acceleration()
          get acceleration; acceleration is calculated from frc and mass
 IParticle add(double x, double y, double z)
           
 IParticle add(double f, IVecI v)
          scale add
 IParticle add(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IParticle add(IDoubleI f, IVecI v)
          scale add
 IParticle add(IVecI v)
           
 IParticle add(IVecI v, double f)
          scale add
 IParticle add(IVecI v, IDoubleI f)
          scale add
 IParticle addForce(double fx, double fy, double fz)
          adding force (alias of push)
 IParticle addForce(IVecI f)
          adding force (alias of push)
 double angle(double vx, double vy, double vz)
          get angle between two vector from 0 to Pi
 double angle(double vx, double vy, double vz, double axisX, double axisY, double axisZ)
           
 double angle(ISwitchE e, IVecI v)
          get angle between two vector from 0 to Pi
 double angle(ISwitchE e, IVecI v, IVecI axis)
           
 IDouble angle(ISwitchR r, IVecI v)
          get angle between two vector from 0 to Pi
 IDouble angle(ISwitchR r, IVecI v, IVecI axis)
           
 double angle(IVecI v)
          get angle between two vector from 0 to Pi
 double angle(IVecI v, IVecI axis)
           
 IVec bisect(double vx, double vy, double vz)
          create a new instance of bisector
 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)
          cp() is alias of dup().add()
 IParticle cp(IVecI v)
          cp() is alias of dup().add()
 IVec cross(double vx, double vy, double vz)
          cross product, creating a new instance
 IVec cross(IVecI v)
          cross product, creating a new instance
 double decay()
           
 IParticle decay(double d)
           
 IVec dif(double vx, double vy, double vz)
          create a new instance of difference
 IVec dif(IVecI v)
          create a new instance of difference
 IVec diff(double vx, double vy, double vz)
          alias of dif
 IVec diff(IVecI v)
          alias of dif
 double dist(double vx, double vy, double vz)
          distance of two vectors
 double dist(ISwitchE e, IVecI v)
          distance of two vectors
 IDouble dist(ISwitchR r, IVecI v)
          distance of two vectors
 double dist(IVecI v)
          distance of two vectors
 double dist2(double vx, double vy, double vz)
          squared distance of two vectors
 double dist2(ISwitchE e, IVecI v)
          squared distance of two vectors
 IDouble dist2(ISwitchR r, IVecI v)
          squared distance of two vectors
 double dist2(IVecI v)
          squared distance of two vectors
 IParticle div(double v)
           
 IParticle div(IDoubleI v)
           
 double dot(double vx, double vy, double vz)
          dot product
 double dot(ISwitchE e, IVecI v)
          dot product
 IDouble dot(ISwitchR r, IVecI v)
          dot product
 double dot(IVecI v)
          dot product
 IParticle dup()
          duplicate the instance
 boolean eq(double vx, double vy, double vz)
          check whether location is same or not
 boolean eq(double vx, double vy, double vz, double tolerance)
          check whether location is same or not with tolerance
 boolean eq(ISwitchE e, IVecI v)
          check whether location is same or not
 boolean eq(ISwitchE e, IVecI v, double tolerance)
          check whether location is same or not with tolerance
 IBool eq(ISwitchR r, IVecI v)
          check whether location is same or not
 IBool eq(ISwitchR r, IVecI v, IDoubleI tolerance)
          check whether location is same or not with tolerance
 boolean eq(IVecI v)
          check whether location is same or not
 boolean eq(IVecI v, double tolerance)
          check whether location is same or not with tolerance
 boolean eqX(double vx)
          check if same in X
 boolean eqX(double vx, double tolerance)
          check if same in X with tolerance
 boolean eqX(ISwitchE e, IVecI v)
          check if same in X
 boolean eqX(ISwitchE e, IVecI v, double tolerance)
          check if same in X with tolerance
 IBool eqX(ISwitchR r, IVecI v)
          check if same in X
 IBool eqX(ISwitchR r, IVecI v, IDoubleI tolerance)
          check if same in X with tolerance
 boolean eqX(IVecI v)
          check if same in X
 boolean eqX(IVecI v, double tolerance)
          check if same in X with tolerance
 boolean eqY(double vy)
          check if same in Y
 boolean eqY(double vy, double tolerance)
          check if same in Y with tolerance
 boolean eqY(ISwitchE e, IVecI v)
          check if same in Y
 boolean eqY(ISwitchE e, IVecI v, double tolerance)
          check if same in Y with tolerance
 IBool eqY(ISwitchR r, IVecI v)
          check if same in Y
 IBool eqY(ISwitchR r, IVecI v, IDoubleI tolerance)
          check if same in Y with tolerance
 boolean eqY(IVecI v)
          check if same in Y
 boolean eqY(IVecI v, double tolerance)
          check if same in Y with tolerance
 boolean eqZ(double vz)
          check if same in Z
 boolean eqZ(double vz, double tolerance)
          check if same in Z with tolerance
 boolean eqZ(ISwitchE e, IVecI v)
          check if same in Z
 boolean eqZ(ISwitchE e, IVecI v, double tolerance)
          check if same in Z with tolerance
 IBool eqZ(ISwitchR r, IVecI v)
          check if same in Z
 IBool eqZ(ISwitchR r, IVecI v, IDoubleI tolerance)
          check if same in Z with tolerance
 boolean eqZ(IVecI v)
          check if same in Z
 boolean eqZ(IVecI v, double tolerance)
          check if same in Z with tolerance
 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()
          getting length of the vector
 IParticle len(double l)
          setting length
 IParticle len(IDoubleI l)
          setting length
 double len(ISwitchE e)
          getting length of the vector
 IDouble len(ISwitchR r)
          getting length of the vector
 double len2()
          getting squared length of the vector
 double len2(ISwitchE e)
          getting squared length of the vector
 IDouble len2(ISwitchR r)
          getting squared length of the vector
 double mass()
          get mass
 IParticle mass(double mass)
          set mass
 IVec mid(double vx, double vy, double vz)
          create a new instance of midpoint
 IVec mid(IVecI v)
          create a new instance of midpoint
 IParticle mirror(double planeX, double planeY, double planeZ)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IParticle mirror(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)
          reflect (mirror) 3 dimensionally to the other side of the plane
 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)
          mv() is alias of add()
 IParticle mv(IVecI v)
          mv() is alias of add()
 IParticle neg()
           
 IVec nml(double vx, double vy, double vz)
          alias of cross
 IVec nml(double vx1, double vy1, double vz1, double vx2, double vy2, double vz2)
          create normal vector from 3 points of self, pt1 and pt2
 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(double fx, double fy, double fz)
          adding negative force
 IParticle pull(IVecI f)
          adding negative force
 IParticle push(double fx, double fy, double fz)
          adding force
 IParticle push(IVecI f)
          adding force
 IParticle ref(double planeX, double planeY, double planeZ)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IParticle ref(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)
          reflect (mirror) 3 dimensionally to the other side of the plane
 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)
          rotation on XY plane
 IParticle rot(double axisX, double axisY, double axisZ, double angle)
          rotation around axis vector
 IParticle rot(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double angle)
          rotation around axis vector and center point
 IParticle rot(IDoubleI angle)
          rotation on XY plane
 IParticle rot(IVecI axis, double angle)
          rotation around axis vector
 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)
          rotation around axis vector and center point
 IParticle rot(IVecI center, IVecI axis, IDoubleI angle)
          rotation around axis vector and center point
 IParticle rot(IVecI center, IVecI axis, IVecI destPt)
          Rotate to destination point location.
 IParticle rot2(double angle)
          rotation on xy-plane; alias of rot(double)
 IParticle rot2(double centerX, double centerY, double angle)
          rotation on xy-plane
 IParticle rot2(IDoubleI angle)
          rotation on xy-plane; alias of rot(IDoubleI)
 IParticle rot2(IVecI destDir)
          Rotation on xy-plane to destination direction vector.
 IParticle rot2(IVecI center, double angle)
          rotation on xy-plane
 IParticle rot2(IVecI center, IDoubleI angle)
          rotation on xy-plane
 IParticle rot2(IVecI center, IVecI destPt)
          Rotation on xy-plane to destination point location.
 IParticle scale(double f)
          alias of mul
 IParticle scale(double centerX, double centerY, double centerZ, double f)
          scale from a center
 IParticle scale(IDoubleI f)
          alias of mul
 IParticle scale(IVecI center, double f)
          scale from a center
 IParticle scale(IVecI center, IDoubleI f)
          scale from a center
 IParticle scale1d(double axisX, double axisY, double axisZ, double f)
          scale only in 1 direction
 IParticle scale1d(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double f)
          scale only in 1 direction from a center
 IParticle scale1d(IVecI axis, double f)
          scale only in 1 direction
 IParticle scale1d(IVecI axis, IDoubleI f)
          scale only in 1 direction
 IParticle scale1d(IVecI center, IVecI axis, double f)
          scale only in 1 direction from a center
 IParticle scale1d(IVecI center, IVecI axis, IDoubleI f)
          scale only in 1 direction from a center
 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)
          shear operation
 IParticle shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)
          shear operation
 IParticle shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
          shear operation
 IParticle shearXY(double sxy, double syx)
          shear operation on XY
 IParticle shearXY(IDoubleI sxy, IDoubleI syx)
          shear operation on XY
 IParticle shearXY(IVecI center, double sxy, double syx)
          shear operation on XY
 IParticle shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)
          shear operation on XY
 IParticle shearYZ(double syz, double szy)
          shear operation on YZ
 IParticle shearYZ(IDoubleI syz, IDoubleI szy)
          shear operation on YZ
 IParticle shearYZ(IVecI center, double syz, double szy)
          shear operation on YZ
 IParticle shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)
          shear operation on YZ
 IParticle shearZX(double szx, double sxz)
          shear operation on ZX
 IParticle shearZX(IDoubleI szx, IDoubleI sxz)
          shear operation on ZX
 IParticle shearZX(IVecI center, double szx, double sxz)
          shear operation on ZX
 IParticle shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)
          shear operation on ZX
 IParticle sub(double x, double y, double z)
           
 IParticle sub(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IParticle sub(IVecI v)
           
 IVec sum(double vx, double vy, double vz)
          create a new instance of total summation
 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)
          create a new instance of weighted sum
 IVec sum(IVecI v2, double w1, double w2)
          weighted sum.
 IVec sum(IVecI v2, IDoubleI w2)
          create a new instance of weighted sum
 IVec sum(IVecI v2, IDoubleI w1, IDoubleI w2)
          create a new instance of weighted sum
 IVec2 to2d()
           
 IVec4 to4d()
           
 IVec4 to4d(double w)
           
 IVec4 to4d(IDoubleI w)
           
 java.lang.String toString()
           
 IParticle transform(IMatrix3I mat)
          transform with a transformation matrix
 IParticle transform(IMatrix4I mat)
          transform with a transformation matrix
 IParticle transform(IVecI xvec, IVecI yvec, IVecI zvec)
          transform with a transformation vectors
 IParticle transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)
          transform with a transformation vectors
 IParticle translate(double x, double y, double z)
          translate is alias of add()
 IParticle translate(IDoubleI x, IDoubleI y, IDoubleI z)
          alias of add()
 IParticle translate(IVecI v)
          alias of add()
 IParticle unfix()
           
 IParticle unit()
          unitize
 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
 IParticle x(double vx)
          setting x component
 IParticle x(IDoubleI vx)
          setting x component
 double x(ISwitchE e)
          getting x component
 IDoubleI x(ISwitchR r)
          getting x component
 double y()
          getting y component
 IParticle y(double vy)
          setting y component
 IParticle y(IDoubleI vy)
          setting y component
 double y(ISwitchE e)
          getting y component
 IDoubleI y(ISwitchR r)
          getting y component
 double z()
          getting z component
 IParticle z(double vz)
          setting z component
 IParticle z(IDoubleI vz)
          setting z component
 double z(ISwitchE e)
          getting z component
 IDoubleI z(ISwitchR r)
          getting z component
 IParticle zero()
          setting all zero
 
Methods inherited from class igeo.IDynamicsBase
initDynamicsBase, 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

acceleration

public IVec acceleration()
get acceleration; acceleration is calculated from frc and mass

Specified by:
acceleration in interface IParticleI

acc

public IVec acc()
get acceleration; acceleration is calculated from frc and mass

Specified by:
acc 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

push

public IParticle push(double fx,
                      double fy,
                      double fz)
adding force

Specified by:
push in interface IParticleI

pull

public IParticle pull(IVecI f)
adding negative force

Specified by:
pull in interface IParticleI

pull

public IParticle pull(double fx,
                      double fy,
                      double fz)
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

addForce

public IParticle addForce(double fx,
                          double fy,
                          double fz)
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()
Description copied from interface: IVecI
getting y component

Specified by:
y in interface IVecI

z

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

Specified by:
z in interface IVecI

x

public IParticle x(double vx)
Description copied from interface: IVecI
setting x component

Specified by:
x in interface IVecI

y

public IParticle y(double vy)
Description copied from interface: IVecI
setting y component

Specified by:
y in interface IVecI

z

public IParticle z(double vz)
Description copied from interface: IVecI
setting z component

Specified by:
z in interface IVecI

x

public IParticle x(IDoubleI vx)
Description copied from interface: IVecI
setting x component

Specified by:
x in interface IVecI

y

public IParticle y(IDoubleI vy)
Description copied from interface: IVecI
setting y component

Specified by:
y in interface IVecI

z

public IParticle z(IDoubleI vz)
Description copied from interface: IVecI
setting z component

Specified by:
z in interface IVecI

x

public double x(ISwitchE e)
Description copied from interface: IVecI
getting x component

Specified by:
x in interface IVecI

y

public double y(ISwitchE e)
Description copied from interface: IVecI
getting y component

Specified by:
y in interface IVecI

z

public double z(ISwitchE e)
Description copied from interface: IVecI
getting z component

Specified by:
z in interface IVecI

x

public IDoubleI x(ISwitchR r)
Description copied from interface: IVecI
getting x component

Specified by:
x in interface IVecI

y

public IDoubleI y(ISwitchR r)
Description copied from interface: IVecI
getting y component

Specified by:
y in interface IVecI

z

public IDoubleI z(ISwitchR r)
Description copied from interface: IVecI
getting z component

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: IVecI
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: IVecI
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: IVecI
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: IVecI
scale add

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

add

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

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

dot

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

Specified by:
dot in interface IVecI

dot

public double dot(double vx,
                  double vy,
                  double vz)
Description copied from interface: IVecI
dot product

Specified by:
dot in interface IVecI

dot

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

Specified by:
dot in interface IVecI

dot

public IDouble dot(ISwitchR r,
                   IVecI v)
Description copied from interface: IVecI
dot product

Specified by:
dot in interface IVecI

cross

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

Specified by:
cross in interface IVecI

cross

public IVec cross(double vx,
                  double vy,
                  double vz)
Description copied from interface: IVecI
cross product, creating a new instance

Specified by:
cross in interface IVecI

len

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

Specified by:
len in interface IVecI

len

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

Specified by:
len in interface IVecI

len

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

Specified by:
len in interface IVecI

len2

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

Specified by:
len2 in interface IVecI

len2

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

Specified by:
len2 in interface IVecI

len2

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

Specified by:
len2 in interface IVecI

len

public IParticle len(IDoubleI l)
Description copied from interface: IVecI
setting length

Specified by:
len in interface IVecI

len

public IParticle len(double l)
Description copied from interface: IVecI
setting length

Specified by:
len in interface IVecI

unit

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

Specified by:
unit in interface IVecI

dist

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

Specified by:
dist in interface IVecI

dist

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

Specified by:
dist in interface IVecI

dist

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

Specified by:
dist in interface IVecI

dist

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

Specified by:
dist in interface IVecI

dist2

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

Specified by:
dist2 in interface IVecI

dist2

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

Specified by:
dist2 in interface IVecI

dist2

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

Specified by:
dist2 in interface IVecI

dist2

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

Specified by:
dist2 in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eq

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

Specified by:
eq in interface IVecI

eqX

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

Specified by:
eqX in interface IVecI

eqY

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

Specified by:
eqY in interface IVecI

eqZ

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

Specified by:
eqZ in interface IVecI

eqX

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

Specified by:
eqX in interface IVecI

eqY

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

Specified by:
eqY in interface IVecI

eqZ

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

Specified by:
eqZ in interface IVecI

eqX

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

Specified by:
eqX in interface IVecI

eqY

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

Specified by:
eqY in interface IVecI

eqZ

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

Specified by:
eqZ in interface IVecI

eqX

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

Specified by:
eqX in interface IVecI

eqY

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

Specified by:
eqY in interface IVecI

eqZ

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

Specified by:
eqZ in interface IVecI

eqX

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

Specified by:
eqX in interface IVecI

eqY

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

Specified by:
eqY in interface IVecI

eqZ

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

Specified by:
eqZ in interface IVecI

eqX

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

Specified by:
eqX in interface IVecI

eqY

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

Specified by:
eqY in interface IVecI

eqZ

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

Specified by:
eqZ in interface IVecI

eqX

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

Specified by:
eqX in interface IVecI

eqY

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

Specified by:
eqY in interface IVecI

eqZ

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

Specified by:
eqZ in interface IVecI

eqX

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

Specified by:
eqX in interface IVecI

eqY

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

Specified by:
eqY in interface IVecI

eqZ

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

Specified by:
eqZ in interface IVecI

angle

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

Specified by:
angle in interface IVecI

angle

public double angle(double vx,
                    double vy,
                    double vz)
Description copied from interface: IVecI
get angle between two vector from 0 to Pi

Specified by:
angle in interface IVecI

angle

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

Specified by:
angle in interface IVecI

angle

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

Specified by:
angle in interface IVecI

angle

public double angle(IVecI 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(double vx,
                    double vy,
                    double vz,
                    double axisX,
                    double axisY,
                    double axisZ)
Specified by:
angle in interface IVecI
Returns:
angle between two vector from -Pi to Pi. Sign follows right-handed screw rule along axis

angle

public double angle(ISwitchE e,
                    IVecI 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 IDouble angle(ISwitchR r,
                     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

rot

public IParticle rot(IDoubleI angle)
Description copied from interface: IVecI
rotation on XY plane

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

rot

public IParticle rot(double angle)
Description copied from interface: IVecI
rotation on XY plane

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

rot

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

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

rot

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

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

rot

public IParticle rot(double axisX,
                     double axisY,
                     double axisZ,
                     double angle)
Description copied from interface: IVecI
rotation around axis vector

Specified by:
rot in interface IVecI

rot

public IParticle rot(IVecI center,
                     IVecI axis,
                     double angle)
Description copied from interface: IVecI
rotation around axis vector and center point

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: IVecI
rotation around axis vector and center point

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

rot

public IParticle rot(double centerX,
                     double centerY,
                     double centerZ,
                     double axisX,
                     double axisY,
                     double axisZ,
                     double angle)
Description copied from interface: IVecI
rotation around axis vector and center point

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: IVecI
rotation on xy-plane; alias of rot(IDoubleI)

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

rot2

public IParticle rot2(double angle)
Description copied from interface: IVecI
rotation on xy-plane; alias of rot(double)

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

rot2

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

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

rot2

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

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

rot2

public IParticle rot2(double centerX,
                      double centerY,
                      double angle)
Description copied from interface: IVecI
rotation on xy-plane

Specified by:
rot2 in interface IVecI

rot2

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

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

rot2

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

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

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)
Description copied from interface: IVecI
scale from a center

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

scale

public IParticle scale(IVecI center,
                       double f)
Description copied from interface: IVecI
scale from a center

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

scale

public IParticle scale(double centerX,
                       double centerY,
                       double centerZ,
                       double f)
Description copied from interface: IVecI
scale from a center

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)
Description copied from interface: IVecI
scale only in 1 direction

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

scale1d

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

Specified by:
scale1d in interface IVecI

scale1d

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

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

scale1d

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

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

scale1d

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

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(double planeX,
                     double planeY,
                     double planeZ)
reflect (mirror) 3 dimensionally to the other side of the plane

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

ref

public IParticle ref(double centerX,
                     double centerY,
                     double centerZ,
                     double planeX,
                     double planeY,
                     double planeZ)
reflect (mirror) 3 dimensionally to the other side of the plane

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(double planeX,
                        double planeY,
                        double planeZ)
reflect (mirror) 3 dimensionally to the other side of the plane

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

mirror

public IParticle mirror(double centerX,
                        double centerY,
                        double centerZ,
                        double planeX,
                        double planeY,
                        double planeZ)
reflect (mirror) 3 dimensionally to the other side of the plane

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)
Description copied from interface: IVecI
shear operation

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)
Description copied from interface: IVecI
shear operation

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)
Description copied from interface: IVecI
shear operation

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

shearXY

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

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

shearXY

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

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

shearXY

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

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

shearXY

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

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

shearYZ

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

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

shearYZ

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

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

shearYZ

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

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

shearYZ

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

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

shearZX

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

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

shearZX

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

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

shearZX

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

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

shearZX

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

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

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

translate

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

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

transform

public IParticle transform(IMatrix3I mat)
Description copied from interface: IVecI
transform with a transformation matrix

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

transform

public IParticle transform(IMatrix4I mat)
Description copied from interface: IVecI
transform with a transformation matrix

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

transform

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

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

transform

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

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

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

mv

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

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)
Description copied from interface: IVecI
cp() is alias of dup().add()

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

cp

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

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

dif

public IVec dif(double vx,
                double vy,
                double vz)
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

diff

public IVec diff(double vx,
                 double vy,
                 double vz)
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

mid

public IVec mid(double vx,
                double vy,
                double vz)
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(double vx,
                double vy,
                double vz)
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

bisect

public IVec bisect(double vx,
                   double vy,
                   double vz)
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)
Description copied from interface: IVecI
create a new instance of weighted sum

Specified by:
sum in interface IVecI

sum

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

Specified by:
sum in interface IVecI

sum

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

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(double vx,
                double vy,
                double vz)
Description copied from interface: IVecI
alias of cross

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

nml

public IVec nml(double vx1,
                double vy1,
                double vz1,
                double vx2,
                double vy2,
                double vz2)
Description copied from interface: IVecI
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