Skip to content

OcdFileExport: Zero angle on non-rotatable objects#2530

Open
lpechacek wants to merge 1 commit into
OpenOrienteering:masterfrom
lpechacek:ocd-north-zero-object-angle
Open

OcdFileExport: Zero angle on non-rotatable objects#2530
lpechacek wants to merge 1 commit into
OpenOrienteering:masterfrom
lpechacek:ocd-north-zero-object-angle

Conversation

@lpechacek

Copy link
Copy Markdown
Member

Text and point objects with non-rotatable symbol appear orientated to north in Mapper. When writing XML, Mapper skips the rotation attribute in Object::save(QXmlStreamWriter&).

However, if a map is opened from OCD format, the north rotation lock is silently removed from point symbols. The user may restore the rotation lock by either replacing the symbol set or a manual intervention. Then if the map is saved in OCD format, the symbol has north orientation (rotation lock) and the object has rotation angle set. If the map is reopened in Mapper, the cycle repeats - there is a rotated object with a point symbol, so Mapper removes the lock again.

The text symbols do not have the rotation lock removal logic in OCD import and text appears rotated regardless of the lock setting. As a result, north oriented text is rendered as rotated and cannot be straightened by the Rotate pattern tool. The Rotate object tool, which is enabled for the object in question, creates funny effects.

This patch aligns the export logic in OCD export path with the XML counterpart.

Text and point objects with non-rotatable symbol appear orientated to
north in Mapper. Output zero rotation angle in OCD format so that the
objects maintain its orientation. The approach follows the logic in
Object::save(QXmlStreamWriter&).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant