Mapper: Concentric shift / parallel line

Created on 6 Apr 2016  路  10Comments  路  Source: OpenOrienteering/mapper

paralell shift
To draw exactly parallel lines (as a fence following along a winding road) it would be nice to have a parallel shift function ~ moving the points of a line symbol perpendicular to their tangents (?).

The parallel fence then could be drawn by "filling" the road with the fence first and then using that parallel shift...

enhancement

Most helpful comment

Someone has to write the code which uses it.

It's on my list and I've already made one (failed) attempt to implement it as a standalone tool. However, I'm more and more sure that it essentially should be a function of the Edit Line tool, which moves one segment in a "concentric" fashion. It's natural to extend the tool to move all path segments in a similar way. I'm wondering how the function should be switched. Any suggestions for modifier keys and/or switch key combinations are welcome.

BTW, I need this function too. :)

All 10 comments

This sounds similar to this issue https://github.com/OpenOrienteering/mapper/issues/362

It would definitely be useful. I would be interested to hear any clever ways of drawing parallel lines in the mean time.

Another variant of #143.

Please note - this kind of transformation called Concentric Shift or Radial Shift. The Parallel shift already implemented as Duplicate + Move Object.
concentric_shift

The new "follow outline" feature opens up for a temporary work-around to this concentric-shift issue... https://youtu.be/0nXfyCYcHjM

There is new open-source lib CavalierContours (MIT-licensed) that could be useful for Mapper, but as for now it limited only to "processing 2D polylines containing both straight line and constant radius arc segments" (no Bezier curves support yet)

pic.1

pic.2

There is new open-source lib CavalierContours (MIT-licensed) that could be useful for _Mapper_, but as for now it limited only to _"processing 2D polylines containing both straight line and constant radius arc segments"_ (no Bezier curves support yet)

There may be more libraries, but we already do have QBezier for such calculations. Someone has to write the code which uses it.

Someone has to write the code which uses it.

It's on my list and I've already made one (failed) attempt to implement it as a standalone tool. However, I'm more and more sure that it essentially should be a function of the Edit Line tool, which moves one segment in a "concentric" fashion. It's natural to extend the tool to move all path segments in a similar way. I'm wondering how the function should be switched. Any suggestions for modifier keys and/or switch key combinations are welcome.

BTW, I need this function too. :)

Maybe better start with a standalone clone of the edit-line tool: I would prefer to select multiple bezier segments by dragging along the line, before shifting by dragging away from the line.

By my understanding the concentric shift is applied to entire objects in most cases. You have an object you want a second to align to. You draw the second object snapping to the first, then you shift it concentric.
image
Thus I would prefer that the default is "all segments of the selected objects", with the option to deselect sections by ctrl-clicking on them before draging away.

Thus I would prefer that the default is "all segments of the selected objects", with the option to deselect sections by ctrl-clicking on them before draging away.

One more reason to start with a separate tool ;-)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ollesmaps picture ollesmaps  路  8Comments

Symbian9 picture Symbian9  路  3Comments

dl3sdo picture dl3sdo  路  5Comments

sfroyen picture sfroyen  路  6Comments

MartinHore picture MartinHore  路  4Comments