Commit Graph

1154 Commits

Author SHA1 Message Date
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
Bryan Housel
6cfe7a2e71 When reversing a way, reverse traffic_signals:direction on child nodes
(closes #4595)
2017-12-06 20:48:21 -05:00
Bryan Housel
f247bd1e66 Move icon code into uiFlash, default flash icon to icon-no
Previously it was up to the caller to draw whatever they want into the
footer flash.  With this change, uiFlash creates an icon and a text, so
the caller doesn't need to do as much work.
2017-12-05 23:41:34 -05:00
Bryan Housel
9b705a6375 Don't call async callbacks after connection resets/switches
(closes #4288)
2017-11-14 21:30:01 -05:00
Bryan Housel
1dd437a1f2 Hide mapillary-js attribution and just handle it in iD
(closes #4526)

What we were doing before was d3.selecting the attribution line and
inserting the capture date into it. This was confusing the viewer
(which updates asynchronously) so that the sitelink would never update.
To make things easier, we'll just hide the viewer's built in attribution
and construct the attribution line the way we want it.
2017-11-14 11:32:42 -05:00
Bryan Housel
4571fd0563 Highlight selected/hovered streetview tracks, fade unselected
Also some code cleanups and nitpicky variable renames
More consistency in Mapillary/OpenStreetCam services
2017-11-08 00:35:44 -05:00
Bryan Housel
2947dcc2fb Add tests for Openstreetcam service and Mapillary sequences 2017-11-06 23:11:00 -05:00
Bryan Housel
00b30e29f0 WIP: Add OpenStreetCam support
todo: Need to figure out API issue with bbox, then imageviewer
2017-11-02 22:04:47 -04:00
Bryan Housel
a5d04cc2f1 Fix the highway=pedestrian + area=yes test 2017-10-31 16:56:55 -04:00
Bryan Housel
c40f242b82 Depend on bhousel/node-diff3 which includes fix for hunk sorting bug
(closes #3544, closes #3058)
2017-10-24 15:38:52 -04:00
Bryan Housel
b3842d97f4 Remove lodash from the test suite
(closes #4378)
2017-10-18 14:37:39 -04:00
Bryan Housel
8abc39461b Fallback Area preset should preserve the area=yes tag
(closes #4424)
2017-10-10 20:54:41 -04:00
Bryan Housel
b5168c1070 Restore the global d3 (needed so tests use the same d3.event as iD?) 2017-09-27 10:39:03 -04:00
Bryan Housel
9f1d476594 Attempt to remove d3, lodash from bundle, but leave available for tests 2017-09-26 14:19:14 -04:00
Bryan Housel
6eb392f147 Merge branch 'esri-vintage' of https://github.com/jgravois/iD into jgravois-esri-vintage 2017-09-12 09:45:18 -04:00