class javafx.scene.transform.Rotate$MatrixCache
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javafx.scene.transform.Rotate$MatrixCache
  super_class: java.lang.Object
{
  boolean valid;
    descriptor: Z
    flags: (0x0000) 

  boolean is3D;
    descriptor: Z
    flags: (0x0000) 

  double mxx;
    descriptor: D
    flags: (0x0000) 

  double mxy;
    descriptor: D
    flags: (0x0000) 

  double mxz;
    descriptor: D
    flags: (0x0000) 

  double tx;
    descriptor: D
    flags: (0x0000) 

  double myx;
    descriptor: D
    flags: (0x0000) 

  double myy;
    descriptor: D
    flags: (0x0000) 

  double myz;
    descriptor: D
    flags: (0x0000) 

  double ty;
    descriptor: D
    flags: (0x0000) 

  double mzx;
    descriptor: D
    flags: (0x0000) 

  double mzy;
    descriptor: D
    flags: (0x0000) 

  double mzz;
    descriptor: D
    flags: (0x0000) 

  double tz;
    descriptor: D
    flags: (0x0000) 

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javafx.scene.transform.Rotate$MatrixCache this
         0: .line 839
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 832
            aload 0 /* this */
            iconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.valid:Z
         2: .line 833
            aload 0 /* this */
            iconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.is3D:Z
         3: .line 841
            aload 0 /* this */
            dconst_1
            putfield javafx.scene.transform.Rotate$MatrixCache.mzz:D
         4: .line 842
            return
        end local 0 // javafx.scene.transform.Rotate$MatrixCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavafx/scene/transform/Rotate$MatrixCache;

  public void update(double, javafx.geometry.Point3D, double, double, double);
    descriptor: (DLjavafx/geometry/Point3D;DDD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=24, args_size=6
        start local 0 // javafx.scene.transform.Rotate$MatrixCache this
        start local 1 // double angle
        start local 3 // javafx.geometry.Point3D axis
        start local 4 // double px
        start local 6 // double py
        start local 8 // double pz
         0: .line 847
            dload 1 /* angle */
            invokestatic java.lang.Math.toRadians:(D)D
            dstore 10 /* rads */
        start local 10 // double rads
         1: .line 848
            dload 10 /* rads */
            invokestatic java.lang.Math.sin:(D)D
            dstore 12 /* sin */
        start local 12 // double sin
         2: .line 849
            dload 10 /* rads */
            invokestatic java.lang.Math.cos:(D)D
            dstore 14 /* cos */
        start local 14 // double cos
         3: .line 851
            aload 3 /* axis */
            getstatic javafx.scene.transform.Rotate.Z_AXIS:Ljavafx/geometry/Point3D;
            if_acmpeq 7
         4: .line 852
            aload 3 /* axis */
            invokevirtual javafx.geometry.Point3D.getX:()D
            dconst_0
            dcmpl
            ifne 23
         5: .line 853
            aload 3 /* axis */
            invokevirtual javafx.geometry.Point3D.getY:()D
            dconst_0
            dcmpl
            ifne 23
         6: .line 854
            aload 3 /* axis */
            invokevirtual javafx.geometry.Point3D.getZ:()D
            dconst_0
            dcmpl
            ifle 23
         7: .line 856
      StackMap locals: double double double
      StackMap stack:
            aload 0 /* this */
            dload 14 /* cos */
            putfield javafx.scene.transform.Rotate$MatrixCache.mxx:D
         8: .line 857
            aload 0 /* this */
            dload 12 /* sin */
            dneg
            putfield javafx.scene.transform.Rotate$MatrixCache.mxy:D
         9: .line 858
            aload 0 /* this */
            dload 4 /* px */
            dconst_1
            dload 14 /* cos */
            dsub
            dmul
            dload 6 /* py */
            dload 12 /* sin */
            dmul
            dadd
            putfield javafx.scene.transform.Rotate$MatrixCache.tx:D
        10: .line 859
            aload 0 /* this */
            dload 12 /* sin */
            putfield javafx.scene.transform.Rotate$MatrixCache.myx:D
        11: .line 860
            aload 0 /* this */
            dload 14 /* cos */
            putfield javafx.scene.transform.Rotate$MatrixCache.myy:D
        12: .line 861
            aload 0 /* this */
            dload 6 /* py */
            dconst_1
            dload 14 /* cos */
            dsub
            dmul
            dload 4 /* px */
            dload 12 /* sin */
            dmul
            dsub
            putfield javafx.scene.transform.Rotate$MatrixCache.ty:D
        13: .line 863
            aload 0 /* this */
            getfield javafx.scene.transform.Rotate$MatrixCache.is3D:Z
            ifeq 21
        14: .line 865
            aload 0 /* this */
            dconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.mxz:D
        15: .line 866
            aload 0 /* this */
            dconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.myz:D
        16: .line 867
            aload 0 /* this */
            dconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.mzx:D
        17: .line 868
            aload 0 /* this */
            dconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.mzy:D
        18: .line 869
            aload 0 /* this */
            dconst_1
            putfield javafx.scene.transform.Rotate$MatrixCache.mzz:D
        19: .line 870
            aload 0 /* this */
            dconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.tz:D
        20: .line 871
            aload 0 /* this */
            iconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.is3D:Z
        21: .line 873
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield javafx.scene.transform.Rotate$MatrixCache.valid:Z
        22: .line 874
            return
        23: .line 877
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield javafx.scene.transform.Rotate$MatrixCache.is3D:Z
        24: .line 881
            aload 3 /* axis */
            getstatic javafx.scene.transform.Rotate.X_AXIS:Ljavafx/geometry/Point3D;
            if_acmpeq 25
            aload 3 /* axis */
            getstatic javafx.scene.transform.Rotate.Y_AXIS:Ljavafx/geometry/Point3D;
            if_acmpeq 25
            aload 3 /* axis */
            getstatic javafx.scene.transform.Rotate.Z_AXIS:Ljavafx/geometry/Point3D;
            if_acmpne 29
        25: .line 882
      StackMap locals:
      StackMap stack:
            aload 3 /* axis */
            invokevirtual javafx.geometry.Point3D.getX:()D
            dstore 16 /* axisX */
        start local 16 // double axisX
        26: .line 883
            aload 3 /* axis */
            invokevirtual javafx.geometry.Point3D.getY:()D
            dstore 18 /* axisY */
        start local 18 // double axisY
        27: .line 884
            aload 3 /* axis */
            invokevirtual javafx.geometry.Point3D.getZ:()D
            dstore 20 /* axisZ */
        start local 20 // double axisZ
        28: .line 885
            goto 43
        end local 20 // double axisZ
        end local 18 // double axisY
        end local 16 // double axisX
        29: .line 887
      StackMap locals:
      StackMap stack:
            aload 3 /* axis */
            invokevirtual javafx.geometry.Point3D.getX:()D
            aload 3 /* axis */
            invokevirtual javafx.geometry.Point3D.getX:()D
            dmul
        30: .line 888
            aload 3 /* axis */
            invokevirtual javafx.geometry.Point3D.getY:()D
            aload 3 /* axis */
            invokevirtual javafx.geometry.Point3D.getY:()D
            dmul
        31: .line 887
            dadd
        32: .line 888
            aload 3 /* axis */
            invokevirtual javafx.geometry.Point3D.getZ:()D
            aload 3 /* axis */
            invokevirtual javafx.geometry.Point3D.getZ:()D
            dmul
        33: .line 887
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dstore 22 /* mag */
        start local 22 // double mag
        34: .line 890
            dload 22 /* mag */
            dconst_0
            dcmpl
            ifne 40
        35: .line 891
            aload 0 /* this */
            dconst_1
            putfield javafx.scene.transform.Rotate$MatrixCache.mxx:D
            aload 0 /* this */
            dconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.mxy:D
            aload 0 /* this */
            dconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.mxz:D
            aload 0 /* this */
            dconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.tx:D
        36: .line 892
            aload 0 /* this */
            dconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.myx:D
            aload 0 /* this */
            dconst_1
            putfield javafx.scene.transform.Rotate$MatrixCache.myy:D
            aload 0 /* this */
            dconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.myz:D
            aload 0 /* this */
            dconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.ty:D
        37: .line 893
            aload 0 /* this */
            dconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.mzx:D
            aload 0 /* this */
            dconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.mzy:D
            aload 0 /* this */
            dconst_1
            putfield javafx.scene.transform.Rotate$MatrixCache.mzz:D
            aload 0 /* this */
            dconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.tz:D
        38: .line 894
            aload 0 /* this */
            iconst_1
            putfield javafx.scene.transform.Rotate$MatrixCache.valid:Z
        39: .line 895
            return
        40: .line 897
      StackMap locals: javafx.scene.transform.Rotate$MatrixCache double javafx.geometry.Point3D double double double double double double top top top top top top double
      StackMap stack:
            aload 3 /* axis */
            invokevirtual javafx.geometry.Point3D.getX:()D
            dload 22 /* mag */
            ddiv
            dstore 16 /* axisX */
        start local 16 // double axisX
        41: .line 898
            aload 3 /* axis */
            invokevirtual javafx.geometry.Point3D.getY:()D
            dload 22 /* mag */
            ddiv
            dstore 18 /* axisY */
        start local 18 // double axisY
        42: .line 899
            aload 3 /* axis */
            invokevirtual javafx.geometry.Point3D.getZ:()D
            dload 22 /* mag */
            ddiv
            dstore 20 /* axisZ */
        end local 22 // double mag
        start local 20 // double axisZ
        43: .line 903
      StackMap locals: javafx.scene.transform.Rotate$MatrixCache double javafx.geometry.Point3D double double double double double double double double double
      StackMap stack:
            aload 0 /* this */
            dload 14 /* cos */
            dload 16 /* axisX */
            dload 16 /* axisX */
            dmul
            dconst_1
            dload 14 /* cos */
            dsub
            dmul
            dadd
            putfield javafx.scene.transform.Rotate$MatrixCache.mxx:D
        44: .line 904
            aload 0 /* this */
            dload 16 /* axisX */
            dload 18 /* axisY */
            dmul
            dconst_1
            dload 14 /* cos */
            dsub
            dmul
            dload 20 /* axisZ */
            dload 12 /* sin */
            dmul
            dsub
            putfield javafx.scene.transform.Rotate$MatrixCache.mxy:D
        45: .line 905
            aload 0 /* this */
            dload 16 /* axisX */
            dload 20 /* axisZ */
            dmul
            dconst_1
            dload 14 /* cos */
            dsub
            dmul
            dload 18 /* axisY */
            dload 12 /* sin */
            dmul
            dadd
            putfield javafx.scene.transform.Rotate$MatrixCache.mxz:D
        46: .line 906
            aload 0 /* this */
            dload 4 /* px */
            dconst_1
            aload 0 /* this */
            getfield javafx.scene.transform.Rotate$MatrixCache.mxx:D
            dsub
            dmul
            dload 6 /* py */
            aload 0 /* this */
            getfield javafx.scene.transform.Rotate$MatrixCache.mxy:D
            dmul
            dsub
            dload 8 /* pz */
            aload 0 /* this */
            getfield javafx.scene.transform.Rotate$MatrixCache.mxz:D
            dmul
            dsub
            putfield javafx.scene.transform.Rotate$MatrixCache.tx:D
        47: .line 908
            aload 0 /* this */
            dload 18 /* axisY */
            dload 16 /* axisX */
            dmul
            dconst_1
            dload 14 /* cos */
            dsub
            dmul
            dload 20 /* axisZ */
            dload 12 /* sin */
            dmul
            dadd
            putfield javafx.scene.transform.Rotate$MatrixCache.myx:D
        48: .line 909
            aload 0 /* this */
            dload 14 /* cos */
            dload 18 /* axisY */
            dload 18 /* axisY */
            dmul
            dconst_1
            dload 14 /* cos */
            dsub
            dmul
            dadd
            putfield javafx.scene.transform.Rotate$MatrixCache.myy:D
        49: .line 910
            aload 0 /* this */
            dload 18 /* axisY */
            dload 20 /* axisZ */
            dmul
            dconst_1
            dload 14 /* cos */
            dsub
            dmul
            dload 16 /* axisX */
            dload 12 /* sin */
            dmul
            dsub
            putfield javafx.scene.transform.Rotate$MatrixCache.myz:D
        50: .line 911
            aload 0 /* this */
            dload 6 /* py */
            dconst_1
            aload 0 /* this */
            getfield javafx.scene.transform.Rotate$MatrixCache.myy:D
            dsub
            dmul
            dload 4 /* px */
            aload 0 /* this */
            getfield javafx.scene.transform.Rotate$MatrixCache.myx:D
            dmul
            dsub
            dload 8 /* pz */
            aload 0 /* this */
            getfield javafx.scene.transform.Rotate$MatrixCache.myz:D
            dmul
            dsub
            putfield javafx.scene.transform.Rotate$MatrixCache.ty:D
        51: .line 913
            aload 0 /* this */
            dload 20 /* axisZ */
            dload 16 /* axisX */
            dmul
            dconst_1
            dload 14 /* cos */
            dsub
            dmul
            dload 18 /* axisY */
            dload 12 /* sin */
            dmul
            dsub
            putfield javafx.scene.transform.Rotate$MatrixCache.mzx:D
        52: .line 914
            aload 0 /* this */
            dload 20 /* axisZ */
            dload 18 /* axisY */
            dmul
            dconst_1
            dload 14 /* cos */
            dsub
            dmul
            dload 16 /* axisX */
            dload 12 /* sin */
            dmul
            dadd
            putfield javafx.scene.transform.Rotate$MatrixCache.mzy:D
        53: .line 915
            aload 0 /* this */
            dload 14 /* cos */
            dload 20 /* axisZ */
            dload 20 /* axisZ */
            dmul
            dconst_1
            dload 14 /* cos */
            dsub
            dmul
            dadd
            putfield javafx.scene.transform.Rotate$MatrixCache.mzz:D
        54: .line 916
            aload 0 /* this */
            dload 8 /* pz */
            dconst_1
            aload 0 /* this */
            getfield javafx.scene.transform.Rotate$MatrixCache.mzz:D
            dsub
            dmul
            dload 4 /* px */
            aload 0 /* this */
            getfield javafx.scene.transform.Rotate$MatrixCache.mzx:D
            dmul
            dsub
            dload 6 /* py */
            aload 0 /* this */
            getfield javafx.scene.transform.Rotate$MatrixCache.mzy:D
            dmul
            dsub
            putfield javafx.scene.transform.Rotate$MatrixCache.tz:D
        55: .line 918
            aload 0 /* this */
            iconst_1
            putfield javafx.scene.transform.Rotate$MatrixCache.valid:Z
        56: .line 919
            return
        end local 20 // double axisZ
        end local 18 // double axisY
        end local 16 // double axisX
        end local 14 // double cos
        end local 12 // double sin
        end local 10 // double rads
        end local 8 // double pz
        end local 6 // double py
        end local 4 // double px
        end local 3 // javafx.geometry.Point3D axis
        end local 1 // double angle
        end local 0 // javafx.scene.transform.Rotate$MatrixCache this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   57     0   this  Ljavafx/scene/transform/Rotate$MatrixCache;
            0   57     1  angle  D
            0   57     3   axis  Ljavafx/geometry/Point3D;
            0   57     4     px  D
            0   57     6     py  D
            0   57     8     pz  D
            1   57    10   rads  D
            2   57    12    sin  D
            3   57    14    cos  D
           26   29    16  axisX  D
           41   57    16  axisX  D
           27   29    18  axisY  D
           42   57    18  axisY  D
           28   29    20  axisZ  D
           43   57    20  axisZ  D
           34   43    22    mag  D
    MethodParameters:
       Name  Flags
      angle  
      axis   
      px     
      py     
      pz     

  public void invalidate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javafx.scene.transform.Rotate$MatrixCache this
         0: .line 922
            aload 0 /* this */
            iconst_0
            putfield javafx.scene.transform.Rotate$MatrixCache.valid:Z
         1: .line 923
            return
        end local 0 // javafx.scene.transform.Rotate$MatrixCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavafx/scene/transform/Rotate$MatrixCache;
}
SourceFile: "Rotate.java"
NestHost: javafx.scene.transform.Rotate
InnerClasses:
  private MatrixCache = javafx.scene.transform.Rotate$MatrixCache of javafx.scene.transform.Rotate