class org.apache.commons.math3.geometry.euclidean.twod.NestedLoops
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.commons.math3.geometry.euclidean.twod.NestedLoops
super_class: java.lang.Object
{
private org.apache.commons.math3.geometry.euclidean.twod.Vector2D[] loop;
descriptor: [Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
flags: (0x0002) ACC_PRIVATE
private java.util.List<org.apache.commons.math3.geometry.euclidean.twod.NestedLoops> surrounded;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;>;
private org.apache.commons.math3.geometry.partitioning.Region<org.apache.commons.math3.geometry.euclidean.twod.Euclidean2D> polygon;
descriptor: Lorg/apache/commons/math3/geometry/partitioning/Region;
flags: (0x0002) ACC_PRIVATE
Signature: Lorg/apache/commons/math3/geometry/partitioning/Region<Lorg/apache/commons/math3/geometry/euclidean/twod/Euclidean2D;>;
private boolean originalIsClockwise;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final double tolerance;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(double);
descriptor: (D)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.surrounded:Ljava/util/List;
2: aload 0
dload 1
putfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.tolerance:D
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;
0 4 1 tolerance D
MethodParameters:
Name Flags
tolerance final
private void <init>(org.apache.commons.math3.geometry.euclidean.twod.Vector2D[], double);
descriptor: ([Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;D)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
iconst_0
aaload
ifnonnull 3
2: new org.apache.commons.math3.exception.MathIllegalArgumentException
dup
getstatic org.apache.commons.math3.exception.util.LocalizedFormats.OUTLINE_BOUNDARY_LOOP_OPEN:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
iconst_0
anewarray java.lang.Object
invokespecial org.apache.commons.math3.exception.MathIllegalArgumentException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;[Ljava/lang/Object;)V
athrow
3: StackMap locals: org.apache.commons.math3.geometry.euclidean.twod.NestedLoops org.apache.commons.math3.geometry.euclidean.twod.Vector2D[] double
StackMap stack:
aload 0
aload 1
putfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.loop:[Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
4: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.surrounded:Ljava/util/List;
5: aload 0
dload 2
putfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.tolerance:D
6: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 7: aload 1
aload 1
arraylength
iconst_1
isub
aaload
astore 5
start local 5 8: iconst_0
istore 6
start local 6 9: goto 20
10: StackMap locals: java.util.ArrayList org.apache.commons.math3.geometry.euclidean.twod.Vector2D int
StackMap stack:
aload 5
astore 7
start local 7 11: aload 1
iload 6
aaload
astore 5
12: new org.apache.commons.math3.geometry.euclidean.twod.Line
dup
aload 7
aload 5
dload 2
invokespecial org.apache.commons.math3.geometry.euclidean.twod.Line.<init>:(Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;D)V
astore 8
start local 8 13: new org.apache.commons.math3.geometry.euclidean.oned.IntervalsSet
dup
aload 8
aload 7
invokevirtual org.apache.commons.math3.geometry.euclidean.twod.Line.toSubSpace:(Lorg/apache/commons/math3/geometry/Point;)Lorg/apache/commons/math3/geometry/euclidean/oned/Vector1D;
invokevirtual org.apache.commons.math3.geometry.euclidean.oned.Vector1D.getX:()D
14: aload 8
aload 5
invokevirtual org.apache.commons.math3.geometry.euclidean.twod.Line.toSubSpace:(Lorg/apache/commons/math3/geometry/Point;)Lorg/apache/commons/math3/geometry/euclidean/oned/Vector1D;
invokevirtual org.apache.commons.math3.geometry.euclidean.oned.Vector1D.getX:()D
15: dload 2
16: invokespecial org.apache.commons.math3.geometry.euclidean.oned.IntervalsSet.<init>:(DDD)V
17: astore 9
start local 9 18: aload 4
new org.apache.commons.math3.geometry.euclidean.twod.SubLine
dup
aload 8
aload 9
invokespecial org.apache.commons.math3.geometry.euclidean.twod.SubLine.<init>:(Lorg/apache/commons/math3/geometry/partitioning/Hyperplane;Lorg/apache/commons/math3/geometry/partitioning/Region;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 8 end local 7 19: iinc 6 1
StackMap locals:
StackMap stack:
20: iload 6
aload 1
arraylength
if_icmplt 10
end local 6 21: aload 0
new org.apache.commons.math3.geometry.euclidean.twod.PolygonsSet
dup
aload 4
dload 2
invokespecial org.apache.commons.math3.geometry.euclidean.twod.PolygonsSet.<init>:(Ljava/util/Collection;D)V
putfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.polygon:Lorg/apache/commons/math3/geometry/partitioning/Region;
22: aload 0
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.polygon:Lorg/apache/commons/math3/geometry/partitioning/Region;
invokeinterface org.apache.commons.math3.geometry.partitioning.Region.getSize:()D
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 26
23: aload 0
new org.apache.commons.math3.geometry.partitioning.RegionFactory
dup
invokespecial org.apache.commons.math3.geometry.partitioning.RegionFactory.<init>:()V
aload 0
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.polygon:Lorg/apache/commons/math3/geometry/partitioning/Region;
invokevirtual org.apache.commons.math3.geometry.partitioning.RegionFactory.getComplement:(Lorg/apache/commons/math3/geometry/partitioning/Region;)Lorg/apache/commons/math3/geometry/partitioning/Region;
putfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.polygon:Lorg/apache/commons/math3/geometry/partitioning/Region;
24: aload 0
iconst_0
putfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.originalIsClockwise:Z
25: goto 27
26: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.originalIsClockwise:Z
27: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;
0 28 1 loop [Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
0 28 2 tolerance D
7 28 4 edges Ljava/util/ArrayList<Lorg/apache/commons/math3/geometry/partitioning/SubHyperplane<Lorg/apache/commons/math3/geometry/euclidean/twod/Euclidean2D;>;>;
8 28 5 current Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
9 21 6 i I
11 19 7 previous Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
13 19 8 line Lorg/apache/commons/math3/geometry/euclidean/twod/Line;
18 19 9 region Lorg/apache/commons/math3/geometry/euclidean/oned/IntervalsSet;
Exceptions:
throws org.apache.commons.math3.exception.MathIllegalArgumentException
MethodParameters:
Name Flags
loop final
tolerance final
public void add(org.apache.commons.math3.geometry.euclidean.twod.Vector2D[]);
descriptor: ([Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.apache.commons.math3.geometry.euclidean.twod.NestedLoops
dup
aload 1
aload 0
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.tolerance:D
invokespecial org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.<init>:([Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;D)V
invokevirtual org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.add:(Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;
0 2 1 bLoop [Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
Exceptions:
throws org.apache.commons.math3.exception.MathIllegalArgumentException
MethodParameters:
Name Flags
bLoop final
private void add(org.apache.commons.math3.geometry.euclidean.twod.NestedLoops);
descriptor: (Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.surrounded:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: org.apache.commons.math3.geometry.euclidean.twod.NestedLoops org.apache.commons.math3.geometry.euclidean.twod.NestedLoops top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.commons.math3.geometry.euclidean.twod.NestedLoops
astore 2
start local 2 2: aload 2
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.polygon:Lorg/apache/commons/math3/geometry/partitioning/Region;
aload 1
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.polygon:Lorg/apache/commons/math3/geometry/partitioning/Region;
invokeinterface org.apache.commons.math3.geometry.partitioning.Region.contains:(Lorg/apache/commons/math3/geometry/partitioning/Region;)Z
ifeq 5
3: aload 2
aload 1
invokevirtual org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.add:(Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;)V
4: return
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: aload 0
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.surrounded:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
start local 2 7: goto 12
8: StackMap locals: org.apache.commons.math3.geometry.euclidean.twod.NestedLoops org.apache.commons.math3.geometry.euclidean.twod.NestedLoops java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.commons.math3.geometry.euclidean.twod.NestedLoops
astore 3
start local 3 9: aload 1
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.polygon:Lorg/apache/commons/math3/geometry/partitioning/Region;
aload 3
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.polygon:Lorg/apache/commons/math3/geometry/partitioning/Region;
invokeinterface org.apache.commons.math3.geometry.partitioning.Region.contains:(Lorg/apache/commons/math3/geometry/partitioning/Region;)Z
ifeq 12
10: aload 1
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.surrounded:Ljava/util/List;
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: aload 2
invokeinterface java.util.Iterator.remove:()V
end local 3 12: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 2 13: new org.apache.commons.math3.geometry.partitioning.RegionFactory
dup
invokespecial org.apache.commons.math3.geometry.partitioning.RegionFactory.<init>:()V
astore 2
start local 2 14: aload 0
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.surrounded:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 18
StackMap locals: org.apache.commons.math3.geometry.euclidean.twod.NestedLoops org.apache.commons.math3.geometry.euclidean.twod.NestedLoops org.apache.commons.math3.geometry.partitioning.RegionFactory top java.util.Iterator
StackMap stack:
15: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.commons.math3.geometry.euclidean.twod.NestedLoops
astore 3
start local 3 16: aload 2
aload 1
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.polygon:Lorg/apache/commons/math3/geometry/partitioning/Region;
aload 3
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.polygon:Lorg/apache/commons/math3/geometry/partitioning/Region;
invokevirtual org.apache.commons.math3.geometry.partitioning.RegionFactory.intersection:(Lorg/apache/commons/math3/geometry/partitioning/Region;Lorg/apache/commons/math3/geometry/partitioning/Region;)Lorg/apache/commons/math3/geometry/partitioning/Region;
invokeinterface org.apache.commons.math3.geometry.partitioning.Region.isEmpty:()Z
ifne 18
17: new org.apache.commons.math3.exception.MathIllegalArgumentException
dup
getstatic org.apache.commons.math3.exception.util.LocalizedFormats.CROSSING_BOUNDARY_LOOPS:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
iconst_0
anewarray java.lang.Object
invokespecial org.apache.commons.math3.exception.MathIllegalArgumentException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;[Ljava/lang/Object;)V
athrow
end local 3 18: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
19: aload 0
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.surrounded:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;
0 21 1 node Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;
2 5 2 child Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;
7 13 2 iterator Ljava/util/Iterator<Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;>;
9 12 3 child Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;
14 21 2 factory Lorg/apache/commons/math3/geometry/partitioning/RegionFactory<Lorg/apache/commons/math3/geometry/euclidean/twod/Euclidean2D;>;
16 18 3 child Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;
Exceptions:
throws org.apache.commons.math3.exception.MathIllegalArgumentException
MethodParameters:
Name Flags
node final
public void correctOrientation();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.surrounded:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 3
StackMap locals: org.apache.commons.math3.geometry.euclidean.twod.NestedLoops top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.commons.math3.geometry.euclidean.twod.NestedLoops
astore 1
start local 1 2: aload 1
iconst_1
invokevirtual org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.setClockWise:(Z)V
end local 1 3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;
2 3 1 child Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;
private void setClockWise(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.originalIsClockwise:Z
iload 1
ixor
ifeq 8
1: iconst_m1
istore 2
start local 2 2: aload 0
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.loop:[Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
arraylength
istore 3
start local 3 3: goto 7
4: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.loop:[Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
iload 2
aaload
astore 4
start local 4 5: aload 0
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.loop:[Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
iload 2
aload 0
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.loop:[Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
iload 3
aaload
aastore
6: aload 0
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.loop:[Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
iload 3
aload 4
aastore
end local 4 7: StackMap locals:
StackMap stack:
iinc 2 1
iload 2
iinc 3 -1
iload 3
if_icmplt 4
end local 3 end local 2 8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.surrounded:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 13
StackMap locals: org.apache.commons.math3.geometry.euclidean.twod.NestedLoops int top java.util.Iterator
StackMap stack:
9: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.commons.math3.geometry.euclidean.twod.NestedLoops
astore 2
start local 2 10: aload 2
iload 1
ifeq 11
iconst_0
goto 12
StackMap locals: org.apache.commons.math3.geometry.euclidean.twod.NestedLoops int org.apache.commons.math3.geometry.euclidean.twod.NestedLoops java.util.Iterator
StackMap stack: org.apache.commons.math3.geometry.euclidean.twod.NestedLoops
11: iconst_1
StackMap locals: org.apache.commons.math3.geometry.euclidean.twod.NestedLoops int org.apache.commons.math3.geometry.euclidean.twod.NestedLoops java.util.Iterator
StackMap stack: org.apache.commons.math3.geometry.euclidean.twod.NestedLoops int
12: invokevirtual org.apache.commons.math3.geometry.euclidean.twod.NestedLoops.setClockWise:(Z)V
end local 2 13: StackMap locals: org.apache.commons.math3.geometry.euclidean.twod.NestedLoops int top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;
0 15 1 clockwise Z
2 8 2 min I
3 8 3 max I
5 7 4 tmp Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
10 13 2 child Lorg/apache/commons/math3/geometry/euclidean/twod/NestedLoops;
MethodParameters:
Name Flags
clockwise final
}
SourceFile: "NestedLoops.java"