Commit Graph

47 Commits

Author SHA1 Message Date
Katarzyna Król
48ccc7900e improve checking circularity and unit tests 2019-10-29 22:51:05 +01:00
Quincy Morgan
4eedfa8b25 Don't allow autofixing unsquare buildings unless they are already very close to square
Allow autofixing buildings with tags
2019-05-13 16:28:08 -04:00
Bryan Housel
4608e9598c Adjust thresholds for unsquare_way detection
(re: #6288)

I'd like to keep the angle threshold the same as what the action does
for UI consistency, but use a larger epsilon, so that fewer nearly-orthogonal
errors are reported.

With previous constants, it was strange that very orthogonal buildings
were being flagged, and very not-orthogonal buildings were not.
2019-05-06 11:42:57 -04:00
Quincy Morgan
d01bb78707 Reduce circular dependencies caused by importing from indexes, the location of the validation models, and the location of areaKeys (close #6237) 2019-04-24 13:45:59 -07:00
Bryan Housel
05949608aa Support straightening of points
(closes #6217)

- Split `actionStraighten` into `actionStraightenWay` and `actionStraightenNodes`
- Now `operationStraighten` chooses the correct action depending on selected entities
- Also move `getSmallestSurroundingRectangle` from `actionReflect` to `geo.js`
2019-04-24 01:55:43 -04:00
Quincy Morgan
34fcd01f98 Add validation warning for unsquare buildings 2019-04-23 15:50:52 -07:00
Bryan Housel
76e0d13729 Remove lodash every and filter
(re: #6087)
2019-03-23 01:22:56 -04:00
Bryan Housel
7a6c63fcc5 Remove lodash extend (re: #6087) 2019-03-23 00:38:39 -04:00
Bryan Housel
7e6f68a1b2 Remove lodash some
(re: #6087)
2019-03-23 00:07:52 -04:00
Bryan Housel
b47ab4ac50 Change orthogonalize to support degenerate shapes, non-closed ways
Also adds a handful of useful vector math functions to geo module
2019-02-28 22:52:45 -05:00
Bryan Housel
e44dfcb5e3 Add geoVecNormalizedDot 2019-02-25 23:07:03 -05:00
Bryan Housel
c3ac083b32 Reuse math code, add geoVecNormalize, code cleanups 2019-02-25 21:15:20 -05:00
Quincy Morgan
b25d75a6cc Use existing nodes where possible in almost junction connection fix 2019-02-06 12:47:12 -05:00
Bryan Housel
b860bbb5f0 Expand sidebar when selecting notes and data 2018-11-07 09:54:54 -05:00
Bryan Housel
1dbf273878 Remove flow
https://github.com/openstreetmap/iD/issues/3744#issuecomment-374950519
2018-03-22 16:51:53 -04:00
Bryan Housel
efddfd271c More flow coverage of geo submodule
(re: #3744)

also:
- Move types to index and export/import them
- add return types
2018-03-17 09:29:12 -04:00
Bryan Housel
3e47ca005c Started adding Flow annotations to functions in the geo submodule
(re: #3744)
2018-03-17 01:18:05 -04:00
Bryan Housel
d5bf2d9762 Add geoHasLineIntersections, better for testing multipolygon rings
(closes #4741)
2018-01-24 23:16:51 -05:00
Bryan Housel
e661281e38 Prevent self intersecting lines without a junction node
(closes #4646)
2018-01-08 19:17:50 -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
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
4f02340374 Extract self-intersection code to geoHasSelfIntersections
Test for self-intersecting areas in both drag_node and draw_way
2017-12-28 23:10:52 -05:00
Bryan Housel
462fef148d Remove unused imports (eslint warning) 2017-12-28 21:20:14 -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
d82d5dc3d0 Add skipID to geoChooseEdge, to ignore dragging node 2017-12-21 17:30:50 -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
8e591a5384 Convert lodah-es and d3 to named imports for geo 2017-09-24 23:01:21 -04:00
Bryan Housel
cad4c0090c Refactor rotation code to geoRotate, add tests 2016-12-21 11:21:06 -05:00
Bryan Housel
063e7712b8 Move geo functions from index.js to geo.js 2016-12-20 23:08:22 -05:00
Bryan Housel
0d0b9b0d9b Use geoEuclideanDistance for simpler code 2016-10-18 00:56:18 -04:00
Bryan Housel
f50e80d0b5 Refactor Intersection, Multipolygon from geo to osm 2016-10-11 23:09:27 -04:00
Bryan Housel
07fa5fcc34 Refactor Entity, Node, Relation, Tags, Way from core to osm 2016-10-11 22:41:24 -04:00
Bryan Housel
0d0e54fdff Fix more namespaces that were missed in the first pass 2016-10-04 21:15:30 -04:00
Bryan Housel
3102a4ae6a Rename all the things to include pseudonamespaces 2016-10-04 19:06:20 -04:00
Bryan Housel
15b3a44c9a Add projection.transform, simplify projection code, WIP on minimap 2016-09-07 08:59:31 -04:00
Bryan Housel
a86f34b4ef Pacify eslint, get build and tests running again 2016-08-26 01:15:07 -04:00
Tom MacWright
cdb533fa84 Begin d3 v4 update 2016-08-21 15:19:27 -04:00
Tom MacWright
604d1e2719 import lodash (#3257) 2016-07-19 12:04:16 -04:00
Tom MacWright
3856b1ff2f Inter-require iD instead of relying on the global (#3256) 2016-07-19 10:30:50 -04:00
Kushan Joshi
39c82af158 Sort modules [eslint rule] 2016-07-06 12:12:08 +05:30
Bryan Housel
197b936d50 Upgrade rbush to 2.x 2016-07-01 23:12:51 -04:00
Kushan Joshi
7267d05e3d external modules for "geo" 2016-06-18 20:38:39 +05:30
Kushan Joshi
b2095a502a convert iD.geo to geo modules 2016-06-15 21:11:10 +05:30