public class org.apache.commons.math3.geometry.euclidean.threed.Line implements org.apache.commons.math3.geometry.partitioning.Embedding<org.apache.commons.math3.geometry.euclidean.threed.Euclidean3D, org.apache.commons.math3.geometry.euclidean.oned.Euclidean1D>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.math3.geometry.euclidean.threed.Line
  super_class: java.lang.Object
{
  private static final double DEFAULT_TOLERANCE;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1.0E-10

  private org.apache.commons.math3.geometry.euclidean.threed.Vector3D direction;
    descriptor: Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.commons.math3.geometry.euclidean.threed.Vector3D zero;
    descriptor: Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    flags: (0x0002) ACC_PRIVATE

  private final double tolerance;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.apache.commons.math3.geometry.euclidean.threed.Vector3D, org.apache.commons.math3.geometry.euclidean.threed.Vector3D, double);
    descriptor: (Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p1
        start local 2 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p2
        start local 3 // double tolerance
         0: .line 62
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 64
            aload 0 /* this */
            aload 1 /* p1 */
            aload 2 /* p2 */
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Line.reset:(Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)V
         2: .line 65
            aload 0 /* this */
            dload 3 /* tolerance */
            putfield org.apache.commons.math3.geometry.euclidean.threed.Line.tolerance:D
         3: .line 66
            return
        end local 3 // double tolerance
        end local 2 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p2
        end local 1 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p1
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    4     1         p1  Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            0    4     2         p2  Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            0    4     3  tolerance  D
    Exceptions:
      throws org.apache.commons.math3.exception.MathIllegalArgumentException
    MethodParameters:
           Name  Flags
      p1         final
      p2         final
      tolerance  final

  public void <init>(org.apache.commons.math3.geometry.euclidean.threed.Line);
    descriptor: (Lorg/apache/commons/math3/geometry/euclidean/threed/Line;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // org.apache.commons.math3.geometry.euclidean.threed.Line line
         0: .line 73
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 74
            aload 0 /* this */
            aload 1 /* line */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            putfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
         2: .line 75
            aload 0 /* this */
            aload 1 /* line */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.zero:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            putfield org.apache.commons.math3.geometry.euclidean.threed.Line.zero:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
         3: .line 76
            aload 0 /* this */
            aload 1 /* line */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.tolerance:D
            putfield org.apache.commons.math3.geometry.euclidean.threed.Line.tolerance:D
         4: .line 77
            return
        end local 1 // org.apache.commons.math3.geometry.euclidean.threed.Line line
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    5     1  line  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
    MethodParameters:
      Name  Flags
      line  final

  public void <init>(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=5, locals=3, args_size=3
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p1
        start local 2 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p2
         0: .line 87
            aload 0 /* this */
            aload 1 /* p1 */
            aload 2 /* p2 */
            ldc 1.0E-10
            invokespecial org.apache.commons.math3.geometry.euclidean.threed.Line.<init>:(Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;D)V
         1: .line 88
            return
        end local 2 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p2
        end local 1 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p1
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    2     1    p1  Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            0    2     2    p2  Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    Exceptions:
      throws org.apache.commons.math3.exception.MathIllegalArgumentException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      p1    final
      p2    final

  public void reset(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=10, locals=6, args_size=3
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p1
        start local 2 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p2
         0: .line 96
            aload 2 /* p2 */
            aload 1 /* p1 */
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.subtract:(Lorg/apache/commons/math3/geometry/Vector;)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            astore 3 /* delta */
        start local 3 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D delta
         1: .line 97
            aload 3 /* delta */
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.getNormSq:()D
            dstore 4 /* norm2 */
        start local 4 // double norm2
         2: .line 98
            dload 4 /* norm2 */
            dconst_0
            dcmpl
            ifne 4
         3: .line 99
            new org.apache.commons.math3.exception.MathIllegalArgumentException
            dup
            getstatic org.apache.commons.math3.exception.util.LocalizedFormats.ZERO_NORM: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
         4: .line 101
      StackMap locals: org.apache.commons.math3.geometry.euclidean.threed.Vector3D double
      StackMap stack:
            aload 0 /* this */
            new org.apache.commons.math3.geometry.euclidean.threed.Vector3D
            dup
            dconst_1
            dload 4 /* norm2 */
            invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
            ddiv
            aload 3 /* delta */
            invokespecial org.apache.commons.math3.geometry.euclidean.threed.Vector3D.<init>:(DLorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)V
            putfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
         5: .line 102
            aload 0 /* this */
            new org.apache.commons.math3.geometry.euclidean.threed.Vector3D
            dup
            dconst_1
            aload 1 /* p1 */
            aload 1 /* p1 */
            aload 3 /* delta */
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.dotProduct:(Lorg/apache/commons/math3/geometry/Vector;)D
            dneg
            dload 4 /* norm2 */
            ddiv
            aload 3 /* delta */
            invokespecial org.apache.commons.math3.geometry.euclidean.threed.Vector3D.<init>:(DLorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;DLorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)V
            putfield org.apache.commons.math3.geometry.euclidean.threed.Line.zero:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
         6: .line 103
            return
        end local 4 // double norm2
        end local 3 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D delta
        end local 2 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p2
        end local 1 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p1
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    7     1     p1  Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            0    7     2     p2  Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            1    7     3  delta  Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            2    7     4  norm2  D
    Exceptions:
      throws org.apache.commons.math3.exception.MathIllegalArgumentException
    MethodParameters:
      Name  Flags
      p1    final
      p2    final

  public double getTolerance();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
         0: .line 110
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.tolerance:D
            dreturn
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;

  public org.apache.commons.math3.geometry.euclidean.threed.Line revert();
    descriptor: ()Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
         0: .line 117
            new org.apache.commons.math3.geometry.euclidean.threed.Line
            dup
            aload 0 /* this */
            invokespecial org.apache.commons.math3.geometry.euclidean.threed.Line.<init>:(Lorg/apache/commons/math3/geometry/euclidean/threed/Line;)V
            astore 1 /* reverted */
        start local 1 // org.apache.commons.math3.geometry.euclidean.threed.Line reverted
         1: .line 118
            aload 1 /* reverted */
            aload 1 /* reverted */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.negate:()Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            putfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
         2: .line 119
            aload 1 /* reverted */
            areturn
        end local 1 // org.apache.commons.math3.geometry.euclidean.threed.Line reverted
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            1    3     1  reverted  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;

  public org.apache.commons.math3.geometry.euclidean.threed.Vector3D getDirection();
    descriptor: ()Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
         0: .line 126
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            areturn
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;

  public org.apache.commons.math3.geometry.euclidean.threed.Vector3D getOrigin();
    descriptor: ()Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
         0: .line 133
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.zero:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            areturn
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;

  public double getAbscissa(org.apache.commons.math3.geometry.euclidean.threed.Vector3D);
    descriptor: (Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D point
         0: .line 144
            aload 1 /* point */
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.zero:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.subtract:(Lorg/apache/commons/math3/geometry/Vector;)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.dotProduct:(Lorg/apache/commons/math3/geometry/Vector;)D
            dreturn
        end local 1 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D point
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    1     1  point  Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    MethodParameters:
       Name  Flags
      point  final

  public org.apache.commons.math3.geometry.euclidean.threed.Vector3D pointAt(double);
    descriptor: (D)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // double abscissa
         0: .line 152
            new org.apache.commons.math3.geometry.euclidean.threed.Vector3D
            dup
            dconst_1
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.zero:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            dload 1 /* abscissa */
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokespecial org.apache.commons.math3.geometry.euclidean.threed.Vector3D.<init>:(DLorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;DLorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)V
            areturn
        end local 1 // double abscissa
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    1     1  abscissa  D
    MethodParameters:
          Name  Flags
      abscissa  final

  public org.apache.commons.math3.geometry.euclidean.oned.Vector1D toSubSpace(org.apache.commons.math3.geometry.Vector<org.apache.commons.math3.geometry.euclidean.threed.Euclidean3D>);
    descriptor: (Lorg/apache/commons/math3/geometry/Vector;)Lorg/apache/commons/math3/geometry/euclidean/oned/Vector1D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // org.apache.commons.math3.geometry.Vector vector
         0: .line 161
            aload 0 /* this */
            aload 1 /* vector */
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Line.toSubSpace:(Lorg/apache/commons/math3/geometry/Point;)Lorg/apache/commons/math3/geometry/euclidean/oned/Vector1D;
            areturn
        end local 1 // org.apache.commons.math3.geometry.Vector vector
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    1     1  vector  Lorg/apache/commons/math3/geometry/Vector<Lorg/apache/commons/math3/geometry/euclidean/threed/Euclidean3D;>;
    Signature: (Lorg/apache/commons/math3/geometry/Vector<Lorg/apache/commons/math3/geometry/euclidean/threed/Euclidean3D;>;)Lorg/apache/commons/math3/geometry/euclidean/oned/Vector1D;
    MethodParameters:
        Name  Flags
      vector  

  public org.apache.commons.math3.geometry.euclidean.threed.Vector3D toSpace(org.apache.commons.math3.geometry.Vector<org.apache.commons.math3.geometry.euclidean.oned.Euclidean1D>);
    descriptor: (Lorg/apache/commons/math3/geometry/Vector;)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // org.apache.commons.math3.geometry.Vector vector
         0: .line 170
            aload 0 /* this */
            aload 1 /* vector */
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Line.toSpace:(Lorg/apache/commons/math3/geometry/Point;)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            areturn
        end local 1 // org.apache.commons.math3.geometry.Vector vector
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    1     1  vector  Lorg/apache/commons/math3/geometry/Vector<Lorg/apache/commons/math3/geometry/euclidean/oned/Euclidean1D;>;
    Signature: (Lorg/apache/commons/math3/geometry/Vector<Lorg/apache/commons/math3/geometry/euclidean/oned/Euclidean1D;>;)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    MethodParameters:
        Name  Flags
      vector  

  public org.apache.commons.math3.geometry.euclidean.oned.Vector1D toSubSpace(org.apache.commons.math3.geometry.Point<org.apache.commons.math3.geometry.euclidean.threed.Euclidean3D>);
    descriptor: (Lorg/apache/commons/math3/geometry/Point;)Lorg/apache/commons/math3/geometry/euclidean/oned/Vector1D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // org.apache.commons.math3.geometry.Point point
         0: .line 177
            new org.apache.commons.math3.geometry.euclidean.oned.Vector1D
            dup
            aload 0 /* this */
            aload 1 /* point */
            checkcast org.apache.commons.math3.geometry.euclidean.threed.Vector3D
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Line.getAbscissa:(Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)D
            invokespecial org.apache.commons.math3.geometry.euclidean.oned.Vector1D.<init>:(D)V
            areturn
        end local 1 // org.apache.commons.math3.geometry.Point point
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    1     1  point  Lorg/apache/commons/math3/geometry/Point<Lorg/apache/commons/math3/geometry/euclidean/threed/Euclidean3D;>;
    Signature: (Lorg/apache/commons/math3/geometry/Point<Lorg/apache/commons/math3/geometry/euclidean/threed/Euclidean3D;>;)Lorg/apache/commons/math3/geometry/euclidean/oned/Vector1D;
    MethodParameters:
       Name  Flags
      point  final

  public org.apache.commons.math3.geometry.euclidean.threed.Vector3D toSpace(org.apache.commons.math3.geometry.Point<org.apache.commons.math3.geometry.euclidean.oned.Euclidean1D>);
    descriptor: (Lorg/apache/commons/math3/geometry/Point;)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // org.apache.commons.math3.geometry.Point point
         0: .line 184
            aload 0 /* this */
            aload 1 /* point */
            checkcast org.apache.commons.math3.geometry.euclidean.oned.Vector1D
            invokevirtual org.apache.commons.math3.geometry.euclidean.oned.Vector1D.getX:()D
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Line.pointAt:(D)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            areturn
        end local 1 // org.apache.commons.math3.geometry.Point point
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    1     1  point  Lorg/apache/commons/math3/geometry/Point<Lorg/apache/commons/math3/geometry/euclidean/oned/Euclidean1D;>;
    Signature: (Lorg/apache/commons/math3/geometry/Point<Lorg/apache/commons/math3/geometry/euclidean/oned/Euclidean1D;>;)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    MethodParameters:
       Name  Flags
      point  final

  public boolean isSimilarTo(org.apache.commons.math3.geometry.euclidean.threed.Line);
    descriptor: (Lorg/apache/commons/math3/geometry/euclidean/threed/Line;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // org.apache.commons.math3.geometry.euclidean.threed.Line line
         0: .line 195
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            aload 1 /* line */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokestatic org.apache.commons.math3.geometry.euclidean.threed.Vector3D.angle:(Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)D
            dstore 2 /* angle */
        start local 2 // double angle
         1: .line 196
            dload 2 /* angle */
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.tolerance:D
            dcmpg
            iflt 2
            dload 2 /* angle */
            ldc 3.141592653589793
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.tolerance:D
            dsub
            dcmpl
            ifle 3
      StackMap locals: double
      StackMap stack:
         2: aload 0 /* this */
            aload 1 /* line */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.zero:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Line.contains:(Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)Z
            ifeq 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // double angle
        end local 1 // org.apache.commons.math3.geometry.euclidean.threed.Line line
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    4     1   line  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            1    4     2  angle  D
    MethodParameters:
      Name  Flags
      line  final

  public boolean contains(org.apache.commons.math3.geometry.euclidean.threed.Vector3D);
    descriptor: (Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p
         0: .line 204
            aload 0 /* this */
            aload 1 /* p */
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Line.distance:(Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)D
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.tolerance:D
            dcmpg
            ifge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    2     1     p  Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    MethodParameters:
      Name  Flags
      p     final

  public double distance(org.apache.commons.math3.geometry.euclidean.threed.Vector3D);
    descriptor: (Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=2
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p
         0: .line 212
            aload 1 /* p */
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.zero:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.subtract:(Lorg/apache/commons/math3/geometry/Vector;)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            astore 2 /* d */
        start local 2 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D d
         1: .line 213
            new org.apache.commons.math3.geometry.euclidean.threed.Vector3D
            dup
            dconst_1
            aload 2 /* d */
            aload 2 /* d */
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.dotProduct:(Lorg/apache/commons/math3/geometry/Vector;)D
            dneg
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokespecial org.apache.commons.math3.geometry.euclidean.threed.Vector3D.<init>:(DLorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;DLorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)V
            astore 3 /* n */
        start local 3 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D n
         2: .line 214
            aload 3 /* n */
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.getNorm:()D
            dreturn
        end local 3 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D n
        end local 2 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D d
        end local 1 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D p
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    3     1     p  Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            1    3     2     d  Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            2    3     3     n  Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    MethodParameters:
      Name  Flags
      p     final

  public double distance(org.apache.commons.math3.geometry.euclidean.threed.Line);
    descriptor: (Lorg/apache/commons/math3/geometry/euclidean/threed/Line;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // org.apache.commons.math3.geometry.euclidean.threed.Line line
         0: .line 223
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            aload 1 /* line */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            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;
            astore 2 /* normal */
        start local 2 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D normal
         1: .line 224
            aload 2 /* normal */
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.getNorm:()D
            dstore 3 /* n */
        start local 3 // double n
         2: .line 225
            dload 3 /* n */
            getstatic org.apache.commons.math3.util.Precision.SAFE_MIN:D
            dcmpg
            ifge 4
         3: .line 227
            aload 0 /* this */
            aload 1 /* line */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.zero:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Line.distance:(Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)D
            dreturn
         4: .line 231
      StackMap locals: org.apache.commons.math3.geometry.euclidean.threed.Vector3D double
      StackMap stack:
            aload 1 /* line */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.zero:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.zero:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.subtract:(Lorg/apache/commons/math3/geometry/Vector;)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            aload 2 /* normal */
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.dotProduct:(Lorg/apache/commons/math3/geometry/Vector;)D
            dload 3 /* n */
            ddiv
            dstore 5 /* offset */
        start local 5 // double offset
         5: .line 233
            dload 5 /* offset */
            invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
            dreturn
        end local 5 // double offset
        end local 3 // double n
        end local 2 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D normal
        end local 1 // org.apache.commons.math3.geometry.euclidean.threed.Line line
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    6     1    line  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            1    6     2  normal  Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            2    6     3       n  D
            5    6     5  offset  D
    MethodParameters:
      Name  Flags
      line  final

  public org.apache.commons.math3.geometry.euclidean.threed.Vector3D closestPoint(org.apache.commons.math3.geometry.euclidean.threed.Line);
    descriptor: (Lorg/apache/commons/math3/geometry/euclidean/threed/Line;)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=11, args_size=2
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // org.apache.commons.math3.geometry.euclidean.threed.Line line
         0: .line 243
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            aload 1 /* line */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.dotProduct:(Lorg/apache/commons/math3/geometry/Vector;)D
            dstore 2 /* cos */
        start local 2 // double cos
         1: .line 244
            dconst_1
            dload 2 /* cos */
            dload 2 /* cos */
            dmul
            dsub
            dstore 4 /* n */
        start local 4 // double n
         2: .line 245
            dload 4 /* n */
            getstatic org.apache.commons.math3.util.Precision.EPSILON:D
            dcmpg
            ifge 4
         3: .line 247
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.zero:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            areturn
         4: .line 250
      StackMap locals: double double
      StackMap stack:
            aload 1 /* line */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.zero:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.zero:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.subtract:(Lorg/apache/commons/math3/geometry/Vector;)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            astore 6 /* delta0 */
        start local 6 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D delta0
         5: .line 251
            aload 6 /* delta0 */
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.dotProduct:(Lorg/apache/commons/math3/geometry/Vector;)D
            dstore 7 /* a */
        start local 7 // double a
         6: .line 252
            aload 6 /* delta0 */
            aload 1 /* line */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Vector3D.dotProduct:(Lorg/apache/commons/math3/geometry/Vector;)D
            dstore 9 /* b */
        start local 9 // double b
         7: .line 254
            new org.apache.commons.math3.geometry.euclidean.threed.Vector3D
            dup
            dconst_1
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.zero:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            dload 7 /* a */
            dload 9 /* b */
            dload 2 /* cos */
            dmul
            dsub
            dload 4 /* n */
            ddiv
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.direction:Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            invokespecial org.apache.commons.math3.geometry.euclidean.threed.Vector3D.<init>:(DLorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;DLorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)V
            areturn
        end local 9 // double b
        end local 7 // double a
        end local 6 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D delta0
        end local 4 // double n
        end local 2 // double cos
        end local 1 // org.apache.commons.math3.geometry.euclidean.threed.Line line
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    8     1    line  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            1    8     2     cos  D
            2    8     4       n  D
            5    8     6  delta0  Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            6    8     7       a  D
            7    8     9       b  D
    MethodParameters:
      Name  Flags
      line  final

  public org.apache.commons.math3.geometry.euclidean.threed.Vector3D intersection(org.apache.commons.math3.geometry.euclidean.threed.Line);
    descriptor: (Lorg/apache/commons/math3/geometry/euclidean/threed/Line;)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
        start local 1 // org.apache.commons.math3.geometry.euclidean.threed.Line line
         0: .line 264
            aload 0 /* this */
            aload 1 /* line */
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Line.closestPoint:(Lorg/apache/commons/math3/geometry/euclidean/threed/Line;)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            astore 2 /* closest */
        start local 2 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D closest
         1: .line 265
            aload 1 /* line */
            aload 2 /* closest */
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Line.contains:(Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)Z
            ifeq 2
            aload 2 /* closest */
            goto 3
      StackMap locals: org.apache.commons.math3.geometry.euclidean.threed.Vector3D
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: org.apache.commons.math3.geometry.euclidean.threed.Vector3D
         3: areturn
        end local 2 // org.apache.commons.math3.geometry.euclidean.threed.Vector3D closest
        end local 1 // org.apache.commons.math3.geometry.euclidean.threed.Line line
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            0    4     1     line  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;
            1    4     2  closest  Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
    MethodParameters:
      Name  Flags
      line  final

  public org.apache.commons.math3.geometry.euclidean.threed.SubLine wholeLine();
    descriptor: ()Lorg/apache/commons/math3/geometry/euclidean/threed/SubLine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
         0: .line 272
            new org.apache.commons.math3.geometry.euclidean.threed.SubLine
            dup
            aload 0 /* this */
            new org.apache.commons.math3.geometry.euclidean.oned.IntervalsSet
            dup
            aload 0 /* this */
            getfield org.apache.commons.math3.geometry.euclidean.threed.Line.tolerance:D
            invokespecial org.apache.commons.math3.geometry.euclidean.oned.IntervalsSet.<init>:(D)V
            invokespecial org.apache.commons.math3.geometry.euclidean.threed.SubLine.<init>:(Lorg/apache/commons/math3/geometry/euclidean/threed/Line;Lorg/apache/commons/math3/geometry/euclidean/oned/IntervalsSet;)V
            areturn
        end local 0 // org.apache.commons.math3.geometry.euclidean.threed.Line this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/geometry/euclidean/threed/Line;

  public org.apache.commons.math3.geometry.Point toSubSpace(org.apache.commons.math3.geometry.Point);
    descriptor: (Lorg/apache/commons/math3/geometry/Point;)Lorg/apache/commons/math3/geometry/Point;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.commons.math3.geometry.Point
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Line.toSubSpace:(Lorg/apache/commons/math3/geometry/Point;)Lorg/apache/commons/math3/geometry/euclidean/oned/Vector1D;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.apache.commons.math3.geometry.Point toSpace(org.apache.commons.math3.geometry.Point);
    descriptor: (Lorg/apache/commons/math3/geometry/Point;)Lorg/apache/commons/math3/geometry/Point;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.commons.math3.geometry.Point
            invokevirtual org.apache.commons.math3.geometry.euclidean.threed.Line.toSpace:(Lorg/apache/commons/math3/geometry/Point;)Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lorg/apache/commons/math3/geometry/partitioning/Embedding<Lorg/apache/commons/math3/geometry/euclidean/threed/Euclidean3D;Lorg/apache/commons/math3/geometry/euclidean/oned/Euclidean1D;>;
SourceFile: "Line.java"