org.concord.collisions.engine
Class BedSpringWorld

java.lang.Object
  |
  +--org.concord.collisions.engine.JPartWorld
        |
        +--org.concord.collisions.engine.BedSpringWorld
All Implemented Interfaces:
java.awt.event.ActionListener, CCMassive, CCSimulator, java.util.EventListener

public class BedSpringWorld
extends JPartWorld

main class for bed spring simulation contains methods for calculating positions/velocity of particles many methods are duplicated in GUIPanel class

Author:
Dmitry Markman
See Also:
GUIPanel

Inner classes inherited from class org.concord.collisions.engine.JPartWorld
JPartWorld.Distance2Line
 
Fields inherited from class org.concord.collisions.engine.JPartWorld
ATOM_ATOM_COLLISION, ATOM_DAEMON_COLLISION, ATOM_WALL_COLLISION, DEFAULT_CALC_DT, DEFAULT_DRAW_DT, doPredictionCorrection, gravityX, gravityY, simulationState, totalAtomsEnergy, totalBoxesEnergy, totalWallsEnergy, TYPE_ATOM, TYPE_BOX, TYPE_DAEMON, TYPE_WALL, worldLock
 
Fields inherited from interface org.concord.shared.simulation.CCSimulator
SIM_RESET_STATE, SIM_RUN_STATE, SIM_STOP_STATE, SIM_UNDEF_STATE
 
Constructor Summary
BedSpringWorld(float calcTimerDT, float drawTimerDT)
           
BedSpringWorld(float calcTimerDT, float drawTimerDT, float gridLength)
           
BedSpringWorld(int n)
           
BedSpringWorld(int n, float gridLength)
           
 
Method Summary
 void addBorder(boolean horDirection, int nGrids)
           
 void addBorder(boolean horDirection, int nGrids, boolean makeSources)
           
 void addScreen(int nx1, int ny1, int nx2, int ny2)
           
 void addSource(int nx, int ny, float AX, float FX, float OX, float AY, float FY, float OY)
           
 void addSource(int nx, int ny, float AX, float FX, float OX, float AY, float FY, float OY, java.awt.Color color)
           
 void addWorldElement(JWorldElement element)
          addWorldElement add JWorldElement into the world
protected  float calculateStep()
           
 void cancelColorTempDependencies()
          set color dependency parameters between element's temperature and element's color cancel color dependence
 void continueSteps()
          continueSteps continues simulation all timers will be started
 void doOneStep()
          doOneStep does only one step all timers will be started
protected  void fillAtoms()
           
 void nextStep()
          nextStep shouldn't be called directly calculates next simulation's step
 void removeScreen(int nx1, int ny1, int nx2, int ny2)
           
 void removeSource(int nx, int ny)
           
 void reset()
          reset reset simulation all timers will be stopped
 void setBedSpringGridLength(float gridLength)
           
 void setColorTempDependencies(java.awt.Color minTempColor, float minTemperature, java.awt.Color maxTempColor, float maxTemperature)
          set color dependency parameters between element's temperature and element's color
 void setDoAACollisions(boolean doAACollisions)
           
 void setDoAWCollisions(boolean doAWCollisions)
           
 void start()
          start start simulation all timers will be started
 void startBuildBedSpringWorld(float x, float y)
           
 void stop()
          stop stop simulation all timers will be stopped
 void stopBuildBedSpringWorld()
           
 
Methods inherited from class org.concord.collisions.engine.JPartWorld
actionPerformed, addCollisionsListener, addSoundThread, addStepListener, caclulateDistanceToLine, caclulateDistanceToLine, calculateAverageAtomsEnergyInRect, calculateColor, calculateTotalAtomsEnergy, calculateTotalAtomsEnergyInRect, calculateTotalAtomsEnergyXInRect, calculateTotalAtomsEnergyYInRect, calculateTotalBoxesEnergy, calculateTotalWallsEnergy, checkDTCollision, checkForSingleAtomAtomCollision, checkForSingleAtomBoxCollision, checkForSingleAtomDaemonCollision, checkForSingleAtomWallCollision, clearAllAtomsTrace, clearSound, clearWorld, closeEverything, cos, createSoundThreads, distributeAtomsRandomly, distributeAtomsRandomly, distributeAtomsRandomlyConstVel, distributeAtomsRandomlyConstVel, findAtom, getAccelerationKoeff, getAtomByName, getAtoms, getBoxByName, getBoxes, getCalcDT, getCalculateTime, getCmFromPx, getCMPoint, getCMPointX, getCMPointY, getCmUnit, getDaemonByName, getDaemons, getDefaultCalculateDT, getDesirableSimulationDT, getForceCalculator, getGravityX, getGravityY, getGUIPanel, getMass, getNeedScreenResolution, getPanelToWorldCoordinateTuner, getPxFromCm, getPxUnit, getScreenResolution, getSimulationState, getSoundOn, getToolkitScreenResolution, getTotalAtomsEnergy, getTotalBoxesEnergy, getTotalEnergy, getTotalWallsEnergy, getWallByName, getWalls, getWorldElementByName, getWorldToPanelCoordinateTuner, howManyParticleInRect, initElements, isBedSpringMode, isDoAACollisions, isDoAWCollisions, isDoCollisions, isDoPredictionCorrection, isRunning, manageCollision, notifyCollisionsListeners, playChannel, playChannel, pr, pr, redrawWorld, rememberCurrElementsPropertiesAsInit, removeAtomFromWorld, removeAtomFromWorld, removeAtomsFromWorld, removeBoxesFromWorld, removeBoxFromWorld, removeBoxFromWorld, removeCollisionsListener, removeDaemonFromWorld, removeDaemonFromWorld, removeDaemonsFromWorld, removeForceCalculator, removeStepListener, removeWallFromWorld, removeWallFromWorld, removeWallsFromWorld, resetStepListeners, reverseAllVelocityInTheWorld, round, round, setBedSpringMode, setCMPointX, setCMPointY, setDesirableSimulationDT, setDoCollisions, setDoPredictionCorrection, setForceCalculator, setGravity, setGravityX, setGravityY, setGuiPanel, setNeedScreenResolution, setNeedScreenResolution, setPropertyForAtomsInRect, setPropertyForWallsInRect, setSoundOn, setSoundToggle, sin
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BedSpringWorld

public BedSpringWorld(int n)

BedSpringWorld

public BedSpringWorld(int n,
                      float gridLength)

BedSpringWorld

public BedSpringWorld(float calcTimerDT,
                      float drawTimerDT)

BedSpringWorld

public BedSpringWorld(float calcTimerDT,
                      float drawTimerDT,
                      float gridLength)
Method Detail

setColorTempDependencies

public void setColorTempDependencies(java.awt.Color minTempColor,
                                     float minTemperature,
                                     java.awt.Color maxTempColor,
                                     float maxTemperature)
Description copied from class: JPartWorld
set color dependency parameters between element's temperature and element's color
Overrides:
setColorTempDependencies in class JPartWorld
Following copied from class: org.concord.collisions.engine.JPartWorld
Parameters:
minTempColor - color that corresponds to minimum Temperature
minTemperature - low temperature constraint
maxTempColor - color that corresponds to maximum Temperature
maxTemperature - high temperature constraint

cancelColorTempDependencies

public void cancelColorTempDependencies()
Description copied from class: JPartWorld
set color dependency parameters between element's temperature and element's color cancel color dependence
Overrides:
cancelColorTempDependencies in class JPartWorld
Following copied from class: org.concord.collisions.engine.JPartWorld
See Also:
setColorTempDependencies

setDoAACollisions

public void setDoAACollisions(boolean doAACollisions)
Overrides:
setDoAACollisions in class JPartWorld

setDoAWCollisions

public void setDoAWCollisions(boolean doAWCollisions)
Overrides:
setDoAWCollisions in class JPartWorld

setBedSpringGridLength

public void setBedSpringGridLength(float gridLength)

addWorldElement

public void addWorldElement(JWorldElement element)
                     throws java.lang.Exception
addWorldElement add JWorldElement into the world
Overrides:
addWorldElement in class JPartWorld
Parameters:
element - to add
See Also:
JWorldElement, JWall, JAtom

startBuildBedSpringWorld

public void startBuildBedSpringWorld(float x,
                                     float y)

stopBuildBedSpringWorld

public void stopBuildBedSpringWorld()

addBorder

public void addBorder(boolean horDirection,
                      int nGrids)

addBorder

public void addBorder(boolean horDirection,
                      int nGrids,
                      boolean makeSources)

removeSource

public void removeSource(int nx,
                         int ny)

addSource

public void addSource(int nx,
                      int ny,
                      float AX,
                      float FX,
                      float OX,
                      float AY,
                      float FY,
                      float OY)

addSource

public void addSource(int nx,
                      int ny,
                      float AX,
                      float FX,
                      float OX,
                      float AY,
                      float FY,
                      float OY,
                      java.awt.Color color)

removeScreen

public void removeScreen(int nx1,
                         int ny1,
                         int nx2,
                         int ny2)

addScreen

public void addScreen(int nx1,
                      int ny1,
                      int nx2,
                      int ny2)

fillAtoms

protected void fillAtoms()

stop

public void stop()
Description copied from class: JPartWorld
stop stop simulation all timers will be stopped
Overrides:
stop in class JPartWorld
Following copied from class: org.concord.collisions.engine.JPartWorld
See Also:
JPartWorld#calculateTimer, JPartWorld#drawTimer, JPartWorld.isRunning()

reset

public void reset()
Description copied from class: JPartWorld
reset reset simulation all timers will be stopped
Overrides:
reset in class JPartWorld
Following copied from class: org.concord.collisions.engine.JPartWorld
See Also:
JPartWorld#calculateTimer, JPartWorld#drawTimer, JPartWorld.isRunning()

continueSteps

public void continueSteps()
Description copied from class: JPartWorld
continueSteps continues simulation all timers will be started
Overrides:
continueSteps in class JPartWorld
Following copied from class: org.concord.collisions.engine.JPartWorld
See Also:
JPartWorld#calculateTimer, JPartWorld#drawTimer, JPartWorld.isRunning()

start

public void start()
Description copied from class: JPartWorld
start start simulation all timers will be started
Overrides:
start in class JPartWorld
Following copied from class: org.concord.collisions.engine.JPartWorld
See Also:
JPartWorld#calculateTimer, JPartWorld#drawTimer, JPartWorld.isRunning()

doOneStep

public void doOneStep()
Description copied from class: JPartWorld
doOneStep does only one step all timers will be started
Overrides:
doOneStep in class JPartWorld
Following copied from class: org.concord.collisions.engine.JPartWorld
See Also:
JPartWorld#calculateTimer, JPartWorld#drawTimer, JPartWorld.isRunning()

nextStep

public void nextStep()
Description copied from class: JPartWorld
nextStep shouldn't be called directly calculates next simulation's step
Overrides:
nextStep in class JPartWorld
Following copied from class: org.concord.collisions.engine.JPartWorld
See Also:
CCTimer

calculateStep

protected float calculateStep()
Overrides:
calculateStep in class JPartWorld