igeo
Class IDynamicsBase

java.lang.Object
  extended by igeo.IDynamicsBase
All Implemented Interfaces:
IDynamics, ISubobject
Direct Known Subclasses:
IParticle, IParticleDirectionLink, IParticleDistanceLink, ISpacingEqualizer, ISpring, IStraightener, ITension, ITensionOnCurve

public class IDynamicsBase
extends java.lang.Object
implements IDynamics

Implementation of IDynamics. It provides management of parent IObject and targets to be updated.

Version:
0.7.0.0
Author:
Satoru Sugihara

Field Summary
 IObject parent
          parent
 java.util.ArrayList<IObject> targets
          target objects to be updated by dynamic object
 
Constructor Summary
IDynamicsBase()
          automatically registered in default IDynamicServer
IDynamicsBase(IDynamicsBase d)
           
IDynamicsBase(IObject parent)
           
IDynamicsBase(IServerI server)
          registered in specified IDynamicServer.
 
Method Summary
 void initDynamicsBase()
           
 void initDynamicsBase(IObject parent)
           
 void initDynamicsBase(IServerI server)
          if null is provided at server, this will not be added to any server, not even the default one
 void interact(java.util.ArrayList<IDynamics> dynamics)
          behavior definition of interaction with other dynamic objects.
 IObject parent()
          getting parent object
 IDynamicsBase parent(IObject par)
          setting parent object
 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().
 IDynamicsBase removeTarget(int i)
          remove target object.
 IDynamicsBase removeTarget(IObject obj)
          remove target object.
 IObject target(int i)
          get target object.
 IDynamicsBase 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.
 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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parent

public IObject parent
parent


targets

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

Constructor Detail

IDynamicsBase

public IDynamicsBase()
automatically registered in default IDynamicServer


IDynamicsBase

public IDynamicsBase(IServerI server)
registered in specified IDynamicServer. not registered if the server is null.


IDynamicsBase

public IDynamicsBase(IObject parent)

IDynamicsBase

public IDynamicsBase(IDynamicsBase d)
Method Detail

initDynamicsBase

public void initDynamicsBase()

initDynamicsBase

public void initDynamicsBase(IServerI server)
if null is provided at server, this will not be added to any server, not even the default one


initDynamicsBase

public void initDynamicsBase(IObject parent)

parent

public IObject parent()
Description copied from interface: ISubobject
getting parent object

Specified by:
parent in interface ISubobject

parent

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

Specified by:
parent in interface ISubobject

target

public IDynamicsBase 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 IDynamicsBase removeTarget(int i)
remove target object.

Specified by:
removeTarget in interface IDynamics

removeTarget

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