|
@@ -19,11 +19,13 @@ public class SimulationManager {
|
|
private ArrayList<subNet> subNets;
|
|
private ArrayList<subNet> subNets;
|
|
private MyCanvas canvas;
|
|
private MyCanvas canvas;
|
|
private int timeStep;
|
|
private int timeStep;
|
|
|
|
+ private boolean simMode;
|
|
|
|
|
|
public SimulationManager(Model m){
|
|
public SimulationManager(Model m){
|
|
canvas = null;
|
|
canvas = null;
|
|
model = m;
|
|
model = m;
|
|
subNets = new ArrayList<subNet>();
|
|
subNets = new ArrayList<subNet>();
|
|
|
|
+ simMode = model.getIsSimulation();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -32,6 +34,7 @@ public class SimulationManager {
|
|
* @param x
|
|
* @param x
|
|
*/
|
|
*/
|
|
public void calculateStateForTimeStep(int x){
|
|
public void calculateStateForTimeStep(int x){
|
|
|
|
+ simMode = model.getIsSimulation();
|
|
timeStep = x;
|
|
timeStep = x;
|
|
searchForSubNets();
|
|
searchForSubNets();
|
|
for(subNet singleSubNet: subNets){
|
|
for(subNet singleSubNet: subNets){
|
|
@@ -79,6 +82,7 @@ public class SimulationManager {
|
|
if(energy > 0){
|
|
if(energy > 0){
|
|
for(CpsEdge e : sN.getEdges()){
|
|
for(CpsEdge e : sN.getEdges()){
|
|
e.setFlow(e.getFlow() + energy);
|
|
e.setFlow(e.getFlow() + energy);
|
|
|
|
+ e.calculateState(simMode);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -89,6 +93,7 @@ public class SimulationManager {
|
|
for(CpsEdge e: cps.getConnections()){
|
|
for(CpsEdge e: cps.getConnections()){
|
|
if(!(visitedEdges.contains(e))){
|
|
if(!(visitedEdges.contains(e))){
|
|
e.setFlow(0);
|
|
e.setFlow(0);
|
|
|
|
+ e.calculateState(simMode);
|
|
visitedEdges.add(e);
|
|
visitedEdges.add(e);
|
|
if(!(visitedObj.contains(e.getA().getID()))){
|
|
if(!(visitedObj.contains(e.getA().getID()))){
|
|
ResetConnections(e.getA(), visitedObj, visitedEdges);
|
|
ResetConnections(e.getA(), visitedObj, visitedEdges);
|