Commit Graph

388 Commits

Author SHA1 Message Date
Karl Wright f2c0005e9d LUCENE-8451: Interpret IllegalArgumentException result from convex polygon constructor as meaning a tiling failure. 2018-08-11 06:58:50 -04:00
Karl Wright 9c02bf09b7 LUCENE-8451: Add disabled regression test 2018-08-09 20:39:38 -04:00
Ignacio Vera ea2e564dad LUCENE-8444: Prevent building functionally identical plane bounds when constructing DualCrossingEdgeIterator 2018-08-06 12:40:08 +02:00
Ignacio Vera 70a4939ab4 LUCENE-8445: Tighten condition when two planes are identical to prevent constructing bogus tiles when building GeoPolygons 2018-08-06 09:34:11 +02:00
Adrien Grand 9ca053712a LUCENE-8430: TopDocs.totalHits may now be a lower bound of the hit count. 2018-07-30 16:38:05 +02:00
Michael Braun f0e1864ceb Merge remote-tracking branch 'source/master' into remove-constructor-wrapper-classes 2018-07-14 13:39:37 -04:00
Karl Wright dcfbaf31db LUCENE-8363: Interpolate should yield points on the ellipsoid. 2018-06-19 02:31:40 -04:00
ivera 36b7cdde06 LUCENE-8350: Fix for time-out in RandomGeoPolygonTests 2018-06-08 12:47:26 +02:00
Michael Braun fb6574100e LUCENE-8345 - add wrapper class constructors to forbiddenapis 2018-06-03 15:40:50 -04:00
Karl Wright ceb4f768bf LUCENE-8337: Fix problems with how travel planes too close to edge of world are disallowed, and increase the size of the disallowed window by an order of magnitude. 2018-05-29 21:03:03 -04:00
Karl Wright 7ce6dbda18 LUCENE-8337: Add disabled unit test for failure 2018-05-29 12:42:56 -04:00
Karl Wright ff68acf244 LUCENE-8280: Reorganize to allow us to try lots of strategies until we get one. 2018-04-30 06:12:31 -04:00
Karl Wright c94a83fd28 LUCENE-8280: Use a combination of strategies to work around the fact that no strategy can be used in all situations. 2018-04-28 09:06:44 -04:00
Karl Wright 43f0c67046 LUCENE-8281: Make sure we use the right iterator, and don't allow the construction of one with a null set of points. 2018-04-27 08:39:26 -04:00
Karl Wright e912ed2a2c LUCENE-8281: Add a test for the new kind of failure, but disabled 2018-04-26 12:59:49 -04:00
Karl Wright fe98d6a985 Mark the failing random tests with AwaitsFix 2018-04-26 11:27:52 -04:00
Karl Wright 08cf263132 LUCENE-8280: Add a test for the case the automation found. 2018-04-26 10:53:54 -04:00
Karl Wright 9f506635e0 LUCENE-8276: Don't allow travel near a pole; require a different choice of travel plane 2018-04-26 08:08:34 -04:00
Karl Wright 8e029816cf LUCENE-8276: Add new tests which demonstrate the issue. Only one is now failing. 2018-04-26 07:14:27 -04:00
Simon Willnauer 2265ec1947 LUCENE-8276: Remove unused imports 2018-04-26 12:10:21 +02:00
Karl Wright 15a6b586c7 LUCENE-8276: Restructure complex polygon class yet again to allow dual test points. 2018-04-26 02:59:09 -04:00
Ignacio Vera e8c36f489e LUCENE-8266: Detect bogus tiles when creating a standard polygon and throw a TileException 2018-04-23 11:52:01 +02:00
Karl Wright 493bdec3a7 LUCENE-8258: A better fix to avoid out-of-world plane intersections for traversal planes. 2018-04-20 03:30:09 -04:00
Karl Wright a033759f12 LUCENE-8258: Tighten rejection of travel planes that are too close to an edge. Note: this may cause failures in some cases; haven't seen it, but if that happens, the logic will need to change instead of just the cutoff. 2018-04-19 08:46:54 -04:00
Karl Wright 4ee92c22a4 LUCENE-8257: All edges have a backing plane, so edge membership doesn't bleed through to the opposite side of the world. 2018-04-17 02:45:44 -04:00
Karl Wright d78c354bef LUCENE-8251: Handle near-parallelness with envelope plane by a progressive adjoining point distance increment, up to 100 iterations. Then, give up and assume a crossing. 2018-04-13 12:05:42 -04:00
Karl Wright 79350bd4dd LUCENE-8251: Add AwaitsFix for the tests that this issue covers. 2018-04-13 09:39:31 -04:00
Karl Wright f41e7c4da7 LUCENE-8251: Add an explicit test case to cover the discovered failure. But it appears to be already fixed. 2018-04-13 00:10:57 -04:00
Karl Wright e8f1649ab4 LUCENE-8251: Annotate occasionally failing test with AwaitsFix 2018-04-12 23:46:40 -04:00
Karl Wright 1d201f3c18 LUCENE-8245: Make precommit happy, again. 2018-04-12 23:32:46 -04:00
David Smiley 4f694d5c72 LUCENE-8245: fix unused import 2018-04-12 12:30:09 -04:00
Karl Wright 832e89748e LUCENE-8245: Use strict bounds checking for edge planes when assessing envelope crossings. It's the only way to insure we don't overdetect or underdetect such intersections. 2018-04-12 07:08:51 -04:00
Karl Wright 0b1e8ef72e LUCENE-8245: Re-solve the 'intersection outside the world' case. 2018-04-12 06:39:32 -04:00
Karl Wright 0c71503448 LUCENE-8245: Change how crossings are computed. 2018-04-11 17:53:50 -04:00
Karl Wright 8e77892443 LUCENE-8245: Handle parallel planes case properly. 2018-04-11 02:53:51 -04:00
Joel Bernstein e90ab4bb81 LUCENE-8245: Fix precommit 2018-04-10 12:43:19 -04:00
Karl Wright 61c37551ac LUCENE-8245: Fix precommit. 2018-04-10 12:01:03 -04:00
Karl Wright 14b313f42b LUCENE-8245: Adopt a more-rigorous way of finding intersections with envelope planes. 2018-04-10 11:10:40 -04:00
Karl Wright 661fdf3a43 LUCENE-8245: Add more tests that demonstrate problems with GeoComplexPolygon. 2018-04-10 06:57:13 -04:00
Karl Wright 9bd6d1305c LUCENE-8245: Don't rely only on 'intersects' code to determine whether we should bother looking for crossings; also see if endpoints lie on travel planes. 2018-04-09 20:13:12 -04:00
Karl Wright 348de9e8b5 LUCENE-8245: Adjust envelope to not leave as big a gap between travel planes and above/below planes. 2018-04-08 06:44:10 -04:00
broustant aba793def6 LUCENE-8239: remove unused import of @Ignore 2018-04-05 16:53:42 -04:00
Karl Wright 74c2b798eb LUCENE-8239: Handle degenerate vector case on linear edge evaluation. 2018-04-05 13:56:21 -04:00
Karl Wright 9b03f8c033 LUCENE-8239: Identify the situation where the travel and test point plane envelopes are off the ellipsoid and avoid them. 2018-04-05 12:07:07 -04:00
Ignacio Vera 508476e1ad LUCENE-8239: Add failing test with ignore flag 2018-04-05 15:33:55 +02:00
Ignacio Vera cf56890400 LUCENE-8236: Filter duplicated points when creating GeoPath shapes to avoid creation of bogus planes. 2018-04-04 13:33:42 +02:00
Ignacio Vera d332764617 LUCENE-8234: Fixed bug in how spatial relationship is computed for GeoStandardCircle when it covers the whole world 2018-04-03 10:19:23 +02:00
Karl Wright b4a83fffbd LUCENE-7642: Take the slightly more cautious approach of introducing a plane method for functional identicality. 2018-03-31 11:42:32 -04:00
Karl Wright 590e67158c LUCENE-7642: Multi-pronged approach to fixing this problem. Main fix is a better detection of parallelness in polygon adjoining edge planes. We deliberately make parallel determination less strict now than technically needed to avoid pathological cases. Other downstream changes devolve from that. 2018-03-31 10:03:49 -04:00
Karl Wright 0ef68f7d7c Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/lucene-solr 2018-03-30 08:37:06 -04:00
Karl Wright e06554ad40 LUCENE-8227: Widen plane envelopes a small amount to allow for some imprecision when intersecting inner and outer edges. 2018-03-30 08:36:47 -04:00
Shalin Shekhar Mangar b78d980097 LUCENE-8227: Remove unused import to make precommit happy 2018-03-30 16:54:44 +05:30
Karl Wright bc40f6c7e2 LUCENE-8227: Redevelop path iterator implementations to make them robust against edges on paths. 2018-03-30 06:43:42 -04:00
Karl Wright 5b429df56f LUCENE-8227: Under pressure, had to @Ignore tests that caused intermittent failures. This means no further work on Geo3D until these tests can be re-enabled. 2018-03-29 10:37:28 -04:00
Karl Wright 6dcb6ae641 LUCENE-8227: Handle identical planes properly in GeoComplexPolygon. 2018-03-27 19:05:27 -04:00
Karl Wright 26ba705a4f LUCENE-8220: Fix yet another case where we cannot tile. 2018-03-26 06:20:34 -04:00
Karl Wright 85c182607b LUCENE-8220: Add general makeGeoPolygon variant that decides the best technology for you. 2018-03-25 12:20:41 -04:00
Karl Wright 273a829c46 LUCENE-8220: Switch over to using GeoComplexPolygon if we can't tile a polygon. 2018-03-25 08:17:08 -04:00
Karl Wright 5e1d6f36f7 LUCENE-8220: Code cleanup in preparation for returning GeoComplexPolygon as an alternative instead of tiling. 2018-03-25 07:41:20 -04:00
Karl Wright 9e5468adcd LUCENE-8220: need a continue, not a break 2018-03-25 03:58:51 -04:00
Karl Wright d49ba5c333 LUCENE-8220: Refine how handle tiling coplanarities further. 2018-03-25 03:46:08 -04:00
Karl Wright 086682bc33 LUCENE-8220: Handle polygon tiling issues in a more robust way. 2018-03-24 11:03:15 -04:00
Karl Wright cd39314a00 LUCENE-8214: Do a better job of selecting the test point for a geocomplexpolygon. 2018-03-18 16:12:29 -04:00
Karl Wright 349579f010 LUCENE-8211: Handle the case where we've got a full-half-world single-plane path in GeoComplexPolygon. 2018-03-16 10:43:54 -04:00
Karl Wright b896fe68a7 LUCENE-8208: Use a tighter definition of identical when it comes to vectors. 2018-03-15 12:29:30 -04:00
Ignacio Vera e3032dd3fc LUCENE-8126: New spatial prefix tree (SPT) based on google S2 geometry 2018-03-02 10:29:07 +01:00
Karl Wright d21e104de2 LUCENE-8187: Reduce the count of test iterations for nightly because it was causing timeouts. 2018-02-27 17:15:42 -05:00
Erick Erickson 1fe45606b9 SOLR-12028: BadApple and AwaitsFix annotations usage 2018-02-26 20:35:12 -08:00
Karl Wright 00f970cec6 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/lucene-solr 2018-02-13 17:00:34 -05:00
Karl Wright 34354e90fe LUCENE-8173: Tighten the envelope so Gram-Schmidt gets a tighter answer. Less likely to blow up later. 2018-02-13 17:00:18 -05:00
Christine Poerschke 6b6927ea6f LUCENE-8171: Remove unused import. 2018-02-13 17:36:48 +00:00
Karl Wright dd08400a3d LUCENE-8171: Check only for exactly zero magnitude vector, and otherwise let the iterative code try to converge. 2018-02-13 10:31:13 -05:00
Karl Wright 4f351fd21b LUCENE-8171: Refactor vector constructor to support later changes, and add an ignored test for a precision issue. 2018-02-13 09:53:04 -05:00
Ishan Chattopadhyaya 277097cd24 LUCENE-8157: Fixing precommit 2018-02-10 20:07:41 +05:30
Karl Wright 1fe34f1e89 LUCENE-8157: Do a better job of handling coplanar points in polygon construction. Thanks to Ignacio Vera for his help on this code. 2018-02-10 07:53:36 -05:00
Karl Wright ebb346d582 LUCENE-8141: Do a better job of making sure polygon points are not coplanar. Committed on behalf of Ignacio Vera. 2018-01-31 08:20:58 -05:00
Karl Wright c10ba5a6d9 LUCENE-8139: Optimize polygon interior point discovery to check center of mass first. Committed on behalf of Ignacio Vera. 2018-01-25 10:33:42 -05:00
Karl Wright ad131bde32 LUCENE-8136: Adopt iterative convergence for construction of planes from two vectors. Thanks, Ignacio Vera! 2018-01-25 07:03:45 -05:00
Karl Wright a7a28ec170 LUCENE-8133: Increase MINIMUM_RESOLUTION to 1.5e-12. 2018-01-23 07:34:49 -05:00
Karl Wright bdfbe433a3 LUCENE-8107: Fix test to not pick too large a distance. Committed on behalf of Ignacio Vera. 2018-01-02 06:38:13 -05:00
Karl Wright 8b732099c7 LUCENE-8095: Improve javadocs for circle constructors, and rename some variables. 2017-12-13 07:09:46 -05:00
Karl Wright 952f4c4e59 LUCENE-8089: Add PlanetModel method that returns true if planetmodel is a sphere. 2017-12-11 04:21:52 -05:00
Karl Wright a948adc390 LUCENE-8088: Fix for random shape generator; committed on behalf of Ignacio Vera. 2017-12-10 06:37:10 -05:00
Karl Wright dcb84701a4 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/lucene-solr 2017-12-08 05:41:33 -05:00
Karl Wright 18f12fdb28 LUCENE-8080: Detect when we are constructing a bogus exact circle, and throw an IllegalArgumentException in that case. Committed on behalf of Ignacio Vera. 2017-12-08 05:41:11 -05:00
Adrien Grand 4fc5a872de LUCENE-4100: Faster disjunctions when the hit count is not needed. 2017-12-07 10:49:39 +01:00
Karl Wright 3fcee1266e LUCENE-8076: It is possible to create planet models that are not normalized and this messes up surface distance computations. Therefore, normalize these computations. Committed on behalf of Ignacio Vera. 2017-12-03 04:27:51 -05:00
Karl Wright 6c3869f8b1 LUCENE-8071: Handle large concave circles properly. Committed on behalf of Ignacio Vera. 2017-12-01 10:44:58 -05:00
Karl Wright 249dac1a5d LUCENE-8070: Put in a check that prevents a bogus exact circle from being created. 2017-11-30 20:51:50 -05:00
Karl Wright cabaafa194 LUCENE-8067: Refactor exact circle tests. Committed on behalf of Ignacio Vera. 2017-11-28 03:01:05 -05:00
Karl Wright e3d78ef13e LUCENE-8066: Simplify exact circle computations to work on a sector basis rather than using an articulation line. Committed on behalf of Ignacio Vera. 2017-11-25 13:29:32 -05:00
Karl Wright a514a12d0c LUCENE-8065: Some exact circles near 90 degrees are still concave because of planet model, so throw an exception when we construct one of those. 2017-11-24 10:37:21 -05:00
Karl Wright cc8802e60e LUCENE-8064: Generate polygon holes properly in testing. Committed on behalf of Ignacio Vera. 2017-11-24 06:25:55 -05:00
Karl Wright 558fc4b52b LUCENE-8061: Add convenience factory methods for building solids and BBoxes using bounds objects. Committed in part on behalf of Ignacio Vera. 2017-11-22 15:02:23 -05:00
Karl Wright 9776e1f4a0 LUCENE-8057: getBounds() for exact circle did not include segment endpoints. 2017-11-22 11:07:52 -05:00
Karl Wright d0d8a75717 LUCENE-8056: Use perpendicular bounding planes for segments of exact circles. 2017-11-22 06:51:19 -05:00
Karl Wright bff695cf34 LUCENE-8054: Use backbounds to stop spuriosly rejecting points that are within the exact circle. 2017-11-21 18:05:20 -05:00
Karl Wright 0516a58827 LUCENE-8054: Fix exact circle construction to correct failing test. 2017-11-21 04:59:11 -05:00
Alan Woodward 276e317e94 LUCENE-8042: Add SegmentCachable interface 2017-11-10 12:17:50 +00:00
Karl Wright dae5c570b9 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/lucene-solr 2017-11-08 07:29:28 -05:00