Commit Graph

1168 Commits

Author SHA1 Message Date
Bryan Housel
f8bbb995ac Properly split ways which are members of a via way turn restriction
(closes #4861)
2018-03-10 15:20:20 -05:00
Bryan Housel
aa1565baf8 Avoid reordering stops and platforms in PTv2 routes
(closes #4864)
2018-03-10 00:12:46 -05:00
Bryan Housel
d9ebdda105 Polyfill sinh for IE11, add tests for wms replacement tokens
(see #4814)
2018-03-01 22:08:39 -05:00
Bryan Housel
4b1f8a8f61 Merge pull request #4768 from openstreetmap/advanced_intersection
Add support for complex intersection and via way restrictions
2018-03-01 01:46:30 -05:00
Bryan Housel
241159b547 Cleanup docs and tests for actionRestrictTurn / actionUnrestrictTurn
- actionRestrictTurn will no longer "infer" the turn type
- restrictionType *must* be passed in - this is ok because the only code
  we use this action (restrictions.js) already has inferred the type
- this simplifies what the action actually does
- moved the tests from restrict_turn.js that were really just testing
  the restriction type inferrence over to intersection.js
  (and added a few more tests for iD.osmInferRestriction)
2018-02-28 23:55:59 -05:00
Bryan Housel
e1cf49eaff Remove the "excludes coincident highways" check
These should not be a thing, and if they are, I'm ok with them
being treated as 2 separate ways.  We can add code back in later
if it turns out to be a widespread issue in OSM.
2018-02-28 13:42:26 -05:00
Bryan Housel
7fa27217b6 Return an indirect u-turn restriction for an only restriction 2018-02-23 11:59:44 -05:00
Bryan Housel
46cc6cc262 Update tests to use '_' id separators instead of ','
(using ',' with css selectors was problematic)
2018-02-23 11:30:54 -05:00
Bryan Housel
0cbff57dc9 Cycle through only_ turn restriction states
(re: #2622)
2018-02-07 19:04:28 -05:00
Bryan Housel
dac753c4ea Speedup hot code in actionDiscardTags
(re: #4611)
2018-02-04 14:57:26 -05:00
Bryan Housel
c1378a141f Add support for complex intersection and via way restrictions 2018-02-02 19:58:09 -05:00
Bryan Housel
80a998e9c5 Support multiple semicolon delimited direction values
(closes #4755)
2018-01-29 17:49:08 -05:00
Bryan Housel
4e9f1bbc4f Remove very old rendering.html test - no plans to update it 2018-01-26 17:40:51 -05:00
Bryan Housel
f05be1be6d Remove unused lodash script tag from test runner 2018-01-26 17:33:03 -05:00
Bryan Housel
d5bf2d9762 Add geoHasLineIntersections, better for testing multipolygon rings
(closes #4741)
2018-01-24 23:16:51 -05:00
Bryan Housel
b35f6f3f15 highway=motorway_link no longer implies oneway=yes
(closes #4727)

iD still explicitly set the tag, and default it to `oneway=yes`
2018-01-22 21:45:14 -05:00
Bryan Housel
de488e252f Draw covered/underground lines beneath areas
(closes #4718)
2018-01-22 15:06:58 -05:00
Bryan Housel
7c918ba161 Allow Relation.replaceMember to optionally preserve duplicates
(closes #4696)
2018-01-18 16:52:23 -05:00
Bryan Housel
be9bbd9271 Add tests for member ordering: node, way, relation 2018-01-18 15:21:38 -05:00
Bryan Housel
d6afd399fc Revised and expanded actionSplit tests to cover route splitting 2018-01-18 14:34:34 -05:00
Bryan Housel
3be577d8db However we fix actionAddMember, it needs to work for incomplete relations 2018-01-16 21:37:43 -05:00
Bryan Housel
be46e85ec0 Move insert way pairing code from osmJoinWays to actionAddMember
(tests for actionAddMember now passing!)
2018-01-16 17:41:14 -05:00
Bryan Housel
221158e918 WIP: Add insertHint to actionAddMember, actionSplit 2018-01-15 23:13:59 -05:00
Bryan Housel
03fa6e7be9 Add tryInsert option to osmJoinWays 2018-01-15 22:02:43 -05:00
Bryan Housel
075b85c81d Apply reversal actions in actionJoin
(closes #4688)
2018-01-14 14:49:57 -05:00
Bryan Housel
8dbb6eb20c Return reversal actions performed by osmJoinWays
(see #4688)
2018-01-13 01:45:46 -05:00
Bryan Housel
0fd801d750 Prefer to join member ways in a way that preserves their order
(re #4589)

Strongly prefer to generate a forward path that preserves the order
of the members array. For multipolygons and most relations, member
order does not matter - but for routes, it does. If we started this
sequence backwards (i.e. next member way attaches to the start node
and not the end node), reverse the initial way before continuing.
2018-01-12 17:23:56 -05:00
Bryan Housel
8f6cb207fc Much expanded tests for osmJoinWays 2018-01-11 21:42:29 -05:00
Bryan Housel
07262fa711 Add tests for #4589 2018-01-09 23:57:44 -05:00
Bryan Housel
748abdb950 Code formatting 2018-01-09 17:46:15 -05:00
Bryan Housel
49eb46fefb Add epsilon parameter to geoVecEqual 2018-01-08 17:04:56 -05:00
Bryan Housel
c908807f64 Render oneway=alternating, oneway=reversible with dual arrows
(closes #4291)
2018-01-04 13:40:49 -05:00
Bryan Housel
baeff8f59c Don't autocomplete a longer value if search matches a value exactly
(closes #4549)
2018-01-02 17:55:25 -05:00
Bryan Housel
9f1b71bb7e Add support for junction=circular (same as junction=roundabout)
(closes #4637)
2018-01-02 13:27:11 -05:00
Bryan Housel
9c27893748 Check for valid multipolygon geometry when dragging nodes
(this can get a bit expensive for large/complex multipolygons)
2017-12-31 02:26:19 -05:00
Bryan Housel
08cd2c7325 Tests for geoHasSelfIntersections 2017-12-28 23:46:08 -05:00
Bryan Housel
7af73c10ef Refactor geometric math functions from geo.js to geom.js 2017-12-28 01:28:38 -05:00
Bryan Housel
96afbbd785 Refactor vector math functions from geo.js to vector.js 2017-12-28 01:08:11 -05:00
Bryan Housel
9fbb4d350f Add geoVecEquals for strict comparisons 2017-12-23 22:33:35 -05:00
Bryan Housel
117ad7d6b6 Transitionable actionMoveNode 2017-12-22 16:57:27 -05:00
Bryan Housel
d82d5dc3d0 Add skipID to geoChooseEdge, to ignore dragging node 2017-12-21 17:30:50 -05:00
Bryan Housel
fcacdb4400 Fix hover test (requires context.hasEntity stub) 2017-12-21 11:18:06 -05:00
Bryan Housel
2e2b037e36 Move a bunch of commonly used vector and projection math functions into geo
- geoVecAdd
- geoVecSubtract
- geoVecScale
- geoZoomToScale
- geoScaleToZoom
2017-12-18 15:05:42 -05:00
Bryan Housel
18c97d52c8 Extract viewport nudging code from several places to geoViewportEdge 2017-12-18 09:50:17 -05:00
Bryan Housel
6644c9db6b Fix context.js and vertices.js tests 2017-12-15 18:17:12 -05:00
Bryan Housel
89d8d37576 Drawing all the correct vertices now where I want them, simplify classes
Some highlights
- `getSiblingAndChildVertices` are expensive, so they're saved and called less frequently
- draw touch targets for all the visible vertices
- remove redundant css classes and `setClass` function
2017-12-15 17:28:20 -05:00
Bryan Housel
b9e48d1682 WIP: Move layer-hit to layer-points with explict sublayers, update tests
This is more work to further isolate the layers that entities draw to.
It makes it easier to debug what is going on, and can eventually lead to
deferred drawing, if each draw function is in its own place and not dependant
on anything else.

I've started to replace the vertex-hover with an explicit layer for touch
targets.

Also had to change a lot of the svg tests, which are really brittle.
Things would happen like - the surface would be created, it would kick of a
deferred redraw, which would notice that the zoom was 0 and call
editOff, which would remove the osm layers that were just created and
that the tests were trying to draw to. These tests need proper zoom and
projection otherwise nothing works.
2017-12-14 17:38:43 -05:00
Bryan Housel
bfaf17538e Move text to single group with subgroups for halo,label,debug 2017-12-14 12:32:28 -05:00
Bryan Housel
a5bbc21728 Remove unnecessary zoom parameter 2017-12-11 17:34:01 -05:00
Bryan Housel
6b9ccdb45a Add tests for osmNode#direction 2017-12-11 14:33:22 -05:00