New scenario.json Version (0.5), test utils, simulation result
New Features: * Graphical simulation result is displayed in a table view to show run-time and overlap information if the corresponding processors are loaded. The Simulation result dialog can be deactivated in the preferences. * PedestrianOverlapProcessor returns two values "distance", "overlaps" for each overlap detected. If no overlap occurs the output is empty. "distance": The distance between the center of the two pedestrians "overlaps": The amount the two pedestrian overlap Changes: * New version for scenario.json (0.5): - remove scenario/attributesSimulation/needsBoundary as it is not used anymore. - remove attributes from processor PedestrianOverlapProcessor because the radius of a pedestrian can be retrieved from the topography at run-time. This would allow to detect overlaps of different sized pedestrian in the future. * Helper interfaces for testing: - The TestResourceHandler interface groups all methods needed to retrieve backup and reset test resources between single test runs. All methods, except getTestDir() have default implementation which rely rely on relative paths on getTestDir(). - The JsonNodeTest interface groups all methods needed to travers or search the Jackson JsonNode data structures. In contains methos for path finding and will fail the test if a path does not exist. * Added Test for PedestrianOverlapProcessor to check if a overlap of (2*r - 0.001) will always be treated as an overlap. Additional test are created to ensure (2*r + 0.001) with r:= pedestrian radius, will never create an overlap. Only between [2*r - 0.001 , 2*r + 0.001] different placements of pedestrian can produce overlaps. Example: --, /(45 degree) , | represent the distance (2*r) Case A: Case B: Case: C O--O O O | \ O O In the Case A and B no overlap is detected. In Case C an overlap is detected, because of rounding errors when calculating the distance \. This does not occure if the overlap is bigger than 0.001. Then in all three case a overlap is detected. If the distance between two pedestrian is 0.001 bigger than 2*r in none of the above cases an overlap is detected.
Showing with 123 additions and 213 deletions