OpenOrienteering / mapper

OpenOrienteering Mapper is a software for creating maps for the orienteering sport.
https://www.openorienteering.org/apps/mapper/
GNU General Public License v3.0
400 stars 106 forks source link

Incorrect rendering of area cross-hatch pattern #2101

Open lpechacek opened 1 year ago

lpechacek commented 1 year ago

Steps to reproduce

  1. Create a large area object with a cross-hatch pattern (e.g. 709 Out of bounds).
  2. Zoom into the area so that parts of the area are out of view.

Actual behaviour

Some of the lines in the top-left - bottom-right direction are missing while all the bottom-left - top-right lines are present. The issue affects screen rendering and exports as mentioned in #2100.

Expected behaviour

Both directions should render correctly.

Illustration

A map from 20th IARU World ARDF Championships Bulletin 4. Kudos to @mlerjen for the pointer. image

Configuration

Mapper Version: v0.9.5 Operating System: all

dl3sdo commented 1 year ago

When reproducing that issue I noticed some interesting things: It's easy to reproduce when using the forest_sample map and adding an object of (710 Dangerous area). As soon as a part of the object is out of view on the left side (and only there), then parts of the lines in the top-left - bottom-right are missing. The same is true for single hatched objects that are rotated (e.g., 411 Forest runnable in one direction).

However, when creating a new map and doing the same with (e.g., 410 Vegetation: fight, normal running in one direction) by making the Fill rotation adjustable per object, everything looks fine. But when I copy that symbol to the forest_sample map then the error occurs. This also happens with cross-hatched patterns.

lpechacek commented 1 year ago

Thanks, Matthias, for your involvement here.

However, when creating a new map and doing the same with (e.g., 410 Vegetation: fight, normal running in one direction) by making the Fill rotation adjustable per object, everything looks fine. But when I copy that symbol to the forest_sample map then the error occurs. This also happens with cross-hatched patterns.

Interestingly enough, I can replicate the issue easily after making the undergrowth symbol rotatable. Maybe I just chose a different object shape in my testing.

Screencast from 2022-10-21 13-17-48.webm