[ 
https://issues.apache.org/jira/browse/LUCENE-8444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16569999#comment-16569999
 ] 

Ignacio Vera commented on LUCENE-8444:
--------------------------------------

In the constructor of {{DualCrossingEdgeIterator}} we  have:
{code:java}
final SidedPlane testPointBound1 = new SidedPlane(intersectionPoint, 
testPointPlane, testPoint);
final SidedPlane testPointBound2 = new SidedPlane(testPoint, testPointPlane, 
intersectionPoint);
if (testPointBound1.isNumericallyIdentical(testPointBound2)) {
  throw new IllegalArgumentException("Dual iterator unreliable when bounds 
planes are numerically identical");
}
this.testPointCutoffPlane = testPointBound1;
this.testPointOtherCutoffPlane = testPointBound2;

final SidedPlane checkPointBound1 = new SidedPlane(intersectionPoint, 
travelPlane, thePointX, thePointY, thePointZ);
final SidedPlane checkPointBound2 = new SidedPlane(thePointX, thePointY, 
thePointZ, travelPlane, intersectionPoint);
if (checkPointBound1.isNumericallyIdentical(checkPointBound2)) {
  throw new IllegalArgumentException("Dual iterator unreliable when bounds 
planes are numerically identical");
}
this.checkPointCutoffPlane = checkPointBound1;
this.checkPointOtherCutoffPlane = checkPointBound2;{code}
 

I have tried to change those checks to functionally identical and it seems to 
fix this error and all the test pass.

 

> Geo3D Test Failure: Test Point is Contained by shape but outside the XYZBounds
> ------------------------------------------------------------------------------
>
>                 Key: LUCENE-8444
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8444
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: modules/spatial3d
>            Reporter: Nicholas Knize
>            Assignee: Karl Wright
>            Priority: Major
>         Attachments: LUCENE-8444.patch
>
>
> Reproduces for me on branch_7x.  /cc [~daddywri]  [~ivera]
> {code:java}
> reproduce with: ant test  -Dtestcase=TestGeo3DPoint 
> -Dtests.method=testGeo3DRelations -Dtests.seed=252B55C41A78F987 
> -Dtests.slow=true -Dtests.badapples=true -Dtests.locale=th 
> -Dtests.timezone=America/Virgin -Dtests.asserts=true 
> -Dtests.file.encoding=UTF-8
> {code}
> {code:java}
> [junit4] Suite: org.apache.lucene.spatial3d.TestGeo3DPoint
>    [junit4]   1>     doc=639 is contained by shape but is outside the 
> returned XYZBounds
>    [junit4]   1>       unquantized=[lat=-1.077431832267001, 
> lon=3.141592653589793([X=-0.47288721079787505, Y=5.791198090613375E-17, 
> Z=-0.8794340737031547])]
>    [junit4]   1>       quantized=[X=-0.47288721059145067, 
> Y=2.3309121299774915E-10, Z=-0.8794340734858216]
>    [junit4]   1>     doc=1079 is contained by shape but is outside the 
> returned XYZBounds
>    [junit4]   1>       unquantized=[lat=-1.074298280522397, 
> lon=-3.141592653589793([X=-0.4756448135017662, Y=-5.824968983859777E-17, 
> Z=-0.8779556514050441])]
>    [junit4]   1>       quantized=[X=-0.4756448134355703, 
> Y=-2.3309121299774915E-10, Z=-0.8779556514433299]
>    [junit4]   1>   shape=GeoComplexPolygon: {planetmodel=PlanetModel.WGS84, 
> number of shapes=1, address=5b34ab34, testPoint=[lat=-0.9074319066955279, 
> lon=2.1047077826887393E-11([X=0.6151745825332513, Y=1.2947627315700302E-11, 
> Z=-0.7871615107396388])], testPointInSet=true, shapes={ 
> {[lat=0.12234154783984401, lon=2.9773900430735544E-11([X=0.9935862314832985, 
> Y=2.9582937525533484E-11, Z=0.12216699617265761])], [lat=-1.1812619187738946, 
> lon=0.0([X=0.3790909950565304, Y=0.0, Z=-0.9234617794363308])], 
> [lat=-1.5378336326638269, lon=-2.1777686687777411E-97([X=0.03288309726634029, 
> Y=-7.161177895900688E-99, Z=-0.9972239126272725])]}}
>    [junit4]   1>   bounds=XYZBounds: [xmin=0.03288309626634029 
> xmax=1.0011188549924792 ymin=-1.0E-9 ymax=1.029686850221785E-9 
> zmin=-0.9972239136272725 zmax=0.12216699717265761]
>    [junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TestGeo3DPoint 
> -Dtests.method=testGeo3DRelations -Dtests.seed=252B55C41A78F987 
> -Dtests.slow=true -Dtests.badapples=true -Dtests.locale=th 
> -Dtests.timezone=America/Virgin -Dtests.asserts=true 
> -Dtests.file.encoding=UTF-8
>    [junit4] FAILURE 0.16s | TestGeo3DPoint.testGeo3DRelations <<<
>    [junit4]    > Throwable #1: java.lang.AssertionError: invalid bounds for 
> shape=GeoComplexPolygon: {planetmodel=PlanetModel.WGS84, number of shapes=1, 
> address=5b34ab34, testPoint=[lat=-0.9074319066955279, 
> lon=2.1047077826887393E-11([X=0.6151745825332513, Y=1.2947627315700302E-11, 
> Z=-0.7871615107396388])], testPointInSet=true, shapes={ 
> {[lat=0.12234154783984401, lon=2.9773900430735544E-11([X=0.9935862314832985, 
> Y=2.9582937525533484E-11, Z=0.12216699617265761])], [lat=-1.1812619187738946, 
> lon=0.0([X=0.3790909950565304, Y=0.0, Z=-0.9234617794363308])], 
> [lat=-1.5378336326638269, lon=-2.1777686687777411E-97([X=0.03288309726634029, 
> Y=-7.161177895900688E-99, Z=-0.9972239126272725])]}}
>    [junit4]    >      at 
> __randomizedtesting.SeedInfo.seed([252B55C41A78F987:955428509535571B]:0)
>    [junit4]    >      at 
> org.apache.lucene.spatial3d.TestGeo3DPoint.testGeo3DRelations(TestGeo3DPoint.java:259)
>    [junit4]    >      at java.lang.Thread.run(Thread.java:748)
>    [junit4]   2> NOTE: test params are: codec=Asserting(Lucene70), 
> sim=RandomSimilarity(queryNorm=false): {}, locale=th, timezone=America/Virgin
>    [junit4]   2> NOTE: Linux 4.15.0-29-generic amd64/Oracle Corporation 
> 1.8.0_161 (64-bit)/cpus=4,threads=1,free=298939008,total=313524224
>    [junit4]   2> NOTE: All tests run in this JVM: [TestGeo3DPoint]
>    [junit4] Completed [1/1 (1!)] in 0.62s, 1 test, 1 failure <<< FAILURES!
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to