HelpFunctions.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package psoAlgoCode;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import classes.AbstractCpsObject;
  5. import classes.CpsEdge;
  6. import classes.CpsUpperNode;
  7. import classes.HolonBattery;
  8. import classes.HolonObject;
  9. import classes.HolonSwitch;
  10. import classes.SubNet;
  11. import classes.comparator.EnergyMinToMaxComparator;
  12. import classes.comparator.MinEnergyComparator;
  13. import classes.comparator.WeakestBattery;
  14. import ui.model.Model;
  15. import ui.controller.Control;
  16. import ui.controller.SimulationManager;
  17. public class HelpFunctions {
  18. private ArrayList<AbstractCpsObject> objectsToHandle;
  19. public static void runRepairConnections(Model model) {
  20. repairAllEdgesOnMainCanvas(model);
  21. }
  22. private static void repairAllEdgesOnMainCanvas(Model model) {
  23. for (AbstractCpsObject obj : model.getObjectsOnCanvas()) {
  24. if (obj instanceof CpsUpperNode) {
  25. repairAllEdgesInUpperNode((CpsUpperNode) obj);
  26. }
  27. for (CpsEdge e : obj.getConnections()) {
  28. e.setWorkingState(true);
  29. }
  30. }
  31. }
  32. private static void repairAllEdgesInUpperNode(CpsUpperNode uNode) {
  33. for (AbstractCpsObject obj : uNode.getNodes()) {
  34. if (obj instanceof CpsUpperNode) {
  35. repairAllEdgesInUpperNode((CpsUpperNode) obj);
  36. }
  37. for (CpsEdge e : obj.getConnections()) {
  38. e.setWorkingState(true);
  39. }
  40. }
  41. }
  42. public static void calculateStateForTimeStepPSO(Model model, Control control) {
  43. SimulateSimulator sim = new SimulateSimulator(model);
  44. sim.calculateStateForTimeStep(model.getCurIteration());
  45. }
  46. }