HolegModel.java 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package holeg.ui.model;
  2. import java.util.ArrayList;
  3. import java.util.stream.Stream;
  4. import holeg.model.Edge;
  5. import holeg.model.GroupNode;
  6. public class HolegModel {
  7. public enum FairnessModel{
  8. /**
  9. * One Element of each HolonObject will be powered first, starting with the
  10. * smallest Demand. If ale HolonObjects have an active Element, the
  11. * simulation will try to fully supply as many HolonObjects as possible.
  12. */
  13. MininumDemandFirst,
  14. /**
  15. * All HolonObjects will receive the same amount of energy.
  16. */
  17. AllEqual
  18. }
  19. private FairnessModel fairnessModel = FairnessModel.MininumDemandFirst;
  20. private GroupNode canvas = new GroupNode("Canvas");
  21. private ArrayList<Edge> edges = new ArrayList<>();
  22. public FairnessModel getFairnessModel() {
  23. return fairnessModel;
  24. }
  25. public void setFairnessModel(FairnessModel fairnessModel) {
  26. this.fairnessModel = fairnessModel;
  27. }
  28. public Stream<Edge> getEdges() {
  29. return edges.stream();
  30. }
  31. public void addEdge(Edge edge) {
  32. edges.add(edge);
  33. }
  34. public void removeEdge(Edge edge) {
  35. edges.remove(edge);
  36. }
  37. public GroupNode getCanvas() {
  38. return canvas;
  39. }
  40. }