[Potlatch-dev] Magic Roundabout v2
Steve Bennett
stevagewp at gmail.com
Sun Mar 18 04:20:28 GMT 2012
Hi all,
I've cleaned up, improved and reworked my old magic_roundabout
patch, and rebased it off the current master. It's a pretty cool piece
of code, but there's quite a lot of it. Previously there were some
issues with how it dealt with undo/redo, but I've reworked that now.
https://github.com/stevage/potlatch2/tree/magic_roundabout2
Here's the introduction I wrote for it originally:
----
Introducing the amazing Magic Roundabout tool. This tool creates a
roundabout from scratch. To use it, start drawing a way from the node
that will be at the centre of your roundabout. The length of the way
you're drawing determines the radius of the roundabout. Press 'M'.
Bam! In one hit, it:
1) Creates a circular way of the appropriate size and location, with
an appropriate (?) number of nodes.
2) Creates junctions wherever it hits any other roads
3) Determines the most appropriate highway=* tag (the "highest" of any
of the roads that it touches.
4) Sets those tags, plus junction=roundabout
5) Splits any ways that ran from the central node across the roundabout
6) Removes the interior half of those ways.
What it doesn't do:
1) Have a particularly newbie-friendly interface (currently "A" for
magic roundabout - open to ideas)
2) Do anti-clockwise roundabouts
3) Do composite undo.
4) Handle any special cases. (I haven't really looked. It's 3am. The
undo stuff confused me greatly.)
----
Improvements:
Did do:
6) Now handles a wider variety of cases, so it almost always ends up
with clear space inside the roundabout.
Didn't do:
3) Now it's a well-behaved card-carrying member of the composite undo society.
4) Now it handles various special cases, and seems pretty solid.
Included in this patch is also another tool, on which Magic Roundabout
relies: "Make Junctions":
1) Select a way that crosses some other road/railway ways
2) Press "J"
3) All missing junctions between the two ways are detected and created.
Now, the git history of this branch is a bit messy, so I'm open to
suggestions on what to do next. There were files touched in the branch
(notably, autocomplete.as) which were totally irrelevant. I've undone
these changes, but they're still in the history. (I did experiment
with removing them with git filter-branch but it got a bit scary...)
So, would anyone mind having a look at the new, improved version, and
suggesting any improvements? Then, hopefully we can get it into the
main branch.
Thanks,
Steve
More information about the Potlatch-dev
mailing list