public class org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction implements org.apache.commons.math3.analysis.MultivariateFunction
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction
super_class: java.lang.Object
{
private final int dimension;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction$MicrosphereSurfaceElement> microsphere;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/apache/commons/math3/analysis/interpolation/MicrosphereInterpolatingFunction$MicrosphereSurfaceElement;>;
private final double brightnessExponent;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<org.apache.commons.math3.linear.RealVector, java.lang.Double> samples;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lorg/apache/commons/math3/linear/RealVector;Ljava/lang/Double;>;
public void <init>(double[][], double[], int, int, org.apache.commons.math3.random.UnitSphereRandomVectorGenerator);
descriptor: ([[D[DIILorg/apache/commons/math3/random/UnitSphereRandomVectorGenerator;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnull 3
2: aload 2
ifnonnull 4
3: StackMap locals: org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction double[][] double[] int int org.apache.commons.math3.random.UnitSphereRandomVectorGenerator
StackMap stack:
new org.apache.commons.math3.exception.NullArgumentException
dup
invokespecial org.apache.commons.math3.exception.NullArgumentException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 1
arraylength
ifne 6
5: new org.apache.commons.math3.exception.NoDataException
dup
invokespecial org.apache.commons.math3.exception.NoDataException.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 1
arraylength
aload 2
arraylength
if_icmpeq 8
7: new org.apache.commons.math3.exception.DimensionMismatchException
dup
aload 1
arraylength
aload 2
arraylength
invokespecial org.apache.commons.math3.exception.DimensionMismatchException.<init>:(II)V
athrow
8: StackMap locals:
StackMap stack:
aload 1
iconst_0
aaload
ifnonnull 10
9: new org.apache.commons.math3.exception.NullArgumentException
dup
invokespecial org.apache.commons.math3.exception.NullArgumentException.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
aaload
arraylength
putfield org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction.dimension:I
11: aload 0
iload 3
i2d
putfield org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction.brightnessExponent:D
12: aload 0
new java.util.HashMap
dup
aload 2
arraylength
invokespecial java.util.HashMap.<init>:(I)V
putfield org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction.samples:Ljava/util/Map;
13: iconst_0
istore 6
start local 6 14: goto 22
15: StackMap locals: int
StackMap stack:
aload 1
iload 6
aaload
astore 7
start local 7 16: aload 7
ifnonnull 18
17: new org.apache.commons.math3.exception.NullArgumentException
dup
invokespecial org.apache.commons.math3.exception.NullArgumentException.<init>:()V
athrow
18: StackMap locals: double[]
StackMap stack:
aload 7
arraylength
aload 0
getfield org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction.dimension:I
if_icmpeq 20
19: new org.apache.commons.math3.exception.DimensionMismatchException
dup
aload 7
arraylength
aload 0
getfield org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction.dimension:I
invokespecial org.apache.commons.math3.exception.DimensionMismatchException.<init>:(II)V
athrow
20: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction.samples:Ljava/util/Map;
new org.apache.commons.math3.linear.ArrayRealVector
dup
aload 7
invokespecial org.apache.commons.math3.linear.ArrayRealVector.<init>:([D)V
aload 2
iload 6
daload
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 21: iinc 6 1
StackMap locals:
StackMap stack:
22: iload 6
aload 1
arraylength
if_icmplt 15
end local 6 23: aload 0
new java.util.ArrayList
dup
iload 4
invokespecial java.util.ArrayList.<init>:(I)V
putfield org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction.microsphere:Ljava/util/List;
24: iconst_0
istore 6
start local 6 25: goto 28
26: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction.microsphere:Ljava/util/List;
new org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction$MicrosphereSurfaceElement
dup
aload 5
invokevirtual org.apache.commons.math3.random.UnitSphereRandomVectorGenerator.nextVector:()[D
invokespecial org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction$MicrosphereSurfaceElement.<init>:([D)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
27: iinc 6 1
StackMap locals:
StackMap stack:
28: iload 6
iload 4
if_icmplt 26
end local 6 29: return
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 30 0 this Lorg/apache/commons/math3/analysis/interpolation/MicrosphereInterpolatingFunction;
0 30 1 xval [[D
0 30 2 yval [D
0 30 3 brightnessExponent I
0 30 4 microsphereElements I
0 30 5 rand Lorg/apache/commons/math3/random/UnitSphereRandomVectorGenerator;
14 23 6 i I
16 21 7 xvalI [D
25 29 6 i I
Exceptions:
throws org.apache.commons.math3.exception.DimensionMismatchException, org.apache.commons.math3.exception.NoDataException, org.apache.commons.math3.exception.NullArgumentException
MethodParameters:
Name Flags
xval
yval
brightnessExponent
microsphereElements
rand
public double value(double[]);
descriptor: ([D)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=12, args_size=2
start local 0 start local 1 0: new org.apache.commons.math3.linear.ArrayRealVector
dup
aload 1
invokespecial org.apache.commons.math3.linear.ArrayRealVector.<init>:([D)V
astore 2
start local 2 1: aload 0
getfield org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction.microsphere:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction double[] org.apache.commons.math3.linear.RealVector top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction$MicrosphereSurfaceElement
astore 3
start local 3 3: aload 3
invokevirtual org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction$MicrosphereSurfaceElement.reset:()V
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
getfield org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction.samples:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 16
StackMap locals:
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 7: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.apache.commons.math3.linear.RealVector
aload 2
invokevirtual org.apache.commons.math3.linear.RealVector.subtract:(Lorg/apache/commons/math3/linear/RealVector;)Lorg/apache/commons/math3/linear/RealVector;
astore 5
start local 5 8: aload 5
invokevirtual org.apache.commons.math3.linear.RealVector.getNorm:()D
dstore 6
start local 6 9: dload 6
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dconst_1
invokestatic org.apache.commons.math3.util.FastMath.ulp:(D)D
dcmpg
ifge 11
10: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dreturn
11: StackMap locals: org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction double[] org.apache.commons.math3.linear.RealVector java.util.Map$Entry java.util.Iterator org.apache.commons.math3.linear.RealVector double
StackMap stack:
aload 0
getfield org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction.microsphere:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 15
StackMap locals: org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction double[] org.apache.commons.math3.linear.RealVector java.util.Map$Entry java.util.Iterator org.apache.commons.math3.linear.RealVector double top java.util.Iterator
StackMap stack:
12: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction$MicrosphereSurfaceElement
astore 8
start local 8 13: dload 6
aload 0
getfield org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction.brightnessExponent:D
dneg
invokestatic org.apache.commons.math3.util.FastMath.pow:(DD)D
dstore 10
start local 10 14: aload 8
aload 0
aload 5
aload 8
invokevirtual org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction$MicrosphereSurfaceElement.normal:()Lorg/apache/commons/math3/linear/RealVector;
invokevirtual org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction.cosAngle:(Lorg/apache/commons/math3/linear/RealVector;Lorg/apache/commons/math3/linear/RealVector;)D
dload 10
dmul
aload 3
invokevirtual org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction$MicrosphereSurfaceElement.store:(DLjava/util/Map$Entry;)V
end local 10 end local 8 15: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
end local 6 end local 5 end local 3 16: StackMap locals: org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction double[] org.apache.commons.math3.linear.RealVector top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
17: dconst_0
dstore 3
start local 3 18: dconst_0
dstore 5
start local 5 19: aload 0
getfield org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction.microsphere:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 26
StackMap locals: org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction double[] org.apache.commons.math3.linear.RealVector double double top java.util.Iterator
StackMap stack:
20: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction$MicrosphereSurfaceElement
astore 7
start local 7 21: aload 7
invokevirtual org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction$MicrosphereSurfaceElement.illumination:()D
dstore 9
start local 9 22: aload 7
invokevirtual org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction$MicrosphereSurfaceElement.sample:()Ljava/util/Map$Entry;
astore 11
start local 11 23: aload 11
ifnull 26
24: dload 3
dload 9
aload 11
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dmul
dadd
dstore 3
25: dload 5
dload 9
dadd
dstore 5
end local 11 end local 9 end local 7 26: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
27: dload 3
dload 5
ddiv
dreturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/apache/commons/math3/analysis/interpolation/MicrosphereInterpolatingFunction;
0 28 1 point [D
1 28 2 p Lorg/apache/commons/math3/linear/RealVector;
3 4 3 md Lorg/apache/commons/math3/analysis/interpolation/MicrosphereInterpolatingFunction$MicrosphereSurfaceElement;
7 16 3 sd Ljava/util/Map$Entry<Lorg/apache/commons/math3/linear/RealVector;Ljava/lang/Double;>;
8 16 5 diff Lorg/apache/commons/math3/linear/RealVector;
9 16 6 diffNorm D
13 15 8 md Lorg/apache/commons/math3/analysis/interpolation/MicrosphereInterpolatingFunction$MicrosphereSurfaceElement;
14 15 10 w D
18 28 3 value D
19 28 5 totalWeight D
21 26 7 md Lorg/apache/commons/math3/analysis/interpolation/MicrosphereInterpolatingFunction$MicrosphereSurfaceElement;
22 26 9 iV D
23 26 11 sd Ljava/util/Map$Entry<Lorg/apache/commons/math3/linear/RealVector;Ljava/lang/Double;>;
Exceptions:
throws org.apache.commons.math3.exception.DimensionMismatchException
MethodParameters:
Name Flags
point
private double cosAngle(org.apache.commons.math3.linear.RealVector, org.apache.commons.math3.linear.RealVector);
descriptor: (Lorg/apache/commons/math3/linear/RealVector;Lorg/apache/commons/math3/linear/RealVector;)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokevirtual org.apache.commons.math3.linear.RealVector.dotProduct:(Lorg/apache/commons/math3/linear/RealVector;)D
aload 1
invokevirtual org.apache.commons.math3.linear.RealVector.getNorm:()D
aload 2
invokevirtual org.apache.commons.math3.linear.RealVector.getNorm:()D
dmul
ddiv
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/math3/analysis/interpolation/MicrosphereInterpolatingFunction;
0 1 1 v Lorg/apache/commons/math3/linear/RealVector;
0 1 2 w Lorg/apache/commons/math3/linear/RealVector;
MethodParameters:
Name Flags
v final
w final
}
SourceFile: "MicrosphereInterpolatingFunction.java"
NestMembers:
org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction$MicrosphereSurfaceElement
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
private MicrosphereSurfaceElement = org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction$MicrosphereSurfaceElement of org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolatingFunction
RuntimeVisibleAnnotations:
java.lang.Deprecated()