class org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator implements org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator
super_class: java.lang.Object
{
private java.util.Set<org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge> seenEdges;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;>;
private final org.apache.lucene.spatial3d.geom.GeoPoint testPoint;
descriptor: Lorg/apache/lucene/spatial3d/geom/GeoPoint;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.lucene.spatial3d.geom.Plane testPointPlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.lucene.spatial3d.geom.Plane testPointAbovePlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.lucene.spatial3d.geom.Plane testPointBelowPlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.lucene.spatial3d.geom.Plane travelPlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.lucene.spatial3d.geom.Plane travelAbovePlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.lucene.spatial3d.geom.Plane travelBelowPlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double thePointX;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double thePointY;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double thePointZ;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.lucene.spatial3d.geom.GeoPoint intersectionPoint;
descriptor: Lorg/apache/lucene/spatial3d/geom/GeoPoint;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.lucene.spatial3d.geom.SidedPlane testPointCutoffPlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/SidedPlane;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.lucene.spatial3d.geom.SidedPlane checkPointCutoffPlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/SidedPlane;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.lucene.spatial3d.geom.SidedPlane testPointOtherCutoffPlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/SidedPlane;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.lucene.spatial3d.geom.SidedPlane checkPointOtherCutoffPlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/SidedPlane;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean computedInsideOutside;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.apache.lucene.spatial3d.geom.Plane testPointInsidePlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
flags: (0x0002) ACC_PRIVATE
private org.apache.lucene.spatial3d.geom.Plane testPointOutsidePlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
flags: (0x0002) ACC_PRIVATE
private org.apache.lucene.spatial3d.geom.Plane travelInsidePlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
flags: (0x0002) ACC_PRIVATE
private org.apache.lucene.spatial3d.geom.Plane travelOutsidePlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
flags: (0x0002) ACC_PRIVATE
private org.apache.lucene.spatial3d.geom.SidedPlane insideTestPointCutoffPlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/SidedPlane;
flags: (0x0002) ACC_PRIVATE
private org.apache.lucene.spatial3d.geom.SidedPlane insideTravelCutoffPlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/SidedPlane;
flags: (0x0002) ACC_PRIVATE
private org.apache.lucene.spatial3d.geom.SidedPlane outsideTestPointCutoffPlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/SidedPlane;
flags: (0x0002) ACC_PRIVATE
private org.apache.lucene.spatial3d.geom.SidedPlane outsideTravelCutoffPlane;
descriptor: Lorg/apache/lucene/spatial3d/geom/SidedPlane;
flags: (0x0002) ACC_PRIVATE
private boolean onEdge;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int innerCrossingCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int outerCrossingCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
final org.apache.lucene.spatial3d.geom.GeoComplexPolygon this$0;
descriptor: Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.lucene.spatial3d.geom.GeoComplexPolygon, org.apache.lucene.spatial3d.geom.GeoPoint, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Plane, double, double, double, org.apache.lucene.spatial3d.geom.GeoPoint);
descriptor: (Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;DDDLorg/apache/lucene/spatial3d/geom/GeoPoint;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=20, args_size=13
start local 0 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 11 start local 13 start local 15 0: aload 0
aload 1
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.this$0:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
1: aload 0
invokespecial java.lang.Object.<init>:()V
2: aload 0
aconst_null
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.seenEdges:Ljava/util/Set;
3: aload 0
iconst_0
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.computedInsideOutside:Z
4: aload 0
iconst_0
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.onEdge:Z
5: aload 0
iconst_0
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.innerCrossingCount:I
6: aload 0
iconst_0
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.outerCrossingCount:I
7: aload 0
aload 2
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
8: aload 0
aload 3
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
9: aload 0
aload 4
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
10: aload 0
aload 5
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
11: aload 0
aload 6
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
12: aload 0
aload 7
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
13: aload 0
aload 8
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
14: aload 0
dload 9
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.thePointX:D
15: aload 0
dload 11
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.thePointY:D
16: aload 0
dload 13
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.thePointZ:D
17: aload 0
aload 15
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.intersectionPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
18: getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
ifne 19
aload 6
aload 15
invokevirtual org.apache.lucene.spatial3d.geom.Plane.evaluateIsZero:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifne 19
new java.lang.AssertionError
dup
ldc "intersection point must be on travel plane"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
19: StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane double double double org.apache.lucene.spatial3d.geom.GeoPoint
StackMap stack:
getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
ifne 20
aload 3
aload 15
invokevirtual org.apache.lucene.spatial3d.geom.Plane.evaluateIsZero:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifne 20
new java.lang.AssertionError
dup
ldc "intersection point must be on test point plane"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
20: StackMap locals:
StackMap stack:
getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
ifne 21
aload 2
aload 15
invokevirtual org.apache.lucene.spatial3d.geom.GeoPoint.isNumericallyIdentical:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifeq 21
new java.lang.AssertionError
dup
ldc "test point is the same as intersection point"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
21: StackMap locals:
StackMap stack:
getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
ifne 22
aload 15
dload 9
dload 11
dload 13
invokevirtual org.apache.lucene.spatial3d.geom.GeoPoint.isNumericallyIdentical:(DDD)Z
ifeq 22
new java.lang.AssertionError
dup
ldc "check point is same as intersection point"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
22: StackMap locals:
StackMap stack:
new org.apache.lucene.spatial3d.geom.SidedPlane
dup
aload 15
aload 3
aload 2
invokespecial org.apache.lucene.spatial3d.geom.SidedPlane.<init>:(Lorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;)V
astore 16
start local 16 23: new org.apache.lucene.spatial3d.geom.SidedPlane
dup
aload 2
aload 3
aload 15
invokespecial org.apache.lucene.spatial3d.geom.SidedPlane.<init>:(Lorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;)V
astore 17
start local 17 24: aload 16
aload 17
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isFunctionallyIdentical:(Lorg/apache/lucene/spatial3d/geom/Plane;)Z
ifeq 26
25: new java.lang.IllegalArgumentException
dup
ldc "Dual iterator unreliable when bounds planes are functionally identical"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals: org.apache.lucene.spatial3d.geom.SidedPlane org.apache.lucene.spatial3d.geom.SidedPlane
StackMap stack:
aload 0
aload 16
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
27: aload 0
aload 17
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointOtherCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
28: new org.apache.lucene.spatial3d.geom.SidedPlane
dup
aload 15
aload 6
dload 9
dload 11
dload 13
invokespecial org.apache.lucene.spatial3d.geom.SidedPlane.<init>:(Lorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;DDD)V
astore 18
start local 18 29: new org.apache.lucene.spatial3d.geom.SidedPlane
dup
dload 9
dload 11
dload 13
aload 6
aload 15
invokespecial org.apache.lucene.spatial3d.geom.SidedPlane.<init>:(DDDLorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;)V
astore 19
start local 19 30: aload 18
aload 19
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isFunctionallyIdentical:(Lorg/apache/lucene/spatial3d/geom/Plane;)Z
ifeq 32
31: new java.lang.IllegalArgumentException
dup
ldc "Dual iterator unreliable when bounds planes are functionally identical"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals: org.apache.lucene.spatial3d.geom.SidedPlane org.apache.lucene.spatial3d.geom.SidedPlane
StackMap stack:
aload 0
aload 18
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.checkPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
33: aload 0
aload 19
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.checkPointOtherCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
34: getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
ifne 35
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 15
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifne 35
new java.lang.AssertionError
dup
ldc "intersection must be within testPointCutoffPlane"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
35: StackMap locals:
StackMap stack:
getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
ifne 36
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointOtherCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 15
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifne 36
new java.lang.AssertionError
dup
ldc "intersection must be within testPointOtherCutoffPlane"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
36: StackMap locals:
StackMap stack:
getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
ifne 37
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.checkPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 15
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifne 37
new java.lang.AssertionError
dup
ldc "intersection must be within checkPointCutoffPlane"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
37: StackMap locals:
StackMap stack:
getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
ifne 38
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.checkPointOtherCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 15
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifne 38
new java.lang.AssertionError
dup
ldc "intersection must be within checkPointOtherCutoffPlane"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
38: StackMap locals:
StackMap stack:
return
end local 19 end local 18 end local 17 end local 16 end local 15 end local 13 end local 11 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$DualCrossingEdgeIterator;
0 39 2 testPoint Lorg/apache/lucene/spatial3d/geom/GeoPoint;
0 39 3 testPointPlane Lorg/apache/lucene/spatial3d/geom/Plane;
0 39 4 testPointAbovePlane Lorg/apache/lucene/spatial3d/geom/Plane;
0 39 5 testPointBelowPlane Lorg/apache/lucene/spatial3d/geom/Plane;
0 39 6 travelPlane Lorg/apache/lucene/spatial3d/geom/Plane;
0 39 7 travelAbovePlane Lorg/apache/lucene/spatial3d/geom/Plane;
0 39 8 travelBelowPlane Lorg/apache/lucene/spatial3d/geom/Plane;
0 39 9 thePointX D
0 39 11 thePointY D
0 39 13 thePointZ D
0 39 15 intersectionPoint Lorg/apache/lucene/spatial3d/geom/GeoPoint;
23 39 16 testPointBound1 Lorg/apache/lucene/spatial3d/geom/SidedPlane;
24 39 17 testPointBound2 Lorg/apache/lucene/spatial3d/geom/SidedPlane;
29 39 18 checkPointBound1 Lorg/apache/lucene/spatial3d/geom/SidedPlane;
30 39 19 checkPointBound2 Lorg/apache/lucene/spatial3d/geom/SidedPlane;
MethodParameters:
Name Flags
this$0 final
testPoint final
testPointPlane final
testPointAbovePlane final
testPointBelowPlane final
travelPlane final
travelAbovePlane final
travelBelowPlane final
thePointX final
thePointY final
thePointZ final
intersectionPoint final
protected void computeInsideOutside();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=11, locals=11, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.computedInsideOutside:Z
ifne 59
1: new org.apache.lucene.spatial3d.geom.SidedPlane
dup
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
getfield org.apache.lucene.spatial3d.geom.Plane.D:D
invokespecial org.apache.lucene.spatial3d.geom.SidedPlane.<init>:(Lorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;D)V
astore 1
start local 1 2: new org.apache.lucene.spatial3d.geom.SidedPlane
dup
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.thePointX:D
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.thePointY:D
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.thePointZ:D
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
getfield org.apache.lucene.spatial3d.geom.Plane.D:D
invokespecial org.apache.lucene.spatial3d.geom.SidedPlane.<init>:(DDDLorg/apache/lucene/spatial3d/geom/Vector;D)V
astore 2
start local 2 3: getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
ifne 4
aload 1
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.intersectionPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
invokeinterface org.apache.lucene.spatial3d.geom.Membership.isWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifne 4
new java.lang.AssertionError
dup
ldc "intersection must be within intersectionBound1"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals: org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership
StackMap stack:
getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
ifne 5
aload 2
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.intersectionPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
invokeinterface org.apache.lucene.spatial3d.geom.Membership.isWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifne 5
new java.lang.AssertionError
dup
ldc "intersection must be within intersectionBound2"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.this$0:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
iconst_2
anewarray org.apache.lucene.spatial3d.geom.Membership
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokevirtual org.apache.lucene.spatial3d.geom.Plane.findIntersections:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
astore 3
start local 3 6: getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
ifne 7
aload 3
ifnonnull 7
new java.lang.AssertionError
dup
ldc "Above + above should not be coplanar"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals: org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack:
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.this$0:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
iconst_2
anewarray org.apache.lucene.spatial3d.geom.Membership
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokevirtual org.apache.lucene.spatial3d.geom.Plane.findIntersections:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
astore 4
start local 4 8: getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
ifne 9
aload 4
ifnonnull 9
new java.lang.AssertionError
dup
ldc "Above + below should not be coplanar"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
9: StackMap locals: org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack:
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.this$0:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
iconst_2
anewarray org.apache.lucene.spatial3d.geom.Membership
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokevirtual org.apache.lucene.spatial3d.geom.Plane.findIntersections:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
astore 5
start local 5 10: getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
ifne 11
aload 5
ifnonnull 11
new java.lang.AssertionError
dup
ldc "Below + below should not be coplanar"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
11: StackMap locals: org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack:
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.this$0:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
iconst_2
anewarray org.apache.lucene.spatial3d.geom.Membership
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokevirtual org.apache.lucene.spatial3d.geom.Plane.findIntersections:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
astore 6
start local 6 12: getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
ifne 13
aload 6
ifnonnull 13
new java.lang.AssertionError
dup
ldc "Below + above should not be coplanar"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
13: StackMap locals: org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack:
getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.$assertionsDisabled:Z
ifne 22
aload 3
arraylength
ifle 14
iconst_1
goto 15
StackMap locals:
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: aload 4
arraylength
ifle 16
iconst_1
goto 17
StackMap locals:
StackMap stack: int
16: iconst_0
StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack: int int
17: iadd
aload 5
arraylength
ifle 18
iconst_1
goto 19
StackMap locals:
StackMap stack: int
18: iconst_0
StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack: int int
19: iadd
aload 6
arraylength
ifle 20
iconst_1
goto 21
StackMap locals:
StackMap stack: int
20: iconst_0
StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack: int int
21: iadd
iconst_1
if_icmpeq 22
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Can be exactly one inside point, instead was: aa="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ab="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bb="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ba="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
22: StackMap locals:
StackMap stack:
aload 3
arraylength
ifle 29
23: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelInsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
24: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointInsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
25: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelOutsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
26: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointOutsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
27: aload 3
astore 7
start local 7 28: goto 51
end local 7 StackMap locals:
StackMap stack:
29: aload 4
arraylength
ifle 36
30: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelInsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
31: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointInsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
32: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelOutsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
33: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointOutsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
34: aload 4
astore 7
start local 7 35: goto 51
end local 7 StackMap locals:
StackMap stack:
36: aload 5
arraylength
ifle 43
37: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelInsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
38: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointInsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
39: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelOutsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
40: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointOutsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
41: aload 5
astore 7
start local 7 42: goto 51
end local 7 StackMap locals:
StackMap stack:
43: aload 6
arraylength
ifle 50
44: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelInsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
45: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointInsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
46: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelOutsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
47: aload 0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointOutsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
48: aload 6
astore 7
start local 7 49: goto 51
end local 7 50: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Can't find traversal intersection among: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
start local 7 51: StackMap locals: org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack:
aload 0
aload 7
invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.pickProximate:([Lorg/apache/lucene/spatial3d/geom/GeoPoint;)Lorg/apache/lucene/spatial3d/geom/GeoPoint;
astore 8
start local 8 52: aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointOutsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.this$0:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelOutsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
iconst_0
anewarray org.apache.lucene.spatial3d.geom.Membership
invokevirtual org.apache.lucene.spatial3d.geom.Plane.findIntersections:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
astore 9
start local 9 53: aload 0
aload 9
invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.pickProximate:([Lorg/apache/lucene/spatial3d/geom/GeoPoint;)Lorg/apache/lucene/spatial3d/geom/GeoPoint;
astore 10
start local 10 54: aload 0
new org.apache.lucene.spatial3d.geom.SidedPlane
dup
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.thePointX:D
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.thePointY:D
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.thePointZ:D
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelInsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 8
invokespecial org.apache.lucene.spatial3d.geom.SidedPlane.<init>:(DDDLorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;)V
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.insideTravelCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
55: aload 0
new org.apache.lucene.spatial3d.geom.SidedPlane
dup
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.thePointX:D
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.thePointY:D
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.thePointZ:D
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelInsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 10
invokespecial org.apache.lucene.spatial3d.geom.SidedPlane.<init>:(DDDLorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;)V
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.outsideTravelCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
56: aload 0
new org.apache.lucene.spatial3d.geom.SidedPlane
dup
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointInsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 8
invokespecial org.apache.lucene.spatial3d.geom.SidedPlane.<init>:(Lorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;)V
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.insideTestPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
57: aload 0
new org.apache.lucene.spatial3d.geom.SidedPlane
dup
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointOutsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 10
invokespecial org.apache.lucene.spatial3d.geom.SidedPlane.<init>:(Lorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;)V
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.outsideTestPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
58: aload 0
iconst_1
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.computedInsideOutside:Z
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 59: StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$DualCrossingEdgeIterator;
2 59 1 intersectionBound1 Lorg/apache/lucene/spatial3d/geom/Membership;
3 59 2 intersectionBound2 Lorg/apache/lucene/spatial3d/geom/Membership;
6 59 3 aboveAbove [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
8 59 4 aboveBelow [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
10 59 5 belowBelow [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
12 59 6 belowAbove [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
28 29 7 insideInsidePoints [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
35 36 7 insideInsidePoints [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
42 43 7 insideInsidePoints [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
49 50 7 insideInsidePoints [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
51 59 7 insideInsidePoints [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
52 59 8 insideInsidePoint Lorg/apache/lucene/spatial3d/geom/GeoPoint;
53 59 9 outsideOutsidePoints [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
54 59 10 outsideOutsidePoint Lorg/apache/lucene/spatial3d/geom/GeoPoint;
private org.apache.lucene.spatial3d.geom.GeoPoint pickProximate(org.apache.lucene.spatial3d.geom.GeoPoint[]);
descriptor: ([Lorg/apache/lucene/spatial3d/geom/GeoPoint;)Lorg/apache/lucene/spatial3d/geom/GeoPoint;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
arraylength
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "No off-plane intersection points were found; can't compute traversal"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
arraylength
iconst_1
if_icmpne 4
3: aload 1
iconst_0
aaload
areturn
4: StackMap locals:
StackMap stack:
aload 1
iconst_0
aaload
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.intersectionPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
invokestatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon.computeSquaredDistance:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/GeoPoint;)D
dstore 2
start local 2 5: aload 1
iconst_1
aaload
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.intersectionPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
invokestatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon.computeSquaredDistance:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/GeoPoint;)D
dstore 4
start local 4 6: dload 2
dload 4
dcmpg
ifge 8
7: aload 1
iconst_0
aaload
areturn
8: StackMap locals: double double
StackMap stack:
dload 4
dload 2
dcmpg
ifge 10
9: aload 1
iconst_1
aaload
areturn
10: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Neither off-plane intersection point matched intersection point; intersection = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.intersectionPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "; offplane choice 0: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "; offplane choice 1: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
iconst_1
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$DualCrossingEdgeIterator;
0 11 1 points [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
5 11 2 p1dist D
6 11 4 p2dist D
MethodParameters:
Name Flags
points final
public int getCrossingCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.innerCrossingCount:I
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.outerCrossingCount:I
invokestatic java.lang.Math.min:(II)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$DualCrossingEdgeIterator;
public boolean isOnEdge();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.onEdge:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$DualCrossingEdgeIterator;
public boolean matches(org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge);
descriptor: (Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=4, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.thePointX:D
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.thePointY:D
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.thePointZ:D
invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.isWithin:(DDD)Z
ifeq 3
1: aload 0
iconst_1
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.onEdge:Z
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.seenEdges:Ljava/util/Set;
ifnull 5
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.seenEdges:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.seenEdges:Ljava/util/Set;
ifnonnull 7
6: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.seenEdges:Ljava/util/Set;
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.seenEdges:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
8: aload 0
invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.computeInsideOutside:()V
9: aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.this$0:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.plane:Lorg/apache/lucene/spatial3d/geom/Plane;
iconst_4
anewarray org.apache.lucene.spatial3d.geom.Membership
dup
iconst_0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.checkPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aastore
dup
iconst_1
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.checkPointOtherCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aastore
dup
iconst_2
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.startPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aastore
dup
iconst_3
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.endPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aastore
invokevirtual org.apache.lucene.spatial3d.geom.Plane.findIntersections:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
astore 2
start local 2 10: aload 2
ifnull 16
aload 2
arraylength
ifne 16
11: aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.this$0:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.plane:Lorg/apache/lucene/spatial3d/geom/Plane;
iconst_4
anewarray org.apache.lucene.spatial3d.geom.Membership
dup
iconst_0
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aastore
dup
iconst_1
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointOtherCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aastore
dup
iconst_2
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.startPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aastore
dup
iconst_3
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.endPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aastore
invokevirtual org.apache.lucene.spatial3d.geom.Plane.findIntersections:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
astore 3
start local 3 12: aload 3
ifnull 16
aload 3
arraylength
ifne 16
13: aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.startPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
invokevirtual org.apache.lucene.spatial3d.geom.Plane.evaluateIsZero:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifne 16
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.endPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
invokevirtual org.apache.lucene.spatial3d.geom.Plane.evaluateIsZero:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifne 16
14: aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.startPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
invokevirtual org.apache.lucene.spatial3d.geom.Plane.evaluateIsZero:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifne 16
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.endPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
invokevirtual org.apache.lucene.spatial3d.geom.Plane.evaluateIsZero:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifne 16
15: iconst_1
ireturn
end local 3 16: StackMap locals: org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack:
aload 0
dup
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.innerCrossingCount:I
aload 0
aload 1
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelInsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.checkPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.insideTravelCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointInsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.insideTestPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.countCrossings:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Membership;Lorg/apache/lucene/spatial3d/geom/Membership;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Membership;Lorg/apache/lucene/spatial3d/geom/Membership;)I
iadd
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.innerCrossingCount:I
17: aload 0
dup
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.outerCrossingCount:I
aload 0
aload 1
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelOutsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.checkPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.outsideTravelCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointOutsidePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.outsideTestPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.countCrossings:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Membership;Lorg/apache/lucene/spatial3d/geom/Membership;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Membership;Lorg/apache/lucene/spatial3d/geom/Membership;)I
iadd
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.outerCrossingCount:I
18: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$DualCrossingEdgeIterator;
0 19 1 edge Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
10 19 2 travelCrossings [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
12 16 3 testPointCrossings [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
MethodParameters:
Name Flags
edge final
private int countCrossings(org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Membership, org.apache.lucene.spatial3d.geom.Membership, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Membership, org.apache.lucene.spatial3d.geom.Membership);
descriptor: (Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Membership;Lorg/apache/lucene/spatial3d/geom/Membership;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Membership;Lorg/apache/lucene/spatial3d/geom/Membership;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=20, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.plane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.this$0:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
aload 2
iconst_2
anewarray org.apache.lucene.spatial3d.geom.Membership
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokevirtual org.apache.lucene.spatial3d.geom.Plane.findIntersections:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
astore 8
start local 8 1: aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.plane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.this$0:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
aload 5
iconst_2
anewarray org.apache.lucene.spatial3d.geom.Membership
dup
iconst_0
aload 6
aastore
dup
iconst_1
aload 7
aastore
invokevirtual org.apache.lucene.spatial3d.geom.Plane.findIntersections:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
astore 9
start local 9 2: iconst_0
istore 10
start local 10 3: aload 8
ifnull 23
4: aload 8
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 22
StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] int top int int org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack:
5: aload 14
iload 12
aaload
astore 11
start local 11 6: aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.startPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 11
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.strictlyWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifeq 21
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.endPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 11
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.strictlyWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifeq 21
7: iconst_1
istore 15
start local 15 8: aload 9
ifnull 16
9: aload 9
dup
astore 19
arraylength
istore 18
iconst_0
istore 17
goto 15
StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] int org.apache.lucene.spatial3d.geom.GeoPoint int int org.apache.lucene.spatial3d.geom.GeoPoint[] int top int int org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack:
10: aload 19
iload 17
aaload
astore 16
start local 16 11: aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.startPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 16
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.strictlyWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifeq 14
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.endPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 16
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.strictlyWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifeq 14
aload 11
aload 16
invokevirtual org.apache.lucene.spatial3d.geom.GeoPoint.isNumericallyIdentical:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifeq 14
12: iconst_0
istore 15
13: goto 16
end local 16 14: StackMap locals:
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
15: iload 17
iload 18
if_icmplt 10
16: StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] int org.apache.lucene.spatial3d.geom.GeoPoint int int org.apache.lucene.spatial3d.geom.GeoPoint[] int
StackMap stack:
iload 15
ifne 18
17: goto 21
18: StackMap locals:
StackMap stack:
iload 10
aload 0
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.plane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 11
aload 2
invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.edgeCrossesEnvelope:(Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/Plane;)Z
ifeq 19
iconst_1
goto 20
StackMap locals:
StackMap stack: int
19: iconst_0
StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] int org.apache.lucene.spatial3d.geom.GeoPoint int int org.apache.lucene.spatial3d.geom.GeoPoint[] int
StackMap stack: int int
20: iadd
istore 10
end local 15 end local 11 21: StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] int top int int org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
22: iload 12
iload 13
if_icmplt 5
23: StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] int
StackMap stack:
aload 9
ifnull 32
24: aload 9
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 31
StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] int top int int org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack:
25: aload 14
iload 12
aaload
astore 11
start local 11 26: aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.startPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 11
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.strictlyWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifeq 30
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.endPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 11
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.strictlyWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifeq 30
27: iload 10
aload 0
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.plane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 11
aload 5
invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.edgeCrossesEnvelope:(Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/Plane;)Z
ifeq 28
iconst_1
goto 29
StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] int org.apache.lucene.spatial3d.geom.GeoPoint int int org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack: int
28: iconst_0
StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] int org.apache.lucene.spatial3d.geom.GeoPoint int int org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack: int int
29: iadd
istore 10
end local 11 30: StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] int top int int org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
31: iload 12
iload 13
if_icmplt 25
32: StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.Membership org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.GeoPoint[] int
StackMap stack:
iload 10
ireturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$DualCrossingEdgeIterator;
0 33 1 edge Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
0 33 2 travelEnvelopePlane Lorg/apache/lucene/spatial3d/geom/Plane;
0 33 3 travelEnvelopeBound1 Lorg/apache/lucene/spatial3d/geom/Membership;
0 33 4 travelEnvelopeBound2 Lorg/apache/lucene/spatial3d/geom/Membership;
0 33 5 testPointEnvelopePlane Lorg/apache/lucene/spatial3d/geom/Plane;
0 33 6 testPointEnvelopeBound1 Lorg/apache/lucene/spatial3d/geom/Membership;
0 33 7 testPointEnvelopeBound2 Lorg/apache/lucene/spatial3d/geom/Membership;
1 33 8 travelIntersections [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
2 33 9 testPointIntersections [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
3 33 10 crossings I
6 21 11 intersection Lorg/apache/lucene/spatial3d/geom/GeoPoint;
8 21 15 notDup Z
11 14 16 otherIntersection Lorg/apache/lucene/spatial3d/geom/GeoPoint;
26 30 11 intersection Lorg/apache/lucene/spatial3d/geom/GeoPoint;
MethodParameters:
Name Flags
edge final
travelEnvelopePlane final
travelEnvelopeBound1 final
travelEnvelopeBound2 final
testPointEnvelopePlane final
testPointEnvelopeBound1 final
testPointEnvelopeBound2 final
private boolean edgeCrossesEnvelope(org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.GeoPoint, org.apache.lucene.spatial3d.geom.Plane);
descriptor: (Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/Plane;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.this$0:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
aload 1
aload 2
aload 3
invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon.findAdjoiningPoints:(Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/Plane;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: iconst_1
ireturn
3: StackMap locals: org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack:
iconst_0
istore 5
start local 5 4: aload 4
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 10
StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.GeoPoint[] int top int int org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack:
5: aload 9
iload 7
aaload
astore 6
start local 6 6: aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.travelPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 6
invokevirtual org.apache.lucene.spatial3d.geom.Plane.evaluateIsZero:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifeq 7
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.checkPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 6
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifeq 7
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.checkPointOtherCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 6
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifne 8
7: StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.GeoPoint[] int org.apache.lucene.spatial3d.geom.GeoPoint int int org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack:
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
aload 6
invokevirtual org.apache.lucene.spatial3d.geom.Plane.evaluateIsZero:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifeq 9
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 6
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifeq 9
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator.testPointOtherCutoffPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
aload 6
invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isWithin:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
ifeq 9
8: StackMap locals:
StackMap stack:
iinc 5 1
end local 6 9: StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.GeoPoint[] int top int int org.apache.lucene.spatial3d.geom.GeoPoint[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
10: iload 7
iload 8
if_icmplt 5
11: iload 5
iconst_1
iand
ifeq 12
iconst_1
ireturn
StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.GeoPoint[] int
StackMap stack:
12: iconst_0
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$DualCrossingEdgeIterator;
0 13 1 edgePlane Lorg/apache/lucene/spatial3d/geom/Plane;
0 13 2 intersectionPoint Lorg/apache/lucene/spatial3d/geom/GeoPoint;
0 13 3 envelopePlane Lorg/apache/lucene/spatial3d/geom/Plane;
1 13 4 adjoiningPoints [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
4 13 5 withinCount I
6 9 6 adjoining Lorg/apache/lucene/spatial3d/geom/GeoPoint;
MethodParameters:
Name Flags
edgePlane final
intersectionPoint final
envelopePlane final
}
SourceFile: "GeoComplexPolygon.java"
NestHost: org.apache.lucene.spatial3d.geom.GeoComplexPolygon
InnerClasses:
private abstract CountingEdgeIterator = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
private DualCrossingEdgeIterator = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
private Edge = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge of org.apache.lucene.spatial3d.geom.GeoComplexPolygon