Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## igeo
Class IParticleGeo

    java.lang.Object
      igeo.IDynamicsBase
          igeo.IParticleGeo

All Implemented Interfaces:
  IArithmeticVal<IVecI,IDoubleI>, IDynamics, IParameter, IParticleI, ISubobject, ITransformable, IVal, IVecI, IVecOp

Direct Known Subclasses:
  IBoidGeo, IParticleOnCurveGeo, IParticleOnMeshGeo, IParticleOnPlaneGeo

    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` | `postupdate()` this is changed again because force in update cannot be reflected (updated 2014/03/10)
`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
`IParticleGeo` | `x(IVec2I v)` setting x component by x component of input vector
`IParticleGeo` | `x(IVecI v)` setting x component by x component of input vector
`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
`IParticleGeo` | `y(IVec2I v)` setting y component by y component of input vector
`IParticleGeo` | `y(IVecI v)` setting y component by y component of input vector
`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` | `z(IVecI v)` setting z component by z component of input vector
`IParticleGeo` | `zero()` setting all zero

Methods inherited from class igeo.IDynamicsBase
`initDynamicsBase, initDynamicsBase, initDynamicsBase, interact, localDynamics, parent, parent, postinteract, 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 `IArithmeticVal<IVecI,IDoubleI>`
  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`

### postupdate

    public void postupdate()

  this is changed again because force in update cannot be reflected (updated 2014/03/10)

  Specified by:
    `postupdate` in interface `IDynamics`
  Overrides:
    `postupdate` 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 IParticleGeo x(IVecI v)

  setting x component by x component of input vector

  Specified by:
    `x` in interface `IVecI`

### y

    public IParticleGeo y(IVecI v)

  setting y component by y component of input vector

  Specified by:
    `y` in interface `IVecI`

### z

    public IParticleGeo z(IVecI v)

  setting z component by z component of input vector

  Specified by:
    `z` in interface `IVecI`

### x

    public IParticleGeo x(IVec2I v)

  setting x component by x component of input vector

  Specified by:
    `x` in interface `IVecI`

### y

    public IParticleGeo y(IVec2I v)

  setting y component by y component of input vector

  Specified by:
    `y` 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 `IArithmeticVal<IVecI,IDoubleI>`
  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 `IArithmeticVal<IVecI,IDoubleI>`
  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 `IArithmeticVal<IVecI,IDoubleI>`
  Specified by:
    `sub` in interface `ITransformable`
  Specified by:
    `sub` in interface `IVecI`

### mul

    public IParticleGeo mul(IDoubleI v)

  Specified by:
    `mul` in interface `IArithmeticVal<IVecI,IDoubleI>`
  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 `IArithmeticVal<IVecI,IDoubleI>`
  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 `IArithmeticVal<IVecI,IDoubleI>`
  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 `IArithmeticVal<IVecI,IDoubleI>`
  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`

Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD