igeo
Class ITensionLine

java.lang.Object
  extended by igeo.IObject
      extended by igeo.IGeometry
          extended by igeo.ICurve
              extended by igeo.ITensionLine
All Implemented Interfaces:
ICurveI, ICurveOp, IDynamics, IParameter, ISubobject, ITensionI, ITransformable

public class ITensionLine
extends ICurve
implements ITensionI, IDynamics

Class of IDynamicObject to simulate tension force between two particles.

Version:
0.7.0.0;
Author:
Satoru Sugihara

Field Summary
 java.util.ArrayList<IObject> targets
          target objects to be updated by dynamic object
 ITension tensionDynamics
           
 
Fields inherited from class igeo.ICurve
curve
 
Fields inherited from class igeo.IObject
attribute, dynamics, graphics, parameter, server
 
Fields inherited from interface igeo.ITensionI
defaultTension
 
Constructor Summary
ITensionLine(IParticleI p1, IParticleI p2)
           
ITensionLine(IParticleI p1, IParticleI p2, double tension)
           
ITensionLine(IVecI p1, IVecI p2)
           
ITensionLine(IVecI p1, IVecI p2, double tension)
           
 
Method Summary
 boolean constant()
          if constantTension is true, amount of force is always constant and it's equals to tension.
 ITensionLine constant(boolean cnst)
           
 void initTensionLine(IParticleI p1, IParticleI p2)
           
 void initTensionLine(IParticleI p1, IParticleI p2, double tension)
           
 void interact(java.util.ArrayList<IDynamics> dynamics)
          behavior definition of interaction with other dynamic objects.
 ITensionLine parent()
          for IDynamics
 ITensionLine parent(IObject par)
          setting parent object
 IParticleI particle(int i)
          alias of pt(int)
 IParticleI particle1()
          alias of pt1()
 IParticleI particle2()
          alias of pt2()
 IVec pos(int i)
          position of particle(i)
 IVec pos1()
          position of particle1
 IVec pos2()
          position of particle2
 void postinteract(java.util.ArrayList<IDynamics> dynamics)
          executed after interact(ArrayList).
 void postupdate()
          executed after update().
 void preinteract(java.util.ArrayList<IDynamics> dynamics)
          executed before interact(ArrayList).
 void preupdate()
          executed before update().
 IParticleI pt(int i)
          getting end point.
 IParticleI pt1()
          getting end point1.
 IParticleI pt2()
          getting end point2.
 ITensionLine removeTarget(int i)
          remove target object.
 ITensionLine removeTarget(IObject obj)
          remove target object.
 IObject target(int i)
          get target object.
 ITensionLine 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.
 double tension()
          tension is a coefficient to convert distance of two points to amount of force.
 ITensionLine tension(double tensionIntensity)
           
 void update()
          behavior definition of updating dynamics in each time frame
 void updateTarget()
          update all terget objects (should be called when the dynamic object is updated).
 
Methods inherited from class igeo.ICurve
add, add, add, add, add, add, add, addCP, addCP, addCP, addCP, attr, clr, clr, clr, clr, clr, clr, clr, clr, clr, clr, clr, clr, clr, clr, cp, cp, cp, cp, cp, cp, cpNum, cpNum, cpNum, cps, createGraphic, deg, deg, deg, div, div, dup, end, endCP, ep, ep, epNum, epNum, epNum, flip, flipU, get, hide, hsb, hsb, hsb, hsb, initCurve, insertCP, insertCP, isClosed, isClosed, isClosed, isRational, isRational, isRational, isValid, knot, knot, knotNum, knotNum, knotNum, knots, knots, knots, layer, layer, len, len, len, mirror, mirror, mul, mul, mv, mv, mv, name, neg, num, num, num, pt, pt, ref, ref, removeCP, removeCP, removeCP, rev, revU, rot, rot, rot, rot, rot, rot, rot, rot, rot2, rot2, rot2, rot2, rot2, rot2, scale, scale, scale, scale, scale1d, scale1d, scale1d, scale1d, setColor, setColor, setColor, setColor, setColor, setColor, setColor, setColor, setColor, setColor, setColor, setColor, setColor, setColor, setHSBColor, setHSBColor, setHSBColor, setHSBColor, shear, shear, shear, shear, shearXY, shearXY, shearXY, shearXY, shearYZ, shearYZ, shearYZ, shearYZ, shearZX, shearZX, shearZX, shearZX, show, start, startCP, sub, sub, sub, tan, tan, transform, transform, transform, transform, translate, translate, translate, u, u, uend, uend, uend, ustart, ustart, ustart
 
Methods inherited from class igeo.IObject
addDynamics, alpha, alphaInt, attr, blue, blueInt, clearDynamics, clearGraphics, clr, clr, del, deletDynamics, deleteDynamics, deleteDynamics, deleteGraphic, dynamicsNum, getColor, getDynamics, getGraphic, getGraphic, getParameter, graphicsNum, green, greenInt, initGraphic, initObject, isVisible, layer, name, red, redInt, resetGraphic, server, setParameter, syncColor, updateGraphic, visible
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tensionDynamics

public ITension tensionDynamics

targets

public java.util.ArrayList<IObject> targets
target objects to be updated by dynamic object

Constructor Detail

ITensionLine

public ITensionLine(IParticleI p1,
                    IParticleI p2)

ITensionLine

public ITensionLine(IParticleI p1,
                    IParticleI p2,
                    double tension)

ITensionLine

public ITensionLine(IVecI p1,
                    IVecI p2)

ITensionLine

public ITensionLine(IVecI p1,
                    IVecI p2,
                    double tension)
Method Detail

initTensionLine

public void initTensionLine(IParticleI p1,
                            IParticleI p2)

initTensionLine

public void initTensionLine(IParticleI p1,
                            IParticleI p2,
                            double tension)

tension

public double tension()
Description copied from interface: ITensionI
tension is a coefficient to convert distance of two points to amount of force.

Specified by:
tension in interface ITensionI

tension

public ITensionLine tension(double tensionIntensity)
Specified by:
tension in interface ITensionI

constant

public boolean constant()
Description copied from interface: ITensionI
if constantTension is true, amount of force is always constant and it's equals to tension. Only direction of force changes. But if the distance is zero, force is also zero.

Specified by:
constant in interface ITensionI

constant

public ITensionLine constant(boolean cnst)
Specified by:
constant in interface ITensionI

pt

public IParticleI pt(int i)
getting end point. i==0 or i==1. if i is other value, returns first point.

Specified by:
pt in interface ITensionI

particle

public IParticleI particle(int i)
alias of pt(int)

Specified by:
particle in interface ITensionI

pos

public IVec pos(int i)
position of particle(i)

Specified by:
pos in interface ITensionI

pt1

public IParticleI pt1()
getting end point1.

Specified by:
pt1 in interface ITensionI

particle1

public IParticleI particle1()
alias of pt1()

Specified by:
particle1 in interface ITensionI

pos1

public IVec pos1()
position of particle1

Specified by:
pos1 in interface ITensionI

pt2

public IParticleI pt2()
getting end point2.

Specified by:
pt2 in interface ITensionI

particle2

public IParticleI particle2()
alias of pt2()

Specified by:
particle2 in interface ITensionI

pos2

public IVec pos2()
position of particle2

Specified by:
pos2 in interface ITensionI

parent

public ITensionLine parent()
for IDynamics

Specified by:
parent in interface ISubobject

parent

public ITensionLine parent(IObject par)
Description copied from interface: ISubobject
setting parent object

Specified by:
parent in interface ISubobject

target

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

Specified by:
target in interface IDynamics

targetNum

public int targetNum()
get total target number.

Specified by:
targetNum in interface IDynamics

target

public IObject target(int i)
get target object.

Specified by:
target in interface IDynamics

targets

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

Specified by:
targets in interface IDynamics

removeTarget

public ITensionLine removeTarget(int i)
remove target object.

Specified by:
removeTarget in interface IDynamics

removeTarget

public ITensionLine removeTarget(IObject obj)
remove target object.

Specified by:
removeTarget in interface IDynamics

updateTarget

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

Specified by:
updateTarget in interface IDynamics

interact

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

Specified by:
interact in interface IDynamics

update

public void update()
behavior definition of updating dynamics in each time frame

Specified by:
update in interface IDynamics

preinteract

public void preinteract(java.util.ArrayList<IDynamics> dynamics)
Description copied from interface: IDynamics
executed before interact(ArrayList). behavior can be changed by IConfig.enablePreinteract and IConfig.loopPreinteract.

Specified by:
preinteract in interface IDynamics

postinteract

public void postinteract(java.util.ArrayList<IDynamics> dynamics)
Description copied from interface: IDynamics
executed after interact(ArrayList). behavior can be changed by IConfig.enablePostinteract and IConfig.loopPostinteract.

Specified by:
postinteract in interface IDynamics

preupdate

public void preupdate()
Description copied from interface: IDynamics
executed before update(). behavior can be changed by IConfig.enablePreupdate and IConfig.loopPreupdate.

Specified by:
preupdate in interface IDynamics

postupdate

public void postupdate()
Description copied from interface: IDynamics
executed after update(). behavior can be changed by IConfig.enablePostupdate and IConfig.loopPostupdate.

Specified by:
postupdate in interface IDynamics