igeo
Interface IParticleI

All Superinterfaces:
IParameter, ITransformable, IVal, IVecI, IVecOp
All Known Subinterfaces:
IBoidI, IParticleOnCurveI
All Known Implementing Classes:
IBoid, IBoidGeo, IBoidTrajectory, IParticle, IParticleAgent, IParticleGeo, IParticleOnCurve, IParticleOnCurveAgent, IParticleOnCurveGeo, IParticleOnMeshGeo, IParticleTrajectory

public interface IParticleI
extends IVecI

Class of an implementation of IDynamicObject 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

Method Summary
 IVec acc()
          get acceleration.
 IVec acceleration()
          get acceleration.
 IParticleI addForce(double fx, double fy, double fz)
          alias of push
 IParticleI addForce(IVecI f)
          alias of push
 double decay()
           
 IParticleI decay(double d)
           
 IParticleI fix()
          fix movement
 boolean fixed()
          check if it's fixed
 IVec force()
          get force
 IParticleI force(IVecI v)
          set force
 IVec frc()
          get force
 IParticleI frc(IVecI v)
          set force
 double fric()
          get friction
 IParticleI fric(double f)
          set friction
 double friction()
          get friction
 IParticleI friction(double f)
          set friction
 double mass()
          get mass
 IParticleI mass(double m)
          set mass
 IVec pos()
          get position
 IParticleI pos(IVecI v)
          set position
 IVec position()
          get position
 IParticleI position(IVecI v)
          set position
 IParticleI pull(double fx, double fy, double fz)
          equivalent to push(f.dup().neg())
 IParticleI pull(IVecI f)
          equivalent to push(f.dup().neg())
 IParticleI push(double fx, double fy, double fz)
          adding force to particle
 IParticleI push(IVecI f)
          adding force to particle
 IParticleI removeTarget(int i)
          remove target object.
 IParticleI removeTarget(IObject obj)
          remove target object.
 IParticleI reset()
          setting force zero
 IParticleI resetForce()
          alias of reset
 boolean skipUpdateOnce()
          for other agent to control particle
 IParticleI skipUpdateOnce(boolean f)
          for other agent to control particle
 IObject target(int i)
          get target object.
 IParticleI target(IObject targetObj)
          add terget object to be updated by this dynamic object.
 int targetNum()
          get total target number.
 java.util.ArrayList<IObject> targets()
          get all target objects.
 IParticleI unfix()
          unfix movement
 void updateTarget()
          update all terget objects (should be called when the dynamic object is updated).
 IVec vel()
          get velocity
 IParticleI vel(IVecI v)
          set velocity
 IVec velocity()
          get velocity
 IParticleI velocity(IVecI v)
          set velocity
 
Methods inherited from interface igeo.IVecI
add, add, add, add, add, add, add, angle, angle, angle, angle, angle, angle, angle, angle, bisect, bisect, cp, cp, cp, cp, cross, cross, dif, dif, diff, diff, dist, dist, dist, dist, dist2, dist2, dist2, dist2, div, div, dot, dot, dot, dot, dup, eq, eq, eq, eq, eq, eq, eq, eq, eqX, eqX, eqX, eqX, eqX, eqX, eqX, eqX, eqY, eqY, eqY, eqY, eqY, eqY, eqY, eqY, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, eqZ, flip, get, getX, getY, getZ, isValid, len, len, len, len, len, len2, len2, len2, mid, mid, mirror, mirror, mirror, mirror, mul, mul, mv, mv, mv, neg, nml, nml, nml, nml, ref, ref, ref, ref, rev, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot, rot2, rot2, rot2, rot2, rot2, rot2, rot2, scale, scale, scale, scale, scale, scale1d, scale1d, scale1d, scale1d, scale1d, scale1d, set, set, set, shear, shear, shear, shear, shearXY, shearXY, shearXY, shearXY, shearYZ, shearYZ, shearYZ, shearYZ, shearZX, shearZX, shearZX, shearZX, sub, sub, sub, sum, sum, sum, sum, sum, sum, sum, to2d, to2d, to2d, to2d, to4d, to4d, to4d, transform, transform, transform, transform, translate, translate, translate, unit, x, x, x, x, x, y, y, y, y, y, z, z, z, z, z, zero
 

Method Detail

mass

double mass()
get mass


mass

IParticleI mass(double m)
set mass


position

IVec position()
get position


pos

IVec pos()
get position


position

IParticleI position(IVecI v)
set position


pos

IParticleI pos(IVecI v)
set position


velocity

IVec velocity()
get velocity


vel

IVec vel()
get velocity


velocity

IParticleI velocity(IVecI v)
set velocity


vel

IParticleI vel(IVecI v)
set velocity


acceleration

IVec acceleration()
get acceleration. no method to set acceleration. set force instead


acc

IVec acc()
get acceleration. no method to set acceleration. set force instead


force

IVec force()
get force


frc

IVec frc()
get force


force

IParticleI force(IVecI v)
set force


frc

IParticleI frc(IVecI v)
set force


friction

double friction()
get friction


fric

double fric()
get friction


friction

IParticleI friction(double f)
set friction


fric

IParticleI fric(double f)
set friction


decay

double decay()

decay

IParticleI decay(double d)

push

IParticleI push(IVecI f)
adding force to particle


push

IParticleI push(double fx,
                double fy,
                double fz)
adding force to particle


pull

IParticleI pull(IVecI f)
equivalent to push(f.dup().neg())


pull

IParticleI pull(double fx,
                double fy,
                double fz)
equivalent to push(f.dup().neg())


addForce

IParticleI addForce(IVecI f)
alias of push


addForce

IParticleI addForce(double fx,
                    double fy,
                    double fz)
alias of push


reset

IParticleI reset()
setting force zero


resetForce

IParticleI resetForce()
alias of reset


fix

IParticleI fix()
fix movement


unfix

IParticleI unfix()
unfix movement


fixed

boolean fixed()
check if it's fixed


skipUpdateOnce

IParticleI skipUpdateOnce(boolean f)
for other agent to control particle


skipUpdateOnce

boolean skipUpdateOnce()
for other agent to control particle


target

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


targetNum

int targetNum()
get total target number.


target

IObject target(int i)
get target object.


targets

java.util.ArrayList<IObject> targets()
get all target objects.


removeTarget

IParticleI removeTarget(int i)
remove target object.


removeTarget

IParticleI removeTarget(IObject obj)
remove target object.


updateTarget

void updateTarget()
update all terget objects (should be called when the dynamic object is updated).