Commit fc320f3f authored by BZoennchen's avatar BZoennchen

Merge branch 'master' of https://gitlab.lrz.de/vadere/vadere

parents 498ebb00 2369669d
Pipeline #99431 passed with stages
in 122 minutes and 24 seconds
#builds, log/preferences files
target/
# Build artifacts, log and preference files
*.out
*.preferences.xml
bin/
swing-inspector-linux-1.2.3/
#Python
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
**/venv/
Tools/VadereAnalysisTools/VadereAnalysisTool/vadereanalysistool.egg-info/
Tools/VadereAnalysisTools/VadereAnalysisTool/build/
Tools/VadereAnalysisTools/VadereAnalysisTool/dist/
Tools/VadereAnalysisTools/VadereAnalysisTool/vadereanalysistool**/output
Tools/ContinuousIntegration/**/output
target/
# C extensions
*.so
vadereanalysistool/build
vadere_analysis_tool/build
#Tools and build utils
bin/
#IntelliJ
# IDEs
.idea/
*.iml
#Eclipse
.settings/
.metadata/
.classpath
.project
#package specific
# Package specific
VadereGui/*.png
VadereGui/*.svg
VadereGui/*.mov
......@@ -43,18 +26,20 @@ VadereUtils/testreports/*.txt
VadereSimulator/resources/current_commit_hash.txt
VadereSimulator/testResources/**/*.legacy
#Java runtime files generated with "jdeps" and "jlink"
java-runtime/*
#model test output
VadereModelTests/**/output
VadereModelTests/*_private
VadereModelCalibration/**/output
VadereModelTests/**/legacy
VadereUtils/output/**
# Python (byte-compiled, optimized, DLL files etc.)
__pycache__/
*.py[cod]
*$py.class
**/venv/
Tools/VadereAnalysisTools/VadereAnalysisTool/vadereanalysistool.egg-info/
Tools/VadereAnalysisTools/VadereAnalysisTool/build/
Tools/VadereAnalysisTools/VadereAnalysisTool/dist/
#mac osx files
# Operating system files
.DS_Store
#linux files
**/.directory
# Vadere output directories
**/output/
**/legacy/
**/*_private/
......@@ -3,6 +3,7 @@ The java_migration branch has used the following steps to compile and run vadere
0. Ensure that JDK-11 and Git is set in the environment variables
1. Adjust the IDE (IntelliJ)
-> Make sure that you have the latest version of IntelliJ (in some older versions, Java 11 is not supported!)
1.1 Select File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler
1.1.1 Select 11 for "Project bytecode version"
1.1.2 Select 1.11 in "Per-module bytecode version" for each module
......
......@@ -213,9 +213,9 @@ SettingsDialog.chbShowPedestrianIds.text=Show PedestrianIds
PostVis.chShowEvacTimeColor.text=Color Pedestrians regarding to Evacuation Times
PostVis.additional.border.text=PostVis
PostVis.btnPlay.tooltip=Play
PostVis.btnPause.tooltip=Pause
PostVis.btnStop.tooltip=Stop
PostVis.btnPlay.tooltip=Play (Space)
PostVis.btnPause.tooltip=Pause (Space)
PostVis.btnStop.tooltip=Stop (Backspace)
PostVis.btnRecord.tooltip=Start Recording
PostVis.btnAbout.tooltip=About
PostVis.about.title=About
......
......@@ -214,9 +214,9 @@ ProjectView.mntmCopyOutputDir.text=Kopiere Output Pfad in Zwischenablage
SettingsDialog.chbShowPedestrianIds.text=Fu\u00dfg\u00E4nger-Ids anzeigen
PostVis.additional.border.text=PostVis
PostVis.chShowEvacTimeColor.text=F\u00e4rbe Fu\u00dfg\u00E4nger nach ihrer Evakuierungszeit
PostVis.btnPlay.tooltip=Start
PostVis.btnPause.tooltip=Pause
PostVis.btnStop.tooltip=Stopp
PostVis.btnPlay.tooltip=Start (Leertaste)
PostVis.btnPause.tooltip=Pause (Leertaste)
PostVis.btnStop.tooltip=Stopp (Backspace-Taste)
PostVis.btnRecord.tooltip=Starte Aufnahme
PostVis.chbHidePedAtTarget.text=Fu\u00dfg\u00E4nger im Ziel nicht anzeigen
......
......@@ -2,16 +2,11 @@ package org.vadere.gui.postvisualization.view;
import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.FormLayout;
import org.vadere.gui.components.control.IViewportChangeListener;
import org.vadere.gui.components.control.JViewportChangeListener;
import org.vadere.gui.components.control.PanelResizeListener;
import org.vadere.gui.components.control.ViewportChangeListener;
import org.vadere.gui.components.control.simulation.ActionGeneratePNG;
import org.vadere.gui.components.control.simulation.ActionGenerateSVG;
import org.vadere.gui.components.control.simulation.ActionGenerateTikz;
import org.vadere.gui.components.control.simulation.ActionSwapSelectionMode;
import org.vadere.gui.components.control.simulation.ActionVisualization;
import org.vadere.gui.components.control.simulation.*;
import org.vadere.gui.components.model.IDefaultModel;
import org.vadere.gui.components.utils.Messages;
import org.vadere.gui.components.utils.Resources;
......@@ -23,21 +18,18 @@ import org.vadere.gui.postvisualization.control.*;
import org.vadere.gui.postvisualization.model.PostvisualizationModel;
import org.vadere.gui.projectview.control.ActionDeselect;
import org.vadere.simulator.projects.Scenario;
import org.vadere.simulator.projects.io.HashGenerator;
import org.vadere.simulator.projects.io.IOOutput;
import org.vadere.util.io.IOUtils;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.io.File;
import java.io.IOException;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Observer;
import java.util.prefs.Preferences;
import javax.swing.*;
/**
* Main Window of the new post visualization.
*
......@@ -54,6 +46,9 @@ public class PostvisualizationWindow extends JPanel implements Observer {
private JMenuBar menuBar;
private static Resources resources = Resources.getInstance("postvisualization");
private final ScenarioElementView textView;
private JButton playButton;
private JButton pauseButton;
private JButton stopButton;
public PostvisualizationWindow(final String projectPath) {
this(false, projectPath);
......@@ -132,14 +127,14 @@ public class PostvisualizationWindow extends JPanel implements Observer {
int iconHeight = Integer.valueOf(resources.getProperty("ProjectView.icon.height.value"));
int iconWidth = Integer.valueOf(resources.getProperty("ProjectView.icon.width.value"));
addActionToToolbar(toolbar,
playButton = addActionToToolbar(toolbar,
new ActionPlay("play", resources.getIcon("play.png", iconWidth, iconHeight), model),
"PostVis.btnPlay.tooltip");
addActionToToolbar(toolbar,
pauseButton = addActionToToolbar(toolbar,
new ActionPause("pause", resources.getIcon("pause.png", iconWidth, iconHeight), model),
"PostVis.btnPause.tooltip");
addActionToToolbar(toolbar,
new ActionStop("play", resources.getIcon("stop.png", iconWidth, iconHeight), model),
stopButton = addActionToToolbar(toolbar,
new ActionStop("stop", resources.getIcon("stop.png", iconWidth, iconHeight), model),
"PostVis.btnStop.tooltip");
toolbar.addSeparator(new Dimension(5, 50));
......@@ -299,6 +294,7 @@ public class PostvisualizationWindow extends JPanel implements Observer {
}
}
buildKeyboardShortcuts();
miGlobalSettings.addActionListener(e -> DialogFactory.createSettingsDialog(model).setVisible(true));
......@@ -318,6 +314,24 @@ public class PostvisualizationWindow extends JPanel implements Observer {
revalidate();
}
private void buildKeyboardShortcuts() {
Action spaceKeyReaction = new ActionVisualization("Typed Space Key Reaction", model){
boolean isRunning = false;
@Override
public void actionPerformed(ActionEvent e){
(isRunning ? pauseButton : playButton).getAction().actionPerformed(null);
isRunning = !isRunning;
}
};
addKeyboardShortcut("SPACE","Typed Space", spaceKeyReaction);
addKeyboardShortcut("BACK_SPACE","Typed Backspace", stopButton.getAction());
}
private void addKeyboardShortcut(String key, String actionKey, Action action) {
getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(key), actionKey);
getActionMap().put(actionKey, action);
}
private JMenuBar getMenu() {
return menuBar;
}
......
......@@ -2,16 +2,19 @@ package org.vadere.gui.projectview.control;
import org.vadere.gui.components.utils.Messages;
import org.vadere.gui.projectview.VadereApplication;
import org.vadere.gui.projectview.model.ProjectViewModel;
import org.vadere.gui.projectview.utils.ApplicationWriter;
import org.vadere.gui.projectview.view.VDialogManager;
import org.vadere.util.io.IOUtils;
import org.vadere.util.logging.Logger;
import javax.swing.*;
import java.io.IOException;
import java.util.Arrays;
import java.util.TreeSet;
import java.util.prefs.BackingStoreException;
import javax.swing.*;
import java.util.prefs.Preferences;
public abstract class ActionAbstractSaveProject extends AbstractAction {
......@@ -99,6 +102,7 @@ public abstract class ActionAbstractSaveProject extends AbstractAction {
model.getProject().saveChanges();
model.refreshScenarioNames();
logger.info("save project");
updateRecentProjectPreferences(model);
} catch (IOException e) {
IOUtils.errorBox(
Messages.getString("SaveFileErrorMessage.text") + System.lineSeparator()
......@@ -113,6 +117,16 @@ public abstract class ActionAbstractSaveProject extends AbstractAction {
}
}
private static void updateRecentProjectPreferences(ProjectViewModel model) {
Preferences preferences = Preferences.userNodeForPackage(VadereApplication.class);
final String key = "recent_projects";
final TreeSet<String> values = new TreeSet(Arrays.asList(preferences.get(key, "").split(",")));
values.add(model.getCurrentProjectPath());
String value = values.stream().reduce("", (a, b) -> a + "," + b);
System.out.println(values.toString());
preferences.put(key, value.replaceFirst(",", ""));
}
static void savePreferences() throws IOException, BackingStoreException {
ApplicationWriter.savePreferences();
logger.info("save preferences");
......
......@@ -5,34 +5,7 @@ import org.jetbrains.annotations.NotNull;
import org.vadere.gui.components.utils.Messages;
import org.vadere.gui.postvisualization.control.Player;
import org.vadere.gui.projectview.VadereApplication;
import org.vadere.gui.projectview.control.ActionAddScenario;
import org.vadere.gui.projectview.control.ActionCloneScenario;
import org.vadere.gui.projectview.control.ActionCloseApplication;
import org.vadere.gui.projectview.control.ActionCreateProject;
import org.vadere.gui.projectview.control.ActionDeleteOutputDirectories;
import org.vadere.gui.projectview.control.ActionDeleteScenarios;
import org.vadere.gui.projectview.control.ActionEditScenarioDescription;
import org.vadere.gui.projectview.control.ActionGenerateScenarioFromOutputFile;
import org.vadere.gui.projectview.control.ActionInterruptScenarios;
import org.vadere.gui.projectview.control.ActionLoadProject;
import org.vadere.gui.projectview.control.ActionLoadRecentProject;
import org.vadere.gui.projectview.control.ActionOpenInExplorer;
import org.vadere.gui.projectview.control.ActionOutputToScenario;
import org.vadere.gui.projectview.control.ActionPauseScenario;
import org.vadere.gui.projectview.control.ActionRenameOutputFile;
import org.vadere.gui.projectview.control.ActionRenameProject;
import org.vadere.gui.projectview.control.ActionRenameScenario;
import org.vadere.gui.projectview.control.ActionRunAllScenarios;
import org.vadere.gui.projectview.control.ActionRunOutput;
import org.vadere.gui.projectview.control.ActionRunSelectedScenarios;
import org.vadere.gui.projectview.control.ActionSaveAsProject;
import org.vadere.gui.projectview.control.ActionSaveProject;
import org.vadere.gui.projectview.control.ActionSeeDiscardChanges;
import org.vadere.gui.projectview.control.ActionShowAboutDialog;
import org.vadere.gui.projectview.control.ActionToClipboard;
import org.vadere.gui.projectview.control.IOutputFileRefreshListener;
import org.vadere.gui.projectview.control.IProjectChangeListener;
import org.vadere.gui.projectview.control.ShowResultDialogAction;
import org.vadere.gui.projectview.control.*;
import org.vadere.gui.projectview.model.ProjectViewModel;
import org.vadere.gui.projectview.model.ProjectViewModel.OutputBundle;
import org.vadere.gui.projectview.model.ProjectViewModel.ScenarioBundle;
......@@ -47,6 +20,9 @@ import org.vadere.util.io.IOUtils;
import org.vadere.util.logging.Logger;
import org.vadere.util.opencl.CLUtils;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import javax.swing.event.ListSelectionEvent;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
......@@ -61,10 +37,6 @@ import java.util.Optional;
import java.util.Set;
import java.util.prefs.Preferences;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import javax.swing.event.ListSelectionEvent;
/**
* Main view of the Vadere GUI.
*
......@@ -361,11 +333,21 @@ public class ProjectView extends JFrame implements ProjectFinishedListener, Sing
closeApplicationAction.actionPerformed(null);
}
});
Preferences pref = Preferences.userNodeForPackage(VadereApplication.class);
pack();
}
private void buildMenuBar(ActionCloseApplication closeApplicationAction, ActionAddScenario addScenarioAction) {
private void buildKeyboardShortcuts(ActionPauseScenario pauseScenarioAction, Action interruptScenariosAction) {
addKeyboardShortcut("SPACE", "Typed Space", btnPauseRunningScenarios.getAction());
addKeyboardShortcut("BACK_SPACE", "Typed Backspace", btnStopRunningScenarios.getAction());
}
private void addKeyboardShortcut(String key, String actionKey, Action action) {
controlPanel.getInputMap().put(KeyStroke.getKeyStroke(key), actionKey);
controlPanel.getActionMap().put(actionKey, action);
}
private void buildMenuBar(ActionCloseApplication closeApplicationAction, ActionAddScenario addScenarioAction) {
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
......@@ -383,7 +365,7 @@ public class ProjectView extends JFrame implements ProjectFinishedListener, Sing
JMenuItem mntmLoadProject = new JMenuItem(loadProjectAction);
mntmRecentProjects = new JMenu(Messages.getString("ProjectView.mntmRecentProjects.text"));
mntmRecentProjects.setEnabled(false);
mntmRecentProjects.setEnabled(true);
updateRecentProjectsMenu();
Action changeNameAction = new ActionRenameProject(Messages.getString("ProjectView.mntmChangeName.text"), model);
......@@ -553,6 +535,7 @@ public class ProjectView extends JFrame implements ProjectFinishedListener, Sing
model.setCurrentScenario(bundle.getScenario());
logger.info(String.format("selected scenario '%s'", bundle.getScenario().getName()));
scenarioJPanel.setScenario(bundle.getScenario(), true);
outputTableRenderer.setMarkedOutputFiles(bundle.getOutputDirectories());
......@@ -728,6 +711,8 @@ public class ProjectView extends JFrame implements ProjectFinishedListener, Sing
toolBar.getInputMap().put(
KeyStroke.getKeyStroke(Messages.getString("ProjectView.pauseTests.shortcut").charAt(0)), "pauseTests");
toolBar.getActionMap().put("pauseTests", pauseScenarioAction);
buildKeyboardShortcuts(pauseScenarioAction, interruptScenariosAction);
}
private void buildRightSidePanel() {
......
......@@ -2,11 +2,11 @@
"name" : "basic_1_chicken_gnm1",
"description" : "",
"release" : "0.7",
"commithash" : "warning: no commit hash",
"processWriters" : {
"files" : [ ],
"processors" : [ ],
"isTimestamped" : true
"isTimestamped" : true,
"isWriteMetaData" : false
},
"scenario" : {
"mainModel" : "org.vadere.simulator.models.gnm.GradientNavigationModel",
......@@ -118,6 +118,7 @@
"startingWithRedLight" : false,
"nextSpeed" : -1.0
} ],
"absorbingAreas" : [ ],
"sources" : [ {
"id" : -1,
"shape" : {
......@@ -139,6 +140,7 @@
"groupSizeDistribution" : [ 1.0 ],
"dynamicElementType" : "PEDESTRIAN"
} ],
"dynamicElements" : [ ],
"attributesPedestrian" : {
"radius" : 0.195,
"densityDependentSpeed" : false,
......@@ -148,8 +150,9 @@
"maximumSpeed" : 2.2,
"acceleration" : 2.0
},
"attributesCar" : null,
"dynamicElements" : [ ]
}
"teleporter" : null,
"attributesCar" : null
},
"eventInfos" : [ ]
}
}
\ No newline at end of file
......@@ -2,11 +2,11 @@
"name" : "basic_1_chicken_gnm1_displaced",
"description" : "",
"release" : "0.7",
"commithash" : "warning: no commit hash",
"processWriters" : {
"files" : [ ],
"processors" : [ ],
"isTimestamped" : true
"isTimestamped" : true,
"isWriteMetaData" : false
},
"scenario" : {
"mainModel" : "org.vadere.simulator.models.gnm.GradientNavigationModel",
......@@ -118,6 +118,7 @@
"startingWithRedLight" : false,
"nextSpeed" : -1.0
} ],
"absorbingAreas" : [ ],
"sources" : [ {
"id" : -1,
"shape" : {
......@@ -139,6 +140,7 @@
"groupSizeDistribution" : [ 1.0 ],
"dynamicElementType" : "PEDESTRIAN"
} ],
"dynamicElements" : [ ],
"attributesPedestrian" : {
"radius" : 0.195,
"densityDependentSpeed" : false,
......@@ -148,8 +150,9 @@
"maximumSpeed" : 2.2,
"acceleration" : 2.0
},
"attributesCar" : null,
"dynamicElements" : [ ]
}
"teleporter" : null,
"attributesCar" : null
},
"eventInfos" : [ ]
}
}
\ No newline at end of file
......@@ -2,11 +2,11 @@
"name" : "basic_1_chicken_gnm2",
"description" : "",
"release" : "0.7",
"commithash" : "warning: no commit hash",
"processWriters" : {
"files" : [ ],
"processors" : [ ],
"isTimestamped" : true
"isTimestamped" : true,
"isWriteMetaData" : false
},
"scenario" : {
"mainModel" : "org.vadere.simulator.models.gnm.GradientNavigationModel",
......@@ -118,6 +118,7 @@
"startingWithRedLight" : false,
"nextSpeed" : -1.0
} ],
"absorbingAreas" : [ ],
"sources" : [ {
"id" : -1,
"shape" : {
......@@ -139,6 +140,7 @@
"groupSizeDistribution" : [ 1.0 ],
"dynamicElementType" : "PEDESTRIAN"
} ],
"dynamicElements" : [ ],
"attributesPedestrian" : {
"radius" : 0.195,
"densityDependentSpeed" : false,
......@@ -148,8 +150,9 @@
"maximumSpeed" : 2.2,
"acceleration" : 2.0
},
"attributesCar" : null,
"dynamicElements" : [ ]
}
"teleporter" : null,
"attributesCar" : null
},
"eventInfos" : [ ]
}
}
\ No newline at end of file
......@@ -2,11 +2,11 @@
"name" : "basic_2_density_gnm1",
"description" : "",
"release" : "0.7",
"commithash" : "warning: no commit hash",
"processWriters" : {
"files" : [ ],
"processors" : [ ],
"isTimestamped" : true
"isTimestamped" : true,
"isWriteMetaData" : false
},
"scenario" : {
"mainModel" : "org.vadere.simulator.models.gnm.GradientNavigationModel",
......@@ -127,6 +127,7 @@
"startingWithRedLight" : false,
"nextSpeed" : -1.0
} ],
"absorbingAreas" : [ ],
"sources" : [ {
"id" : -1,
"shape" : {
......@@ -148,6 +149,7 @@
"groupSizeDistribution" : [ 1.0 ],
"dynamicElementType" : "PEDESTRIAN"
} ],
"dynamicElements" : [ ],
"attributesPedestrian" : {
"radius" : 0.195,
"densityDependentSpeed" : false,
......@@ -157,8 +159,9 @@
"maximumSpeed" : 2.2,
"acceleration" : 2.0
},
"attributesCar" : null,
"dynamicElements" : [ ]
}
"teleporter" : null,
"attributesCar" : null
},
"eventInfos" : [ ]
}
}
\ No newline at end of file
......@@ -2,11 +2,11 @@
"name" : "basic_3_1_wall_gnm1",
"description" : "",
"release" : "0.7",
"commithash" : "warning: no commit hash",
"processWriters" : {
"files" : [ ],
"processors" : [ ],
"isTimestamped" : true
"isTimestamped" : true,
"isWriteMetaData" : false
},
"scenario" : {
"mainModel" : "org.vadere.simulator.models.gnm.GradientNavigationModel",
......@@ -100,6 +100,7 @@
"startingWithRedLight" : false,
"nextSpeed" : -1.0
} ],
"absorbingAreas" : [ ],
"sources" : [ {
"id" : -1,
"shape" : {
......@@ -121,6 +122,7 @@
"groupSizeDistribution" : [ 1.0 ],
"dynamicElementType" : "PEDESTRIAN"
} ],
"dynamicElements" : [ ],
"attributesPedestrian" : {
"radius" : 0.195,
"densityDependentSpeed" : false,
......@@ -130,8 +132,9 @@
"maximumSpeed" : 2.2,
"acceleration" : 2.0
},
"attributesCar" : null,
"dynamicElements" : [ ]
}
"teleporter" : null,
"attributesCar" : null
},
"eventInfos" : [ ]
}
}
\ No newline at end of file
......@@ -2,11 +2,11 @@
"name" : "basic_3_2_wall_gnm1",
"description" : "",
"release" : "0.7",
"commithash" : "warning: no commit hash",
"processWriters" : {
"files" : [ ],
"processors" : [ ],
"isTimestamped" : true
"isTimestamped" : true,
"isWriteMetaData" : false
},
"scenario" : {
"mainModel" : "org.vadere.simulator.models.gnm.GradientNavigationModel",
......@@ -100,6 +100,7 @@
"startingWithRedLight" : false,
"nextSpeed" : -1.0
} ],
"absorbingAreas" : [ ],
"sources" : [ {
"id" : -1,
"shape" : {
......@@ -121,6 +122,7 @@
"groupSizeDistribution" : [ 1.0 ],
"dynamicElementType" : "PEDESTRIAN"
} ],
"dynamicElements" : [ ],
"attributesPedestrian" : {
"radius" : 0.195,
"densityDependentSpeed" : false,
......@@ -130,8 +132,9 @@
"maximumSpeed" : 2.2,
"acceleration" : 2.0
},
"attributesCar" : null,
"dynamicElements" : [ ]
}
"teleporter" : null,
"attributesCar" : null
},
"eventInfos" : [ ]
}
}
\ No newline at end of file
......@@ -2,11 +2,11 @@
"name" : "basic_3_3_wall_gnm1",
"description" : "",
"release" : "0.7",
"commithash" : "warning: no commit hash",
"processWriters" : {
"files" : [ ],
"processors" : [ ],
"isTimestamped" : true
"isTimestamped" : true,
"isWriteMetaData" : false
},
"scenario" : {
"mainModel" : "org.vadere.simulator.models.gnm.GradientNavigationModel",
......@@ -100,6 +100,7 @@
"startingWithRedLight" : false,
"nextSpeed" : -1.0
} ],
"absorbingAreas" : [ ],
"sources" : [ {
"id" : -1,
"shape" : {
......@@ -121,6 +122,7 @@
"groupSizeDistribution" : [ 1.0 ],
"dynamicElementType" : "PEDESTRIAN"
} ],
"dynamicElements" : [ ],
"attributesPedestrian" : {
"radius" : 0.195,
"densityDependentSpeed" : false,
......@@ -130,8 +132,9 @@
"maximumSpeed" : 2.2,
"acceleration" : 2.0
},
"attributesCar" : null,
"dynamicElements" : [ ]
}
"teleporter" : null,
"attributesCar" : null
},
"eventInfos" : [ ]
}
}
\ No newline at end of file
......@@ -2,11 +2,11 @@
"name" : "basic_4_1_wall_gnm1",
"description" : "",
"release" : "0.7",
"commithash" : "warning: no commit hash",
"processWriters" : {
"files" : [ ],
"processors" : [ ],
"isTimestamped" : true
"isTimestamped" : true,
"isWriteMetaData" : false
},
"scenario" : {
"mainModel" : "org.vadere.simulator.models.gnm.GradientNavigationModel",
......@@ -100,6 +100,7 @@
"startingWithRedLight" : false,
"nextSpeed" : -1.0
} ],
"absorbingAreas" : [ ],
"sources" : [ {
"id" : -1,
"shape" : {
......@@ -121,6 +122,7 @@
"groupSizeDistribution" : [ 1.0 ],
"dynamicElementType" : "PEDESTRIAN"