public class
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.math3.geometry.euclidean.threed.OutlineExtractor
super_class: java.lang.Object
{
private org.apache.commons.math3.geometry.euclidean.threed.Vector3D ;
descriptor: Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
flags: (0x0002) ACC_PRIVATE
private org.apache.commons.math3.geometry.euclidean.threed.Vector3D ;
descriptor: Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
flags: (0x0002) ACC_PRIVATE
private org.apache.commons.math3.geometry.euclidean.threed.Vector3D ;
descriptor: Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
flags: (0x0002) ACC_PRIVATE
public void (org.apache.commons.math3.geometry.euclidean.threed.Vector3D, org.apache.commons.math3.geometry.euclidean.threed.Vector3D);
descriptor: (Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.apache.commons.math3.geometry.euclidean.threed.OutlineExtractor.u:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
2: aload 0
aload 2
putfield org.apache.commons.math3.geometry.euclidean.threed.OutlineExtractor.v:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
3: aload 0
aload 1
aload 2
invokestatic org.apache.commons.math3.geometry.euclidean.threed.Vector3D.crossProduct:(Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
putfield org.apache.commons.math3.geometry.euclidean.threed.OutlineExtractor.w:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/commons/math3/geometry/euclidean/threed/OutlineExtractor;
0 5 1 u Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
0 5 2 v Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
MethodParameters:
Name Flags
u final
v final
public org.apache.commons.math3.geometry.euclidean.twod.Vector2D[][] (org.apache.commons.math3.geometry.euclidean.threed.PolyhedronsSet);
descriptor: (Lorg/apache/commons/math3/geometry/euclidean/threed/PolyhedronsSet;)[[Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: new org.apache.commons.math3.geometry.euclidean.threed.OutlineExtractor$BoundaryProjector
dup
aload 0
aload 1
invokevirtual org.apache.commons.math3.geometry.euclidean.threed.PolyhedronsSet.getTolerance:()D
invokespecial org.apache.commons.math3.geometry.euclidean.threed.OutlineExtractor$BoundaryProjector.<init>:(Lorg/apache/commons/math3/geometry/euclidean/threed/OutlineExtractor;D)V
astore 2
start local 2 1: aload 1
iconst_1
invokevirtual org.apache.commons.math3.geometry.euclidean.threed.PolyhedronsSet.getTree:(Z)Lorg/apache/commons/math3/geometry/partitioning/BSPTree;
aload 2
invokevirtual org.apache.commons.math3.geometry.partitioning.BSPTree.visit:(Lorg/apache/commons/math3/geometry/partitioning/BSPTreeVisitor;)V
2: aload 2
invokevirtual org.apache.commons.math3.geometry.euclidean.threed.OutlineExtractor$BoundaryProjector.getProjected:()Lorg/apache/commons/math3/geometry/euclidean/twod/PolygonsSet;
astore 3
start local 3 3: aload 3
invokevirtual org.apache.commons.math3.geometry.euclidean.twod.PolygonsSet.getVertices:()[[Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 24
6: StackMap locals: org.apache.commons.math3.geometry.euclidean.threed.OutlineExtractor org.apache.commons.math3.geometry.euclidean.threed.PolyhedronsSet org.apache.commons.math3.geometry.euclidean.threed.OutlineExtractor$BoundaryProjector org.apache.commons.math3.geometry.euclidean.twod.PolygonsSet org.apache.commons.math3.geometry.euclidean.twod.Vector2D[][] int
StackMap stack:
aload 4
iload 5
aaload
astore 6
start local 6 7: aload 6
arraylength
istore 7
start local 7 8: iconst_0
istore 8
start local 8 9: goto 19
10: StackMap locals: org.apache.commons.math3.geometry.euclidean.twod.Vector2D[] int int
StackMap stack:
aload 0
aload 6
iload 7
iload 8
invokevirtual org.apache.commons.math3.geometry.euclidean.threed.OutlineExtractor.pointIsBetween:([Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;II)Z
ifeq 18
11: iload 8
istore 9
start local 9 12: goto 15
13: StackMap locals: int
StackMap stack:
aload 6
iload 9
aload 6
iload 9
iconst_1
iadd
aaload
aastore
14: iinc 9 1
StackMap locals:
StackMap stack:
15: iload 9
iload 7
iconst_1
isub
if_icmplt 13
end local 9 16: iinc 7 -1
17: goto 19
18: StackMap locals:
StackMap stack:
iinc 8 1
19: StackMap locals:
StackMap stack:
iload 8
iload 7
if_icmplt 10
20: iload 7
aload 6
arraylength
if_icmpeq 23
21: aload 4
iload 5
iload 7
anewarray org.apache.commons.math3.geometry.euclidean.twod.Vector2D
aastore
22: aload 6
iconst_0
aload 4
iload 5
aaload
iconst_0
iload 7
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 8 end local 7 end local 6 23: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
24: iload 5
aload 4
arraylength
if_icmplt 6
end local 5 25: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/apache/commons/math3/geometry/euclidean/threed/OutlineExtractor;
0 26 1 polyhedronsSet Lorg/apache/commons/math3/geometry/euclidean/threed/PolyhedronsSet;
1 26 2 projector Lorg/apache/commons/math3/geometry/euclidean/threed/OutlineExtractor$BoundaryProjector;
3 26 3 projected Lorg/apache/commons/math3/geometry/euclidean/twod/PolygonsSet;
4 26 4 outline [[Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
5 25 5 i I
7 23 6 rawLoop [Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
8 23 7 end I
9 23 8 j I
12 16 9 k I
MethodParameters:
Name Flags
polyhedronsSet final
private boolean (org.apache.commons.math3.geometry.euclidean.twod.Vector2D[], int, int);
descriptor: ([Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;II)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=21, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
iload 3
iload 2
iadd
iconst_1
isub
iload 2
irem
aaload
astore 4
start local 4 1: aload 1
iload 3
aaload
astore 5
start local 5 2: aload 1
iload 3
iconst_1
iadd
iload 2
irem
aaload
astore 6
start local 6 3: aload 5
invokevirtual org.apache.commons.math3.geometry.euclidean.twod.Vector2D.getX:()D
aload 4
invokevirtual org.apache.commons.math3.geometry.euclidean.twod.Vector2D.getX:()D
dsub
dstore 7
start local 7 4: aload 5
invokevirtual org.apache.commons.math3.geometry.euclidean.twod.Vector2D.getY:()D
aload 4
invokevirtual org.apache.commons.math3.geometry.euclidean.twod.Vector2D.getY:()D
dsub
dstore 9
start local 9 5: aload 6
invokevirtual org.apache.commons.math3.geometry.euclidean.twod.Vector2D.getX:()D
aload 5
invokevirtual org.apache.commons.math3.geometry.euclidean.twod.Vector2D.getX:()D
dsub
dstore 11
start local 11 6: aload 6
invokevirtual org.apache.commons.math3.geometry.euclidean.twod.Vector2D.getY:()D
aload 5
invokevirtual org.apache.commons.math3.geometry.euclidean.twod.Vector2D.getY:()D
dsub
dstore 13
start local 13 7: dload 7
dload 13
dmul
dload 11
dload 9
dmul
dsub
dstore 15
start local 15 8: dload 7
dload 11
dmul
dload 9
dload 13
dmul
dadd
dstore 17
start local 17 9: dload 7
dload 7
dmul
dload 9
dload 9
dmul
dadd
dload 11
dload 11
dmul
dload 13
dload 13
dmul
dadd
dmul
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
dstore 19
start local 19 10: dload 15
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
ldc 1.0E-6
dload 19
dmul
dcmpg
ifgt 11
dload 17
dconst_0
dcmpl
iflt 11
iconst_1
ireturn
StackMap locals: org.apache.commons.math3.geometry.euclidean.threed.OutlineExtractor org.apache.commons.math3.geometry.euclidean.twod.Vector2D[] int int org.apache.commons.math3.geometry.euclidean.twod.Vector2D org.apache.commons.math3.geometry.euclidean.twod.Vector2D org.apache.commons.math3.geometry.euclidean.twod.Vector2D double double double double double double double
StackMap stack:
11: iconst_0
ireturn
end local 19 end local 17 end local 15 end local 13 end local 11 end local 9 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 12 0 this Lorg/apache/commons/math3/geometry/euclidean/threed/OutlineExtractor;
0 12 1 loop [Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
0 12 2 n I
0 12 3 i I
1 12 4 previous Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
2 12 5 current Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
3 12 6 next Lorg/apache/commons/math3/geometry/euclidean/twod/Vector2D;
4 12 7 dx1 D
5 12 9 dy1 D
6 12 11 dx2 D
7 12 13 dy2 D
8 12 15 cross D
9 12 17 dot D
10 12 19 d1d2 D
MethodParameters:
Name Flags
loop final
n final
i final
}
SourceFile: "OutlineExtractor.java"
NestMembers:
org.apache.commons.math3.geometry.euclidean.threed.OutlineExtractor$BoundaryProjector
InnerClasses:
private BoundaryProjector = org.apache.commons.math3.geometry.euclidean.threed.OutlineExtractor$BoundaryProjector of org.apache.commons.math3.geometry.euclidean.threed.OutlineExtractor