JPScore issueshttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues2018-06-13T16:29:02+02:00https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/110make ini2018-06-13T16:29:02+02:00Mohcine Chraibim.chraibi@fz-juelich.demake inishould consider changing similar attributes of different tags
For example:
```
<v0 mu="[0.8, 1.0, 1.2]" sigma="0.0"/>
<bmax mu="[1,2]" sigma="0.001" />
```should consider changing similar attributes of different tags
For example:
```
<v0 mu="[0.8, 1.0, 1.2]" sigma="0.0"/>
<bmax mu="[1,2]" sigma="0.001" />
```https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/108add color attribute to groups2018-06-13T16:41:45+02:00Mohcine Chraibim.chraibi@fz-juelich.deadd color attribute to groupsFor instance
``` xml
<group group_id="3" agent_parameter_id="1" room_id="0" subroom_id="0" number="10" color="154"/>
```
This will give more flexibility to the end user
See #105For instance
``` xml
<group group_id="3" agent_parameter_id="1" room_id="0" subroom_id="0" number="10" color="154"/>
```
This will give more flexibility to the end user
See #105https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/106Rimea tests failing2018-06-13T16:41:47+02:00Mohcine Chraibim.chraibi@fz-juelich.deRimea tests failingCheck last [Dashboard](http://my.cdash.org/viewTest.php?onlyfailed&buildid=786510)
Right now the failing tests are:
* [x] test 5
* [x] test 8
* [x] test 10
* [x] test 12
* [x] test 13Check last [Dashboard](http://my.cdash.org/viewTest.php?onlyfailed&buildid=786510)
Right now the failing tests are:
* [x] test 5
* [x] test 8
* [x] test 10
* [x] test 12
* [x] test 13https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/105Colors by group2018-06-13T16:29:02+02:00Mohcine Chraibim.chraibi@fz-juelich.deColors by groupUsing the number of groups here:
```
Pedestrian.cpp
hash_fn(key) % 255
```
generates colors which are very close to each other. For instance group 0, 1, 2, 3 all will have +- the same color.
We can try to do something like
```
Pe...Using the number of groups here:
```
Pedestrian.cpp
hash_fn(key) % 255
```
generates colors which are very close to each other. For instance group 0, 1, 2, 3 all will have +- the same color.
We can try to do something like
```
Pedestrian.cpp
hash_fn(key+100) % 255
```
What do you think?https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/104proper velocity while transiting between stairs and even surfaces2018-06-13T16:41:46+02:00Mohcine Chraibim.chraibi@fz-juelich.deproper velocity while transiting between stairs and even surfacesThe difference in speed between stairs and even surface must not be too high > 0.5
otherwise the solver will have some issues.
This should be fixed by implementing a proper transition betweenThe difference in speed between stairs and even surface must not be too high > 0.5
otherwise the solver will have some issues.
This should be fixed by implementing a proper transition betweenMohcine Chraibim.chraibi@fz-juelich.deMohcine Chraibim.chraibi@fz-juelich.dehttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/103protocol buffer compilation issue under linux2018-06-13T16:41:46+02:00Mohcine Chraibim.chraibi@fz-juelich.deprotocol buffer compilation issue under linuxCompilation error when protobuf is installed but the grpc lib are not found (This seems to be the default case on many linux distributions)
-- Found PROTOBUF: /usr/lib/x86_64-linux-gnu/libprotobuf.so
-- Protocol buffer library foundCompilation error when protobuf is installed but the grpc lib are not found (This seems to be the default case on many linux distributions)
-- Found PROTOBUF: /usr/lib/x86_64-linux-gnu/libprotobuf.so
-- Protocol buffer library foundhttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/102Obstacle ConvertLineToPoly() fails2018-06-13T16:29:02+02:00Mohcine Chraibim.chraibi@fz-juelich.deObstacle ConvertLineToPoly() failsFig (A) ![convave_obstacle](https://cst.version.fz-juelich.de/jupedsim/jpscore/uploads/79fdfd0f01b7e7807e43428fd9a226b2/convave_obstacle.png)
Fig(B) ![convave_room](https://cst.version.fz-juelich.de/jupedsim/jpscore/uploads/4b0cf52dcabc...Fig (A) ![convave_obstacle](https://cst.version.fz-juelich.de/jupedsim/jpscore/uploads/79fdfd0f01b7e7807e43428fd9a226b2/convave_obstacle.png)
Fig(B) ![convave_room](https://cst.version.fz-juelich.de/jupedsim/jpscore/uploads/4b0cf52dcabcf56dfd5ed134fe8674cf/convave_room.png)
Both the above geometry are considered as a closed polygon. Fig A has intersecting Walls.
In fig B there are no intersecting Walls, but the added walls are considered to form a polygon with 7 vertex. Meaning there is a duplicate created in the _poly vector.
Note:: Fig B is considered as a polygon with 7 vertex only when the lines are added in the above mentioned order. If Point P1 is not the starting point, then different results occur. The results are not consistent and varies directly proportional to the order of adding the walls.https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/101Line::WhichSide() return value and comments contradict2018-06-13T16:29:02+02:00Mohcine Chraibim.chraibi@fz-juelich.deLine::WhichSide() return value and comments contradictIn class Line.cpp, function int Line::WhichSide(cont Point &pt){}
the commented lines specify 0 for left and 1 for right in the SPECIAL case (vertical line check) and it returns as 0 for left and 1 for right.
But when it is not a vert...In class Line.cpp, function int Line::WhichSide(cont Point &pt){}
the commented lines specify 0 for left and 1 for right in the SPECIAL case (vertical line check) and it returns as 0 for left and 1 for right.
But when it is not a vertical line, it returns 0 for right and 1 for left.
Intended return value needs to be checked.
EDIT :: This contradiction occurs only when the line is horizontal and almost horizontal.https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/100subroom convert to polygon bug2018-06-13T16:29:02+02:00Mohcine Chraibim.chraibi@fz-juelich.desubroom convert to polygon bugRefer https://cst.version.fz-juelich.de/jupedsim/jpscore/commit/a0eeb6fd6c3b29309c2e651b6f1935e900426f39
Walls smaller than 3cm are not considered to be a part of the polygon, hence the polygon creation is discarded.
Exit doors overla...Refer https://cst.version.fz-juelich.de/jupedsim/jpscore/commit/a0eeb6fd6c3b29309c2e651b6f1935e900426f39
Walls smaller than 3cm are not considered to be a part of the polygon, hence the polygon creation is discarded.
Exit doors overlapping with the Walls stay hidden. The polygon created for the subroom does not recognize this overlap of wall over the exit.https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/99Increment version of files to v0.72018-06-13T16:29:02+02:00Mohcine Chraibim.chraibi@fz-juelich.deIncrement version of files to v0.7@andresen @b.schroeder
could you please add the header information to the cognitive map files ?@andresen @b.schroeder
could you please add the header information to the cognitive map files ?https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/98actualize xsd files2018-06-13T16:29:02+02:00Mohcine Chraibim.chraibi@fz-juelich.deactualize xsd filesthere are new options for inifiles and geometry filesthere are new options for inifiles and geometry fileshttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/97Visibility in 3D2018-06-13T16:29:02+02:00Mohcine Chraibim.chraibi@fz-juelich.deVisibility in 3DVisibility calculation only works for 2D geometry (since the basis element Point and Line are only 2D).
Redesigning the function to take a list of subroom to consider, might help mitigating until we move to the next version of the geometry.Visibility calculation only works for 2D geometry (since the basis element Point and Line are only 2D).
Redesigning the function to take a list of subroom to consider, might help mitigating until we move to the next version of the geometry.https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/96Convert to PolyLine in obstacle -- bug2018-06-13T16:29:02+02:00Mohcine Chraibim.chraibi@fz-juelich.deConvert to PolyLine in obstacle -- bugIn Obstacle.cpp -> bool Obstacle::ConvertLineToPoly(),
ISSUE 1) while converting the walls to a polygon, (see fig below) for Poly (A), (B) and (C) it is considered as a closed polygon. But for Poly (D), though Line L5 is just an extensi...In Obstacle.cpp -> bool Obstacle::ConvertLineToPoly(),
ISSUE 1) while converting the walls to a polygon, (see fig below) for Poly (A), (B) and (C) it is considered as a closed polygon. But for Poly (D), though Line L5 is just an extension of the closed polygon, Poly (D) is not considered as a closed polygon. This needs to be addressed.
![Unbenannt](https://cst.version.fz-juelich.de/jupedsim/jpscore/uploads/5bc705271b4be74a0b67923138e45760/Unbenannt.png)
ISSUE 2) For failed closed polygon conditions, the return value should be false. But there is a memory access violation thrown by the compiler instead, during test run.https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/95General strategie is buggy2018-06-13T16:41:46+02:00Mohcine Chraibim.chraibi@fz-juelich.deGeneral strategie is buggyIn function `routing/DirectionStrategy.cpp` function `DirectionGeneral()`
we need to avoid detect collision with obstacles as polygons and not as a bunch of lines.
Actually, we try to find an angle to avoid the collision with an obstacl...In function `routing/DirectionStrategy.cpp` function `DirectionGeneral()`
we need to avoid detect collision with obstacles as polygons and not as a bunch of lines.
Actually, we try to find an angle to avoid the collision with an obstacle line, which is depicted with the green line here:
![0021](https://cst.version.fz-juelich.de/jupedsim/jpscore/uploads/9193241f6836795d2fc8caf07fe87346/0021.png)
That may lead pedestrian to get stuck!!Mohcine Chraibim.chraibi@fz-juelich.deMohcine Chraibim.chraibi@fz-juelich.dehttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/94Navigation with Triangulation2018-06-13T16:29:02+02:00Mohcine Chraibim.chraibi@fz-juelich.deNavigation with TriangulationWhen the option
`<navigation_mesh method="triangulation" use_for_local_planning="true"/>`
is `true` the pedestrians use the triangulation lines as `HLines`. However, it should be better if they filter these lines and reduce them to a m...When the option
`<navigation_mesh method="triangulation" use_for_local_planning="true"/>`
is `true` the pedestrians use the triangulation lines as `HLines`. However, it should be better if they filter these lines and reduce them to a minimum of lines (these necessary to guarantee an overall visibility).https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/91member attrib of subroom>wall>Point1 changes2018-03-16T15:01:05+01:00Mohcine Chraibim.chraibi@fz-juelich.demember attrib of subroom>wall>Point1 changesThis error occured in a DIFFERENT fork, but is reported here to not get lost in case of an unknown error in wall, line, point handling
Right now, chances are, that it is not an error in this code.
While accessing the x-coord. of wall->P...This error occured in a DIFFERENT fork, but is reported here to not get lost in case of an unknown error in wall, line, point handling
Right now, chances are, that it is not an error in this code.
While accessing the x-coord. of wall->Point1, it changes after the 5th access from 65 to 6.95335e-310 where it should not.
~Vector() of my local vector is called in call-stack of the moment it changes. (see following gdb output)
Valgrind reports invalid reads which might be the accesses we see.
Watchpoint report the memory of wall->Point1->x being written to by "malloc.c"
Following the GDB output: (wall is a vector with element-type: Wall*)
[gdbOutput001.txt](https://cst.version.fz-juelich.de/jupedsim/jpscore/uploads/0fec291746b779661d002e91091f2ef0/gdbOutput001.txt)
----------------------------------------------------------
the destructor-call can be the root of *#@&$*@%*https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/89individual risk factor2018-03-16T15:01:05+01:00Mohcine Chraibim.chraibi@fz-juelich.deindividual risk factorJUST for documentation purposes:
implementation of a random factor to model individual risk evaluation e.g. when observing smoke.JUST for documentation purposes:
implementation of a random factor to model individual risk evaluation e.g. when observing smoke.https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/88Unit Test Coverage2018-03-16T15:01:05+01:00Mohcine Chraibim.chraibi@fz-juelich.deUnit Test CoverageThe next step for JPSCore is to provide unit tests to make sure that every methode we write does what we expect it to do. Our pyhton scripts are only for testing our simulation model, but not the methods itself.
A Unit test should cover...The next step for JPSCore is to provide unit tests to make sure that every methode we write does what we expect it to do. Our pyhton scripts are only for testing our simulation model, but not the methods itself.
A Unit test should cover at least 80% of a class/cpp file (100% would be the best of course). We are using Boost.Test as our Framework.
You can find a sample of a unit test written with boost in jpscore/Utest/TestClassPointBoost.cpp
The first unit tests to write are for
Point.cpp (currently 60%)
JEllipse.cpp (currently 66%)
Line.cpp (currently 20%)
Wall.cpp (0%)
Room.cpp (0%)
Obstacle.cpp (0%)
Please write the tests (one file per cpp-file) from scratch with boost (except for Point, you can simply extend TestClassPointBoost).
to check the code coverage by yourself you need to install gcovr (a python script open source)
and call cmake with
cmake -DCMAKE_BUILD_TYPE:STRING=Debug -DBUILD_CPPUNIT_TEST=ON ..
after that of coure make and then ctest
make
ctest
after the tests where running you call
gcovr "\`pwd\`/build/CMakeFiles/core.dir" -r .
if you are in the jpscore directory.
If you have further questions let me know ;)https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/87Colors by group2018-06-13T16:29:01+02:00Mohcine Chraibim.chraibi@fz-juelich.deColors by groupGive groups different colors
```
<agents_distribution color_by_grp="true">
```Give groups different colors
```
<agents_distribution color_by_grp="true">
```https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/86Cellular Automata integration2018-06-13T16:41:46+02:00Mohcine Chraibim.chraibi@fz-juelich.deCellular Automata integrationPossibility to compute a specified area with a CA modelsPossibility to compute a specified area with a CA models