vadere issueshttps://gitlab.lrz.de/vadere/vadere/-/issues2019-02-08T07:37:08+01:00https://gitlab.lrz.de/vadere/vadere/-/issues/150Provide ready-to-use JAR files of VadereApplication for different platforms (...2019-02-08T07:37:08+01:00Ghost UserProvide ready-to-use JAR files of VadereApplication for different platforms (Windows, Linux, MacOS)To simplify the usage of VADERE for non-programmers, we should ship ready-to-use JAR files.
Then, the only dependencies for users are:
- Java
- OpenCL
For this, we can use GitLab's continuous integration feature. This builds the JAR fi...To simplify the usage of VADERE for non-programmers, we should ship ready-to-use JAR files.
Then, the only dependencies for users are:
- Java
- OpenCL
For this, we can use GitLab's continuous integration feature. This builds the JAR file during testing procedure. Maybe, we need a second CI worker machine with Windows from Prof. Dr. Wischhof.
**Important:** Please, ensure that the compiled JAR file contains the file `VadereSimulator/resources/current_commit_hash.txt` so that we can track on which commit a JAR file is based on. Note: This is ensured since commit f5aa31fc.
https://gitlab.lrz.de/vadere/vadere/-/issues/372[GUI] Add tree expand and tree collapse icon in attribute table2023-08-03T16:21:21+02:00Rahn, Simon[GUI] Add tree expand and tree collapse icon in attribute tableCheck if [promodsim2022/5c9a90c1](https://gitlab.lrz.de/hm-koester-lectures/promodsim2022/vadere-fork/-/commit/5c9a90c1) can be implemented without affecting the performance of the GUI.
If this is useful, adopt this proposal.Check if [promodsim2022/5c9a90c1](https://gitlab.lrz.de/hm-koester-lectures/promodsim2022/vadere-fork/-/commit/5c9a90c1) can be implemented without affecting the performance of the GUI.
If this is useful, adopt this proposal.Jaeck, LudwigJaeck, Ludwighttps://gitlab.lrz.de/vadere/vadere/-/issues/357[Test/Scenario] Add model tests from ISO 204142023-05-17T16:39:10+02:00Mayr, Christina Maria[Test/Scenario] Add model tests from ISO 2041413 tests for model validation are defined in the ISO 20414.
![iso20414](/uploads/899046475c447b8ab4a5674f886214c5/iso20414.png)
Add a scenario for each test.
For the setup the tests marked in green (Table), the Vadere simulator does no...13 tests for model validation are defined in the ISO 20414.
![iso20414](/uploads/899046475c447b8ab4a5674f886214c5/iso20414.png)
Add a scenario for each test.
For the setup the tests marked in green (Table), the Vadere simulator does not need to be adjusted.
For the other tests, adaptions might be necessary.https://gitlab.lrz.de/vadere/vadere/-/issues/353[GUI/Scenario file] Add scenario dependent view settings2023-04-27T15:02:34+02:00Rahn, Simon[GUI/Scenario file] Add scenario dependent view settingsCurrently, the view settings in the GUI topography creator or the postvis are defined by vadere config. This can be annoying if, e.g., a certain color scheme such as coloring by group should be applied only to a certain scenario within a...Currently, the view settings in the GUI topography creator or the postvis are defined by vadere config. This can be annoying if, e.g., a certain color scheme such as coloring by group should be applied only to a certain scenario within a vadere project, but one has to switch very often between different scenarios. Then, one must re-define the settings each time a new scenario with different settings is opened.
To avoid this, one could introduce a scenario-specific config for the view settings. By default, the config should be the global vadere config.https://gitlab.lrz.de/vadere/vadere/-/issues/352[GUI]: Integrated documentation for each scenario element2023-04-27T15:04:01+02:00Rahn, Simon[GUI]: Integrated documentation for each scenario elementCurrently, one can add a general description of the scenario, and therein, one can describe certain scenario elements more in detail by referring to the related element ids if necessary. This is prone to errors if the element ids are ren...Currently, one can add a general description of the scenario, and therein, one can describe certain scenario elements more in detail by referring to the related element ids if necessary. This is prone to errors if the element ids are renewed. Instead, one could add an integrated description for each scenario element individually. For example, an explanation could give background information on why source XY spawns 10 instead of 11 agents, or why target changer YZ is needed.https://gitlab.lrz.de/vadere/vadere/-/issues/351[GUI/Topographycreator] Merging obstacles2023-04-27T15:12:18+02:00Rahn, Simon[GUI/Topographycreator] Merging obstacles- [ ] Allow for "unmerging" obstacles that once have been merged. Currently, once two obstacles have been merged, one cannot get the original shapes again.
- [ ] If useful, add the possibility to group obstacles that do not overlap- [ ] Allow for "unmerging" obstacles that once have been merged. Currently, once two obstacles have been merged, one cannot get the original shapes again.
- [ ] If useful, add the possibility to group obstacles that do not overlaphttps://gitlab.lrz.de/vadere/vadere/-/issues/350[GUI/Topographycreator]: Multiselection of scenario elements2023-04-27T16:32:09+02:00Rahn, Simon[GUI/Topographycreator]: Multiselection of scenario elementsIn topographycreator, allow for multiselection of (i.e. merge, shift, delete, ...) scenario elements. Currently, one must apply operations to each element individually.In topographycreator, allow for multiselection of (i.e. merge, shift, delete, ...) scenario elements. Currently, one must apply operations to each element individually.https://gitlab.lrz.de/vadere/vadere/-/issues/340[Target] Distributions for target waiting times2022-09-01T13:30:51+02:00Rahn, Simon[Target] Distributions for target waiting timesEnhance the scenario element `Target` such that one can define a distribution for the waiting times assigned to each agent. This allows for more elaborate waiting scenarios, e.g. agents queueing up in front of/around a target with indivi...Enhance the scenario element `Target` such that one can define a distribution for the waiting times assigned to each agent. This allows for more elaborate waiting scenarios, e.g. agents queueing up in front of/around a target with individual service (waiting) times.
### Problem to solve
Currently, a single target XY can have a waiting time (0 by default), i.e. once an agent has reached the target, it has to wait before it is absorbed / can move to the next target. This waiting time is equal for all agents that approach the same target XY. Similar to the spawnTimeDistributions of a source, we now want to be able to define a distribution (from org.vadere.state.scenario.distribution.impl), draw waiting times from this distribution, and hence assign different values to each agent that approaches target XY.
The default distribution should be constant with waiting time 0 (same behavior as before). The values drawn from the distribution must be reproducible.
### Further details
Note that this change requires the migration of the scenario files, see e.g. 6958f367.Jaeck, LudwigJaeck, Ludwighttps://gitlab.lrz.de/vadere/vadere/-/issues/314Generic DataProcessor to evaluate statistics2023-04-27T15:39:11+02:00Marion GoedelGeneric DataProcessor to evaluate statisticsThe idea is to generate e.g. 4 generic processors: MeanProcessor, StdProcessor, MinProcessor, MaxProcessor
that can act on all processors which have a "single" key, e.g. PedestrianIdKey or TimestepKey (Not TimestepPedestrianIdKey) and ...The idea is to generate e.g. 4 generic processors: MeanProcessor, StdProcessor, MinProcessor, MaxProcessor
that can act on all processors which have a "single" key, e.g. PedestrianIdKey or TimestepKey (Not TimestepPedestrianIdKey) and evaluate the statistics (min/max/mean/std) for over the key.
### Further details
benefits: can be beneficial to avoid numerous mean / max processors as they already exist (MaxOverlapProcessor, MeanFlowProcessor,...) , useful for UQ since scalar qoi are easier to study, useful for repeated runs of simulation (simulationResult)https://gitlab.lrz.de/vadere/vadere/-/issues/313[GUI/Psychology] Templates for "perception" and "cognition"2023-04-27T15:39:23+02:00Mayr, Christina Maria[GUI/Psychology] Templates for "perception" and "cognition"Add model description for "perception" and "cognition" if **"usePsychologyLayer" : true **.
E.g. for each: add model template and add help like done in "Model".Add model description for "perception" and "cognition" if **"usePsychologyLayer" : true **.
E.g. for each: add model template and add help like done in "Model".https://gitlab.lrz.de/vadere/vadere/-/issues/306add post visualization compatibility for PedestriansNearby Processor2020-05-18T10:36:59+02:00Ghost Useradd post visualization compatibility for PedestriansNearby ProcessorPedestriansNearbyProcessor should be visualizable in post visPedestriansNearbyProcessor should be visualizable in post visMayr, Christina MariaMayr, Christina Mariahttps://gitlab.lrz.de/vadere/vadere/-/issues/305[OutputProcessor]2020-04-23T15:06:12+02:00Zoennchen, Benedikt[OutputProcessor]### Problem to solve
To measure the distance between an agent and some target it would be useful to use the target potential because if F=1 this is a good approximation of the geo. distance. Therefore, we already introduced the Pedestria...### Problem to solve
To measure the distance between an agent and some target it would be useful to use the target potential because if F=1 this is a good approximation of the geo. distance. Therefore, we already introduced the PedestrianPotentialProcessor. However it was not configurable which target is used, it was always the current target of the agent. This has to be made configurable.Zoennchen, BenediktZoennchen, Benedikthttps://gitlab.lrz.de/vadere/vadere/-/issues/304Crude visualisation possibility for PedestriansNearbyProcessor2020-04-23T17:29:07+02:00Ghost UserCrude visualisation possibility for PedestriansNearbyProcessorSome possibility to visualise pedestrian contacts computed with PedestriansNearbyProcessor is needed
### Acceptance criteria
- there is a possibility to show the trajectories of contact in the post visualisationSome possibility to visualise pedestrian contacts computed with PedestriansNearbyProcessor is needed
### Acceptance criteria
- there is a possibility to show the trajectories of contact in the post visualisationhttps://gitlab.lrz.de/vadere/vadere/-/issues/303Remove obstacles from mesh defined by measurement area used in data processor...2020-05-19T09:07:46+02:00Mayr, Christina MariaRemove obstacles from mesh defined by measurement area used in data processor MeshDensityCountingProcessorRemove obstacles from mesh defined by measurement area used in data processor MeshDensityCountingProcessor.
### Problem to solve
We need one measurement area which contains all corridors of a scenario but excludes the obstacles. The mes...Remove obstacles from mesh defined by measurement area used in data processor MeshDensityCountingProcessor.
### Problem to solve
We need one measurement area which contains all corridors of a scenario but excludes the obstacles. The mesh generated in the data processor MeshDensityCountingProcessor should deal with this problem: If there is an obstacle within the measurement area (which has the complete topography as maximum size), obstacles are automatically removed.Mayr, Christina MariaMayr, Christina Mariahttps://gitlab.lrz.de/vadere/vadere/-/issues/302Raise error/give warning when global PedAttributes and source-specific PedAtt...2023-04-27T15:44:19+02:00Mayr, Christina MariaRaise error/give warning when global PedAttributes and source-specific PedAttributes co-exist
### Problem to solve
If source-specific PedestrianAttributes exist for a special source (default: null), the global attributes are overwritten for this special source.
If there are multiple sources in the scenario with some of them ove...
### Problem to solve
If source-specific PedestrianAttributes exist for a special source (default: null), the global attributes are overwritten for this special source.
If there are multiple sources in the scenario with some of them overwriting attributes and some of them NOT overwriting attributes, it can be confusing.
### Goal
- if only global PedestrianAttributes are defined => ok
- if only source-specific PedestrianAttributes are defined => ok
- if both is defined at the same time => warn the user or throw an exceptionhttps://gitlab.lrz.de/vadere/vadere/-/issues/301Set attributesCar default to null2023-04-27T15:46:54+02:00Marion GoedelSet attributesCar default to nullCurrently, every *.scenario file has the car attributes ``attributesCar`` even though there (almost) never used. I suggest to set them to "null" in the default and only add the attributesCar element, if cars are actually present in the s...Currently, every *.scenario file has the car attributes ``attributesCar`` even though there (almost) never used. I suggest to set them to "null" in the default and only add the attributesCar element, if cars are actually present in the simulation.
This can avoid confusion with ``attributesAgent`` since some attributes are identical.https://gitlab.lrz.de/vadere/vadere/-/issues/300Migration Assistant: show path of file that failed to migrate2023-04-27T15:47:20+02:00Ghost UserMigration Assistant: show path of file that failed to migrateI often spend a lot of time to identify scenarios that cause the migration assistant to fail (often cases: output folder, or in an untracked file, or in a file from another branch).
Currently, there is only a blank window
![image](/up...I often spend a lot of time to identify scenarios that cause the migration assistant to fail (often cases: output folder, or in an untracked file, or in a file from another branch).
Currently, there is only a blank window
![image](/uploads/a771547b4db596bf1c24f276f8c2868c/image.png)
and error message
```java
09:55:37,818 ERROR ActionLoadProject:155 - could not loadFromFilesystem project: null
java.lang.NullPointerException
at org.vadere.simulator.projects.io.JsonConverter.deserializeScenarioRunManagerFromNode(JsonConverter.java:56)
at org.vadere.simulator.projects.migration.jsontranformation.AbstractJsonTransformation.addNewMembersWithDefaultValues(AbstractJsonTransformation.java:211)
at org.vadere.simulator.projects.migration.jsontranformation.JsonMigrationAssistant.migrateScenario(JsonMigrationAssistant.java:287)
at org.vadere.simulator.projects.migration.jsontranformation.JsonMigrationAssistant.migrateDirectory(JsonMigrationAssistant.java:203)
at org.vadere.simulator.projects.migration.jsontranformation.JsonMigrationAssistant.analyzeProject(JsonMigrationAssistant.java:61)
at org.vadere.simulator.projects.io.IOVadere.readProject(IOVadere.java:66)
at org.vadere.simulator.projects.io.IOVadere.readProjectJson(IOVadere.java:47)
at org.vadere.gui.projectview.control.ActionLoadProject.loadProjectByPath(ActionLoadProject.java:109)
at org.vadere.gui.projectview.control.ActionLoadProject.loadProjectByPath(ActionLoadProject.java:104)
at org.vadere.gui.projectview.control.ActionLoadProject.loadProject(ActionLoadProject.java:78)
at org.vadere.gui.projectview.control.ActionLoadProject.actionPerformed(ActionLoadProject.java:39)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6397)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
```
which is not really helpful. It would be helpful:
* Which scenario file causes problems? List of them preferred but show first when it fails also ok.
* If not too hard: which attributes could not be migrated?
* Simply not load the scenarios that could not be migrated, but load the scenarios that are valid. (possibly show them in red text in the project).https://gitlab.lrz.de/vadere/vadere/-/issues/299Handling duplicate scenario names2023-04-27T15:48:29+02:00Marion GoedelHandling duplicate scenario namesIf there are multiple files with the same "name" in one directory, the vadere project cannot be loaded. I suggest to rename the files by the name of the file in this case to avoid manually changing all files.
this can also be very usef...If there are multiple files with the same "name" in one directory, the vadere project cannot be loaded. I suggest to rename the files by the name of the file in this case to avoid manually changing all files.
this can also be very useful when looking at scenario files from the suq-controller since it just changes the name of the file, not the "name" field in the scenario file.https://gitlab.lrz.de/vadere/vadere/-/issues/297List of things to consider when using triangular meshes2023-04-27T15:49:26+02:00Ghost UserList of things to consider when using triangular meshes@BZoennchen
1. sharp angles (walkable area) can lead to non-determinism of background
* [ ] TODO: can this go into the ScenarioChecker?
2. merge overlapping obstacles
* [ ] TODO: in OpenStreetMap based scenarios points are ofte...@BZoennchen
1. sharp angles (walkable area) can lead to non-determinism of background
* [ ] TODO: can this go into the ScenarioChecker?
2. merge overlapping obstacles
* [ ] TODO: in OpenStreetMap based scenarios points are often *exactly* the same (so that the obstacles do not overlap)
3. fill holes (i.e. not reachable areas) with obstacles
* [ ] TODO: algorithm to do this?
4. (optional): remove co-linear points to decrease number of required faces in mesh
* [ ] TODO: algorithm to do this?
5. (optional): user should remove unnecessary obstacles or parts
* [ ] TODO: (optional) making decisions easier: visual feedback for user of mesh and mesh quality (e.g. red=problematic parts of scenario, white=good quality)
* [ ] TODO use cache mechanism using the scenario hash
* [ ] TODO make Wiki entryhttps://gitlab.lrz.de/vadere/vadere/-/issues/294[DataProcessor] Histogram to describe density in x and y direction2023-04-27T15:51:03+02:00Ghost User[DataProcessor] Histogram to describe density in x and y direction### Problem to solve
(figure outdated, now it is basically a histogram, the "CDF" can be computed from it)
![image](/uploads/18b7f61e4c061fa783f178e2f6681459/image.png)
Two, one in each direction, (non-decreasing) functions describe wh...### Problem to solve
(figure outdated, now it is basically a histogram, the "CDF" can be computed from it)
![image](/uploads/18b7f61e4c061fa783f178e2f6681459/image.png)
Two, one in each direction, (non-decreasing) functions describe where the pedestrians are located at what time. Alternatively, use a histogram (which changes over time).