public final class org.apache.fop.afp.util.CubicBezierApproximator
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.fop.afp.util.CubicBezierApproximator
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/afp/util/CubicBezierApproximator;
public static double[][] fixedMidPointApproximation(double[]);
descriptor: ([D)[[D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=18, args_size=1
start local 0 0: aload 0
arraylength
bipush 8
if_icmpge 2
1: new java.lang.IllegalArgumentException
dup
ldc "Must have at least 8 coordinates"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new java.awt.geom.Point2D$Double
dup
aload 0
iconst_0
daload
aload 0
iconst_1
daload
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 1
start local 1 3: new java.awt.geom.Point2D$Double
dup
aload 0
iconst_2
daload
aload 0
iconst_3
daload
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 2
start local 2 4: new java.awt.geom.Point2D$Double
dup
aload 0
iconst_4
daload
aload 0
iconst_5
daload
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 3
start local 3 5: new java.awt.geom.Point2D$Double
dup
aload 0
bipush 6
daload
aload 0
bipush 7
daload
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 4
start local 4 6: aload 1
aload 2
ldc 0.75
invokestatic org.apache.fop.afp.util.CubicBezierApproximator.getPointOnSegment:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;D)Ljava/awt/geom/Point2D;
astore 5
start local 5 7: aload 4
aload 3
ldc 0.75
invokestatic org.apache.fop.afp.util.CubicBezierApproximator.getPointOnSegment:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;D)Ljava/awt/geom/Point2D;
astore 6
start local 6 8: aload 4
invokevirtual java.awt.geom.Point2D.getX:()D
aload 1
invokevirtual java.awt.geom.Point2D.getX:()D
dsub
ldc 16.0
ddiv
dstore 7
start local 7 9: aload 4
invokevirtual java.awt.geom.Point2D.getY:()D
aload 1
invokevirtual java.awt.geom.Point2D.getY:()D
dsub
ldc 16.0
ddiv
dstore 9
start local 9 10: aload 1
aload 2
ldc 0.375
invokestatic org.apache.fop.afp.util.CubicBezierApproximator.getPointOnSegment:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;D)Ljava/awt/geom/Point2D;
astore 11
start local 11 11: aload 5
aload 6
ldc 0.375
invokestatic org.apache.fop.afp.util.CubicBezierApproximator.getPointOnSegment:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;D)Ljava/awt/geom/Point2D;
astore 12
start local 12 12: aload 12
dload 7
dneg
dload 9
dneg
invokestatic org.apache.fop.afp.util.CubicBezierApproximator.movePoint:(Ljava/awt/geom/Point2D;DD)Ljava/awt/geom/Point2D$Double;
astore 12
13: aload 6
aload 5
ldc 0.375
invokestatic org.apache.fop.afp.util.CubicBezierApproximator.getPointOnSegment:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;D)Ljava/awt/geom/Point2D;
astore 13
start local 13 14: aload 13
dload 7
dload 9
invokestatic org.apache.fop.afp.util.CubicBezierApproximator.movePoint:(Ljava/awt/geom/Point2D;DD)Ljava/awt/geom/Point2D$Double;
astore 13
15: aload 4
aload 3
ldc 0.375
invokestatic org.apache.fop.afp.util.CubicBezierApproximator.getPointOnSegment:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;D)Ljava/awt/geom/Point2D;
astore 14
start local 14 16: aload 11
aload 12
invokestatic org.apache.fop.afp.util.CubicBezierApproximator.getMidPoint:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
astore 15
start local 15 17: aload 5
aload 6
invokestatic org.apache.fop.afp.util.CubicBezierApproximator.getMidPoint:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
astore 16
start local 16 18: aload 13
aload 14
invokestatic org.apache.fop.afp.util.CubicBezierApproximator.getMidPoint:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
astore 17
start local 17 19: iconst_4
anewarray double[]
dup
iconst_0
20: iconst_4
newarray 7
dup
iconst_0
aload 11
invokevirtual java.awt.geom.Point2D.getX:()D
dastore
dup
iconst_1
aload 11
invokevirtual java.awt.geom.Point2D.getY:()D
dastore
dup
iconst_2
aload 15
invokevirtual java.awt.geom.Point2D.getX:()D
dastore
dup
iconst_3
aload 15
invokevirtual java.awt.geom.Point2D.getY:()D
dastore
aastore
dup
iconst_1
21: iconst_4
newarray 7
dup
iconst_0
aload 12
invokevirtual java.awt.geom.Point2D.getX:()D
dastore
dup
iconst_1
aload 12
invokevirtual java.awt.geom.Point2D.getY:()D
dastore
dup
iconst_2
aload 16
invokevirtual java.awt.geom.Point2D.getX:()D
dastore
dup
iconst_3
aload 16
invokevirtual java.awt.geom.Point2D.getY:()D
dastore
aastore
dup
iconst_2
22: iconst_4
newarray 7
dup
iconst_0
aload 13
invokevirtual java.awt.geom.Point2D.getX:()D
dastore
dup
iconst_1
aload 13
invokevirtual java.awt.geom.Point2D.getY:()D
dastore
dup
iconst_2
aload 17
invokevirtual java.awt.geom.Point2D.getX:()D
dastore
dup
iconst_3
aload 17
invokevirtual java.awt.geom.Point2D.getY:()D
dastore
aastore
dup
iconst_3
23: iconst_4
newarray 7
dup
iconst_0
aload 14
invokevirtual java.awt.geom.Point2D.getX:()D
dastore
dup
iconst_1
aload 14
invokevirtual java.awt.geom.Point2D.getY:()D
dastore
dup
iconst_2
aload 4
invokevirtual java.awt.geom.Point2D.getX:()D
dastore
dup
iconst_3
aload 4
invokevirtual java.awt.geom.Point2D.getY:()D
dastore
aastore
24: areturn
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 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 25 0 cubicControlPointCoords [D
3 25 1 p0 Ljava/awt/geom/Point2D;
4 25 2 p1 Ljava/awt/geom/Point2D;
5 25 3 p2 Ljava/awt/geom/Point2D;
6 25 4 p3 Ljava/awt/geom/Point2D;
7 25 5 pa Ljava/awt/geom/Point2D;
8 25 6 pb Ljava/awt/geom/Point2D;
9 25 7 dx D
10 25 9 dy D
11 25 11 pc1 Ljava/awt/geom/Point2D;
12 25 12 pc2 Ljava/awt/geom/Point2D;
14 25 13 pc3 Ljava/awt/geom/Point2D;
16 25 14 pc4 Ljava/awt/geom/Point2D;
17 25 15 pa1 Ljava/awt/geom/Point2D;
18 25 16 pa2 Ljava/awt/geom/Point2D;
19 25 17 pa3 Ljava/awt/geom/Point2D;
MethodParameters:
Name Flags
cubicControlPointCoords
private static java.awt.geom.Point2D$Double movePoint(java.awt.geom.Point2D, double, double);
descriptor: (Ljava/awt/geom/Point2D;DD)Ljava/awt/geom/Point2D$Double;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 3 0: new java.awt.geom.Point2D$Double
dup
aload 0
invokevirtual java.awt.geom.Point2D.getX:()D
dload 1
dadd
aload 0
invokevirtual java.awt.geom.Point2D.getY:()D
dload 3
dadd
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 point Ljava/awt/geom/Point2D;
0 1 1 dx D
0 1 3 dy D
MethodParameters:
Name Flags
point
dx
dy
private static java.awt.geom.Point2D getMidPoint(java.awt.geom.Point2D, java.awt.geom.Point2D);
descriptor: (Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc 0.5
invokestatic org.apache.fop.afp.util.CubicBezierApproximator.getPointOnSegment:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;D)Ljava/awt/geom/Point2D;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 p0 Ljava/awt/geom/Point2D;
0 1 1 p1 Ljava/awt/geom/Point2D;
MethodParameters:
Name Flags
p0
p1
private static java.awt.geom.Point2D getPointOnSegment(java.awt.geom.Point2D, java.awt.geom.Point2D, double);
descriptor: (Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;D)Ljava/awt/geom/Point2D;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.awt.geom.Point2D.getX:()D
aload 1
invokevirtual java.awt.geom.Point2D.getX:()D
aload 0
invokevirtual java.awt.geom.Point2D.getX:()D
dsub
dload 2
dmul
dadd
dstore 4
start local 4 1: aload 0
invokevirtual java.awt.geom.Point2D.getY:()D
aload 1
invokevirtual java.awt.geom.Point2D.getY:()D
aload 0
invokevirtual java.awt.geom.Point2D.getY:()D
dsub
dload 2
dmul
dadd
dstore 6
start local 6 2: new java.awt.geom.Point2D$Double
dup
dload 4
dload 6
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
areturn
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 p0 Ljava/awt/geom/Point2D;
0 3 1 p1 Ljava/awt/geom/Point2D;
0 3 2 ratio D
1 3 4 x D
2 3 6 y D
MethodParameters:
Name Flags
p0
p1
ratio
}
SourceFile: "CubicBezierApproximator.java"
InnerClasses:
public Double = java.awt.geom.Point2D$Double of java.awt.geom.Point2D