igeo
Class IParticleGeo

java.lang.Object
  extended by igeo.IDynamicsBase
      extended by igeo.IParticleGeo
All Implemented Interfaces:
IDynamics, IParameter, IParticleI, ISubobject, ITransformable, IVal, IVecI, IVecOp
Direct Known Subclasses:
IBoidGeo, IParticleOnCurveGeo, IParticleOnMeshGeo

public class IParticleGeo
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.

Author:
Satoru Sugihara

Field Summary
(package private) static double defaultFriction
           
 boolean fixed
           
 IVec frc
           
 double friction
           
 double mass
           
 IVec pos
           
 boolean skipUpdateOnce
          when other agent set locatin, this skips to update the position by the velocity
 IVec vel
           
 
Fields inherited from class igeo.IDynamicsBase
parent, targets
 
Constructor Summary
IParticleGeo()
           
IParticleGeo(double x, double y, double z)
           
IParticleGeo(double x, double y, double z, double vx, double vy, double vz)
           
IParticleGeo(double x, double y, double z, double vx, double vy, double vz, IObject parent)
           
IParticleGeo(double x, double y, double z, IObject parent)
           
IParticleGeo(IParticleGeo ptcl)
           
IParticleGeo(IParticleGeo ptcl, IObject parent)
           
IParticleGeo(IParticleGeo ptcl, IVecI v)
           
IParticleGeo(IParticleGeo ptcl, IVecI v, IObject parent)
           
IParticleGeo(IPoint pt)
           
IParticleGeo(IPoint pt, IVecI v)
           
IParticleGeo(IPointR pt)
           
IParticleGeo(IPointR pt, IVecI v)
           
IParticleGeo(IVec pos)
           
IParticleGeo(IVecI p)
           
IParticleGeo(IVecI p, IObject parent)
           
IParticleGeo(IVecI p, IVecI v)
           
IParticleGeo(IVecI p, IVecI v, IObject parent)
           
IParticleGeo(IVec pos, IObject parent)
           
IParticleGeo(IVec pos, IVec vel)
           
IParticleGeo(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
 IParticleGeo add(double x, double y, double z)
           
 IParticleGeo add(double f, IVecI v)
          scale add
 IParticleGeo add(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IParticleGeo add(IDoubleI f, IVecI v)
          scale add
 IParticleGeo add(IVecI v)
           
 IParticleGeo add(IVecI v, double f)
          scale add
 IParticleGeo add(IVecI v, IDoubleI f)
          scale add
 IParticleGeo addForce(double fx, double fy, double fz)
          adding force (alias of push)
 IParticleGeo 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
 IParticleGeo cp()
          cp() is alias of dup()
 IParticleGeo cp(double x, double y, double z)
          cp() is alias of dup().add()
 IParticleGeo cp(IDoubleI x, IDoubleI y, IDoubleI z)
          cp() is alias of dup().add()
 IParticleGeo 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()
           
 IParticleGeo 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
 IParticleGeo div(double v)
           
 IParticleGeo 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
 IParticleGeo 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
 IParticleGeo fix()
          fix movement
 boolean fixed()
          check if it's fixed
 IParticleGeo flip()
          alias of neg()
 IVec force()
          get force
 IParticleGeo force(IVecI v)
          set force
 IVec frc()
          get force
 IParticleGeo frc(IVecI v)
          set force
 double fric()
          get friction
 IParticleGeo fric(double friction)
          set friction
 double friction()
          get friction
 IParticleGeo friction(double friction)
          set friction
 IVec get()
           
 IDouble getX()
           
 IDouble getY()
           
 IDouble getZ()
           
 void initParticle()
           
 void initParticle(IVec v)
           
 void initParticle(IVecI v)
           
 boolean isValid()
          checking x, y, and z is valid number (not Infinite, nor NaN).
 double len()
          getting length of the vector
 IParticleGeo len(double l)
          setting length
 IParticleGeo 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
 IParticleGeo 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
 IParticleGeo mirror(double planeX, double planeY, double planeZ)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IParticleGeo mirror(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IParticleGeo mirror(IVecI planeDir)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IParticleGeo mirror(IVecI center, IVecI planeDir)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IParticleGeo mul(double v)
           
 IParticleGeo mul(IDoubleI v)
           
 IParticleGeo mv(double x, double y, double z)
          mv() is alias of add()
 IParticleGeo mv(IDoubleI x, IDoubleI y, IDoubleI z)
          mv() is alias of add()
 IParticleGeo mv(IVecI v)
          mv() is alias of add()
 IParticleGeo 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
 IParticleGeo pos(IVecI v)
          set position
 IVec position()
          get position
 IParticleGeo position(IVecI v)
          set position
 void preupdate()
          update of velocity is done in preupdate (updated 2012/08/26)
 IParticleGeo pull(double fx, double fy, double fz)
          adding negative force
 IParticleGeo pull(IVecI f)
          adding negative force
 IParticleGeo push(double fx, double fy, double fz)
          adding force
 IParticleGeo push(IVecI f)
          adding force
 IParticleGeo ref(double planeX, double planeY, double planeZ)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IParticleGeo ref(double centerX, double centerY, double centerZ, double planeX, double planeY, double planeZ)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IParticleGeo ref(IVecI planeDir)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IParticleGeo ref(IVecI center, IVecI planeDir)
          reflect (mirror) 3 dimensionally to the other side of the plane
 IParticleGeo removeTarget(int i)
          remove target object.
 IParticleGeo removeTarget(IObject obj)
          remove target object.
 IParticleGeo reset()
          setting force zero
 IParticleGeo resetForce()
          setting force zero (alias of reset())
 IParticleGeo rev()
          alias of neg()
 IParticleGeo rot(double angle)
          rotation on XY plane
 IParticleGeo rot(double axisX, double axisY, double axisZ, double angle)
          rotation around axis vector
 IParticleGeo rot(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double angle)
          rotation around axis vector and center point
 IParticleGeo rot(IDoubleI angle)
          rotation on XY plane
 IParticleGeo rot(IVecI axis, double angle)
          rotation around axis vector
 IParticleGeo rot(IVecI axis, IDoubleI angle)
          rotation around axis vector
 IParticleGeo rot(IVecI axis, IVecI destDir)
          Rotate to destination direction vector.
 IParticleGeo rot(IVecI center, IVecI axis, double angle)
          rotation around axis vector and center point
 IParticleGeo rot(IVecI center, IVecI axis, IDoubleI angle)
          rotation around axis vector and center point
 IParticleGeo rot(IVecI center, IVecI axis, IVecI destPt)
          Rotate to destination point location.
 IParticleGeo rot2(double angle)
          rotation on xy-plane; alias of rot(double)
 IParticleGeo rot2(double centerX, double centerY, double angle)
          rotation on xy-plane
 IParticleGeo rot2(IDoubleI angle)
          rotation on xy-plane; alias of rot(IDoubleI)
 IParticleGeo rot2(IVecI destDir)
          Rotation on xy-plane to destination direction vector.
 IParticleGeo rot2(IVecI center, double angle)
          rotation on xy-plane
 IParticleGeo rot2(IVecI center, IDoubleI angle)
          rotation on xy-plane
 IParticleGeo rot2(IVecI center, IVecI destPt)
          Rotation on xy-plane to destination point location.
 IParticleGeo scale(double f)
          alias of mul
 IParticleGeo scale(double centerX, double centerY, double centerZ, double f)
          scale from a center
 IParticleGeo scale(IDoubleI f)
          alias of mul
 IParticleGeo scale(IVecI center, double f)
          scale from a center
 IParticleGeo scale(IVecI center, IDoubleI f)
          scale from a center
 IParticleGeo scale1d(double axisX, double axisY, double axisZ, double f)
          scale only in 1 direction
 IParticleGeo scale1d(double centerX, double centerY, double centerZ, double axisX, double axisY, double axisZ, double f)
          scale only in 1 direction from a center
 IParticleGeo scale1d(IVecI axis, double f)
          scale only in 1 direction
 IParticleGeo scale1d(IVecI axis, IDoubleI f)
          scale only in 1 direction
 IParticleGeo scale1d(IVecI center, IVecI axis, double f)
          scale only in 1 direction from a center
 IParticleGeo scale1d(IVecI center, IVecI axis, IDoubleI f)
          scale only in 1 direction from a center
 IParticleGeo set(double x, double y, double z)
           
 IParticleGeo set(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IParticleGeo set(IVecI v)
           
 IParticleGeo shear(double sxy, double syx, double syz, double szy, double szx, double sxz)
          shear operation
 IParticleGeo shear(IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
          shear operation
 IParticleGeo shear(IVecI center, double sxy, double syx, double syz, double szy, double szx, double sxz)
          shear operation
 IParticleGeo shear(IVecI center, IDoubleI sxy, IDoubleI syx, IDoubleI syz, IDoubleI szy, IDoubleI szx, IDoubleI sxz)
          shear operation
 IParticleGeo shearXY(double sxy, double syx)
          shear operation on XY
 IParticleGeo shearXY(IDoubleI sxy, IDoubleI syx)
          shear operation on XY
 IParticleGeo shearXY(IVecI center, double sxy, double syx)
          shear operation on XY
 IParticleGeo shearXY(IVecI center, IDoubleI sxy, IDoubleI syx)
          shear operation on XY
 IParticleGeo shearYZ(double syz, double szy)
          shear operation on YZ
 IParticleGeo shearYZ(IDoubleI syz, IDoubleI szy)
          shear operation on YZ
 IParticleGeo shearYZ(IVecI center, double syz, double szy)
          shear operation on YZ
 IParticleGeo shearYZ(IVecI center, IDoubleI syz, IDoubleI szy)
          shear operation on YZ
 IParticleGeo shearZX(double szx, double sxz)
          shear operation on ZX
 IParticleGeo shearZX(IDoubleI szx, IDoubleI sxz)
          shear operation on ZX
 IParticleGeo shearZX(IVecI center, double szx, double sxz)
          shear operation on ZX
 IParticleGeo shearZX(IVecI center, IDoubleI szx, IDoubleI sxz)
          shear operation on ZX
 boolean skipUpdateOnce()
          for other agent to control particle
 IParticleGeo skipUpdateOnce(boolean f)
          for other agent to control particle
 IParticleGeo sub(double x, double y, double z)
           
 IParticleGeo sub(IDoubleI x, IDoubleI y, IDoubleI z)
           
 IParticleGeo 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
 IParticleGeo target(IObject targetObj)
          add terget object to be updated by this dynamic object.
 IVec2 to2d()
           
 IVec2 to2d(IVecI projectionDir)
           
 IVec2 to2d(IVecI xaxis, IVecI yaxis)
           
 IVec2 to2d(IVecI xaxis, IVecI yaxis, IVecI origin)
           
 IVec4 to4d()
           
 IVec4 to4d(double w)
           
 IVec4 to4d(IDoubleI w)
           
 java.lang.String toString()
           
 IParticleGeo transform(IMatrix3I mat)
          transform with a transformation matrix
 IParticleGeo transform(IMatrix4I mat)
          transform with a transformation matrix
 IParticleGeo transform(IVecI xvec, IVecI yvec, IVecI zvec)
          transform with a transformation vectors
 IParticleGeo transform(IVecI xvec, IVecI yvec, IVecI zvec, IVecI translate)
          transform with a transformation vectors
 IParticleGeo translate(double x, double y, double z)
          translate is alias of add()
 IParticleGeo translate(IDoubleI x, IDoubleI y, IDoubleI z)
          alias of add()
 IParticleGeo translate(IVecI v)
          alias of add()
 IParticleGeo unfix()
          unfix movement
 IParticleGeo unit()
          unitize
 void update()
          update of velocity is done in preupdate and update of position is done in update() (updated 2012/08/26)
 IVec vel()
          get velocity
 IParticleGeo vel(IVecI v)
          set velocity
 IVec velocity()
          get velocity
 IParticleGeo velocity(IVecI v)
          set velocity
 double x()
          implements of IVecI
 IParticleGeo x(double vx)
          setting x component
 IParticleGeo 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
 IParticleGeo y(double vy)
          setting y component
 IParticleGeo 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
 IParticleGeo z(double vz)
          setting z component
 IParticleGeo z(IDoubleI vz)
          setting z component
 double z(ISwitchE e)
          getting z component
 IDoubleI z(ISwitchR r)
          getting z component
 IParticleGeo zero()
          setting all zero
 
Methods inherited from class igeo.IDynamicsBase
initDynamicsBase, initDynamicsBase, initDynamicsBase, interact, localDynamics, parent, parent, postinteract, postupdate, preinteract, target, targetNum, targets, updateTarget
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface igeo.IParticleI
target, targetNum, targets, updateTarget
 

Field Detail

defaultFriction

static double defaultFriction

mass

public double mass

pos

public IVec pos

vel

public IVec vel

frc

public IVec frc

fixed

public boolean fixed

friction

public double friction

skipUpdateOnce

public boolean skipUpdateOnce
when other agent set locatin, this skips to update the position by the velocity

Constructor Detail

IParticleGeo

public IParticleGeo()

IParticleGeo

public IParticleGeo(IVec pos)

IParticleGeo

public IParticleGeo(IVec pos,
                    IObject parent)

IParticleGeo

public IParticleGeo(IVecI p)

IParticleGeo

public IParticleGeo(IVecI p,
                    IObject parent)

IParticleGeo

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

IParticleGeo

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

IParticleGeo

public IParticleGeo(IPoint pt)

IParticleGeo

public IParticleGeo(IPointR pt)

IParticleGeo

public IParticleGeo(IParticleGeo ptcl)

IParticleGeo

public IParticleGeo(IParticleGeo ptcl,
                    IObject parent)

IParticleGeo

public IParticleGeo(IVec pos,
                    IVec vel)

IParticleGeo

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

IParticleGeo

public IParticleGeo(IVecI p,
                    IVecI v)

IParticleGeo

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

IParticleGeo

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

IParticleGeo

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

IParticleGeo

public IParticleGeo(IPoint pt,
                    IVecI v)

IParticleGeo

public IParticleGeo(IPointR pt,
                    IVecI v)

IParticleGeo

public IParticleGeo(IParticleGeo ptcl,
                    IVecI v)

IParticleGeo

public IParticleGeo(IParticleGeo 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 IParticleGeo dup()
Description copied from interface: ITransformable
duplicate the instance

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

fix

public IParticleGeo fix()
Description copied from interface: IParticleI
fix movement

Specified by:
fix in interface IParticleI

unfix

public IParticleGeo unfix()
Description copied from interface: IParticleI
unfix movement

Specified by:
unfix in interface IParticleI

fixed

public boolean fixed()
check if it's fixed

Specified by:
fixed in interface IParticleI

skipUpdateOnce

public IParticleGeo skipUpdateOnce(boolean f)
for other agent to control particle

Specified by:
skipUpdateOnce in interface IParticleI

skipUpdateOnce

public boolean skipUpdateOnce()
for other agent to control particle

Specified by:
skipUpdateOnce in interface IParticleI

mass

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

Specified by:
mass in interface IParticleI

mass

public IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo decay(double d)
Specified by:
decay in interface IParticleI

push

public IParticleGeo push(IVecI f)
adding force

Specified by:
push in interface IParticleI

push

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

Specified by:
push in interface IParticleI

pull

public IParticleGeo pull(IVecI f)
adding negative force

Specified by:
pull in interface IParticleI

pull

public IParticleGeo pull(double fx,
                         double fy,
                         double fz)
adding negative force

Specified by:
pull in interface IParticleI

addForce

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

Specified by:
addForce in interface IParticleI

addForce

public IParticleGeo addForce(double fx,
                             double fy,
                             double fz)
adding force (alias of push)

Specified by:
addForce in interface IParticleI

reset

public IParticleGeo reset()
setting force zero

Specified by:
reset in interface IParticleI

resetForce

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

Specified by:
resetForce in interface IParticleI

preupdate

public void preupdate()
update of velocity is done in preupdate (updated 2012/08/26)

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

update

public void update()
update of velocity is done in preupdate and update of position is done in update() (updated 2012/08/26)

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 IParticleGeo x(double vx)
Description copied from interface: IVecI
setting x component

Specified by:
x in interface IVecI

y

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

Specified by:
y in interface IVecI

z

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

Specified by:
z in interface IVecI

x

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

Specified by:
x in interface IVecI

y

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

Specified by:
y in interface IVecI

z

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

to2d

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

to2d

public IVec2 to2d(IVecI xaxis,
                  IVecI yaxis)
Specified by:
to2d in interface IVecI

to2d

public IVec2 to2d(IVecI xaxis,
                  IVecI yaxis,
                  IVecI origin)
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 IParticleGeo set(IVecI v)
Specified by:
set in interface IVecI

set

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

set

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

add

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

add

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

add

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

sub

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

sub

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

sub

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

mul

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

mul

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

div

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

div

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

neg

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

rev

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

Specified by:
rev in interface IVecI

flip

public IParticleGeo flip()
Description copied from interface: IVecI
alias of neg()

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

zero

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

Specified by:
zero in interface IVecI

add

public IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo len(IDoubleI l)
Description copied from interface: IVecI
setting length

Specified by:
len in interface IVecI

len

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

Specified by:
len in interface IVecI

unit

public IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo rot(IVecI axis,
                        IVecI destDir)
Rotate to destination direction vector.

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

rot

public IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo rot2(double centerX,
                         double centerY,
                         double angle)
Description copied from interface: IVecI
rotation on xy-plane

Specified by:
rot2 in interface IVecI

rot2

public IParticleGeo 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 IParticleGeo 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 IParticleGeo scale(IDoubleI f)
alias of mul

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

scale

public IParticleGeo scale(double f)
alias of mul

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

scale

public IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo scale1d(IVecI axis,
                            double f)
scale only in 1 direction

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

scale1d

public IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo 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 IParticleGeo cp()
cp() is alias of dup()

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

cp

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

target

public IParticleGeo target(IObject targetObj)
add terget object to be updated by this dynamic object.

Specified by:
target in interface IDynamics
Specified by:
target in interface IParticleI
Overrides:
target in class IDynamicsBase

removeTarget

public IParticleGeo removeTarget(int i)
remove target object.

Specified by:
removeTarget in interface IDynamics
Specified by:
removeTarget in interface IParticleI
Overrides:
removeTarget in class IDynamicsBase

removeTarget

public IParticleGeo removeTarget(IObject obj)
remove target object.

Specified by:
removeTarget in interface IDynamics
Specified by:
removeTarget in interface IParticleI
Overrides:
removeTarget in class IDynamicsBase