class org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge
  super_class: java.lang.Object
{
  public final org.apache.lucene.spatial3d.geom.GeoPoint startPoint;
    descriptor: Lorg/apache/lucene/spatial3d/geom/GeoPoint;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.apache.lucene.spatial3d.geom.GeoPoint endPoint;
    descriptor: Lorg/apache/lucene/spatial3d/geom/GeoPoint;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.apache.lucene.spatial3d.geom.GeoPoint[] notablePoints;
    descriptor: [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.apache.lucene.spatial3d.geom.SidedPlane startPlane;
    descriptor: Lorg/apache/lucene/spatial3d/geom/SidedPlane;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.apache.lucene.spatial3d.geom.SidedPlane endPlane;
    descriptor: Lorg/apache/lucene/spatial3d/geom/SidedPlane;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.apache.lucene.spatial3d.geom.SidedPlane backingPlane;
    descriptor: Lorg/apache/lucene/spatial3d/geom/SidedPlane;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.apache.lucene.spatial3d.geom.Plane plane;
    descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.apache.lucene.spatial3d.geom.XYZBounds planeBounds;
    descriptor: Lorg/apache/lucene/spatial3d/geom/XYZBounds;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge previous;
    descriptor: Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
    flags: (0x0001) ACC_PUBLIC

  public org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge next;
    descriptor: Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
    flags: (0x0001) ACC_PUBLIC

  public void <init>(org.apache.lucene.spatial3d.geom.PlanetModel, org.apache.lucene.spatial3d.geom.GeoPoint, org.apache.lucene.spatial3d.geom.GeoPoint);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/GeoPoint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge this
        start local 1 // org.apache.lucene.spatial3d.geom.PlanetModel pm
        start local 2 // org.apache.lucene.spatial3d.geom.GeoPoint startPoint
        start local 3 // org.apache.lucene.spatial3d.geom.GeoPoint endPoint
         0: .line 612
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 609
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.previous:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
         2: .line 610
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.next:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
         3: .line 613
            aload 0 /* this */
            aload 2 /* startPoint */
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.startPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
         4: .line 614
            aload 0 /* this */
            aload 3 /* endPoint */
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.endPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
         5: .line 615
            aload 0 /* this */
            iconst_2
            anewarray org.apache.lucene.spatial3d.geom.GeoPoint
            dup
            iconst_0
            aload 2 /* startPoint */
            aastore
            dup
            iconst_1
            aload 3 /* endPoint */
            aastore
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.notablePoints:[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
         6: .line 616
            aload 0 /* this */
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            aload 2 /* startPoint */
            aload 3 /* endPoint */
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(Lorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;)V
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.plane:Lorg/apache/lucene/spatial3d/geom/Plane;
         7: .line 617
            aload 0 /* this */
            new org.apache.lucene.spatial3d.geom.SidedPlane
            dup
            aload 3 /* endPoint */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.plane:Lorg/apache/lucene/spatial3d/geom/Plane;
            aload 2 /* startPoint */
            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$Edge.startPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
         8: .line 618
            aload 0 /* this */
            new org.apache.lucene.spatial3d.geom.SidedPlane
            dup
            aload 2 /* startPoint */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.plane:Lorg/apache/lucene/spatial3d/geom/Plane;
            aload 3 /* endPoint */
            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$Edge.endPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
         9: .line 619
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.plane:Lorg/apache/lucene/spatial3d/geom/Plane;
            aload 1 /* pm */
            aload 2 /* startPoint */
            aload 3 /* endPoint */
            getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon.halfProportions:[D
            invokevirtual org.apache.lucene.spatial3d.geom.Plane.interpolate:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/GeoPoint;[D)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            iconst_0
            aaload
            astore 4 /* interpolationPoint */
        start local 4 // org.apache.lucene.spatial3d.geom.GeoPoint interpolationPoint
        10: .line 620
            aload 0 /* this */
            new org.apache.lucene.spatial3d.geom.SidedPlane
            dup
            aload 4 /* interpolationPoint */
            aload 4 /* interpolationPoint */
            dconst_0
            invokespecial org.apache.lucene.spatial3d.geom.SidedPlane.<init>:(Lorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;D)V
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.backingPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
        11: .line 621
            aload 0 /* this */
            new org.apache.lucene.spatial3d.geom.XYZBounds
            dup
            invokespecial org.apache.lucene.spatial3d.geom.XYZBounds.<init>:()V
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.planeBounds:Lorg/apache/lucene/spatial3d/geom/XYZBounds;
        12: .line 622
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.planeBounds:Lorg/apache/lucene/spatial3d/geom/XYZBounds;
            aload 2 /* startPoint */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.addPoint:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;)Lorg/apache/lucene/spatial3d/geom/Bounds;
            pop
        13: .line 623
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.planeBounds:Lorg/apache/lucene/spatial3d/geom/XYZBounds;
            aload 3 /* endPoint */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.addPoint:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;)Lorg/apache/lucene/spatial3d/geom/Bounds;
            pop
        14: .line 624
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.planeBounds:Lorg/apache/lucene/spatial3d/geom/XYZBounds;
            aload 1 /* pm */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.plane:Lorg/apache/lucene/spatial3d/geom/Plane;
            iconst_3
            anewarray org.apache.lucene.spatial3d.geom.Membership
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.startPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.endPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.backingPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aastore
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.addPlane:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)Lorg/apache/lucene/spatial3d/geom/Bounds;
            pop
        15: .line 626
            return
        end local 4 // org.apache.lucene.spatial3d.geom.GeoPoint interpolationPoint
        end local 3 // org.apache.lucene.spatial3d.geom.GeoPoint endPoint
        end local 2 // org.apache.lucene.spatial3d.geom.GeoPoint startPoint
        end local 1 // org.apache.lucene.spatial3d.geom.PlanetModel pm
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
            0   16     1                  pm  Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            0   16     2          startPoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            0   16     3            endPoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           10   16     4  interpolationPoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
    MethodParameters:
            Name  Flags
      pm          final
      startPoint  final
      endPoint    final

  public boolean isWithin(double, double, double);
    descriptor: (DDD)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge this
        start local 1 // double thePointX
        start local 3 // double thePointY
        start local 5 // double thePointZ
         0: .line 629
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.plane:Lorg/apache/lucene/spatial3d/geom/Plane;
            dload 1 /* thePointX */
            dload 3 /* thePointY */
            dload 5 /* thePointZ */
            invokevirtual org.apache.lucene.spatial3d.geom.Plane.evaluateIsZero:(DDD)Z
            ifeq 1
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.startPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            dload 1 /* thePointX */
            dload 3 /* thePointY */
            dload 5 /* thePointZ */
            invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isWithin:(DDD)Z
            ifeq 1
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.endPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            dload 1 /* thePointX */
            dload 3 /* thePointY */
            dload 5 /* thePointZ */
            invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isWithin:(DDD)Z
            ifeq 1
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.backingPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            dload 1 /* thePointX */
            dload 3 /* thePointY */
            dload 5 /* thePointZ */
            invokevirtual org.apache.lucene.spatial3d.geom.SidedPlane.isWithin:(DDD)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 5 // double thePointZ
        end local 3 // double thePointY
        end local 1 // double thePointX
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
            0    2     1  thePointX  D
            0    2     3  thePointY  D
            0    2     5  thePointZ  D
    MethodParameters:
           Name  Flags
      thePointX  final
      thePointY  final
      thePointZ  final
}
SourceFile: "GeoComplexPolygon.java"
NestHost: org.apache.lucene.spatial3d.geom.GeoComplexPolygon
InnerClasses:
  private Edge = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge of org.apache.lucene.spatial3d.geom.GeoComplexPolygon