�������4-
�H����
���	���
���	���
�*��
���
�*��
���
�����
���
�����
���
���
�����
���
���
���
���
���
���
���
���
���
���
���
��������������������
������������
�D��
�D����
�*��
���
�D��
�D��	����
��������
�1��
���
���
���
���
���
�������
�:��
���
���
���
�D��
�D��
�D��
�D����@	!�TD-����
����
���
���
����p�LProGAL/geom3d/Point;�dir�LProGAL/geom3d/Vector;�<init>�(LProGAL/geom3d/Vector;)V�Code�LineNumberTable�LocalVariableTable�this�LProGAL/geom3d/Line;�d�.(LProGAL/geom3d/Point;LProGAL/geom3d/Vector;)V�(LProGAL/geom3d/LineSegment;)V�s�LProGAL/geom3d/LineSegment;�-(LProGAL/geom3d/Point;LProGAL/geom3d/Point;)V�p1�p2�B(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;)V�a�b�c�circle�LProGAL/geom3d/Circle;�clone�()LProGAL/geom3d/Line;�getP�()LProGAL/geom3d/Point;�getDir�()LProGAL/geom3d/Vector;�getPoint�(D)LProGAL/geom3d/Point;�t�D�orthogonalProjection�,(LProGAL/geom3d/Point;)LProGAL/geom3d/Point;�q�orthogonalProjectionParameter�(LProGAL/geom3d/Point;)D�pq�6(LProGAL/geom3d/PointList;)LProGAL/geom3d/LineSegment;�points�LProGAL/geom3d/PointList;�minT�maxT�
StackMapTable���orthogonalProjectionParameters�(LProGAL/geom3d/PointList;)[D�getDistanceSquared�getDistance�getSquaredDistance�(LProGAL/geom3d/Line;)D�l�e�r�f�dx�dy�dz���getIntersection�+(LProGAL/geom3d/Line;)LProGAL/geom3d/Point;���getMaxDistanceSquared�(LProGAL/geom3d/PointList;)D�dist�maxDist�getMaxDistance�rotate�-(LProGAL/geom3d/Point;D)LProGAL/geom3d/Point;�angle�ret�rotateIn�i�I�point�v�optimalRotation�/([LProGAL/geom3d/Point;[LProGAL/geom3d/Point;)D�O_i�fVec�rVec�sVec�rLen�moving�[LProGAL/geom3d/Point;�target�m�tanNum�tanDenom�alpha�secDeriv���toString�()Ljava/lang/String;�(I)Ljava/lang/String;�dec�()Ljava/lang/Object;�
Exceptions���
SourceFile�	Line.java�Q���ProGAL/geom3d/Point�Q���M�N���k�O�P���i�f�i���k����Q�Y�ProGAL/geom3d/Circle�Q�`�i�ProGAL/geom3d/Vector�Q�]�k�ProGAL/geom3d/Line�Q�Q�R	�s�t�l�m
�java/lang/Double
�����ProGAL/geom3d/LineSegment��t�o�java/lang/Error�No point�Q���������� !"�java/lang/RuntimeException�Lengths must match�p�q#$%&'()�java/lang/Math�Line3d[p:%s,dir:%s]�java/lang/Object*+,�����f�g�java/util/Iterator�$java/lang/CloneNotSupportedException�()V�(DDD)V�	normalize�getA�getAToB�vectorTo�-(LProGAL/geom3d/Point;)LProGAL/geom3d/Vector;�	getCenter�cross�.(LProGAL/geom3d/Vector;)LProGAL/geom3d/Vector;�
normalizeThis�(LProGAL/geomNd/Point;)V�x�()D�y�z�dot�(LProGAL/geom3d/Vector;)D�getLengthSquared�ProGAL/geom3d/PointList�iterator�()Ljava/util/Iterator;�hasNext�()Z�next�min�(DD)D�max�sqrt�(D)D�abs�ProGAL/math/Constants�EPSILON�size�()I�(Ljava/lang/String;)V�/(LProGAL/geom3d/Vector;D)LProGAL/geom3d/Vector;�get�(I)D�set�(ID)V�length�multiplyThis�(D)LProGAL/geom3d/Vector;�atan�cos�sin�signum�java/lang/String�format�9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;�!��H�����M�N����O�P�����Q�R��S���[�	����*��*��Y����*+���������T������������� �U��������V�W������X�P���Q�Y��S���\�����*��*+��*,���������T�������#��$�	�%��&�U��� �����V�W������M�N�����X�P���Q�Z��S���[�����*��*+������*+��	���������T�������,��-��.��/�U��������V�W������[�\���Q�]��S���M�����*++,��
�������T���
����3�
�4�U��� �����V�W������^�N�����_�N���Q�`��S���������6*����Y+,-��
:*����*��Y+,����Y+-�������������T�������7��8��9��:�5�;�U���4����6�V�W�����6�a�N����6�b�N����6�c�N���&�d�e���f�g��S���H�������Y��Y*������Y*�����������T�������?�U��������V�W����h�i��S���/�����*�������T�������C�U��������V�W����j�k��S���/�����*�������T�������F�U��������V�W����l�m��S���o�����;��Y*����'*����kc*����'*����kc*����'*����kc�������T�������L�U�������;�V�W�����;�n�o���p�q��S���>�����
**+���������T�������Q�U�������
�V�W�����
�r�N���s�t��S���\�����*��+��
M,*����*����o�����T���
����V�	�W�U��� �����V�W������r�N��	��u�P���p�v��S������
���S�!I�#9+��%:��&���*��'���:*��9(��(I��)9��һ�*Y*(��*����+�����T�������]�	�^�%�_�-�`�4�a�=�b�@�c�U���>��-��n�o��%��r�N����S�V�W�����S�w�x���O�y�o��	�J�z�o��{���
����|��0��}�~��S������
���M�!I�#9+��%:��&���*��'���:*��9(��(I��)9����Y(RYR�����T�������k�	�l�%�m�-�n�4�o�=�p�@�q�U���>��-��n�o��%��r�N����M�V�W�����M�w�x���I�y�o��	�D�z�o��{���
����|��0���t��S���O�����*��+*����
����*����o�����T�������v�U��������V�W������r�N�����t��S���=�����	*+��,��-�����T�������{�U�������	�V�W�����	�r�N��������S������*����I*��+����9+����9(kkg9��.��/���*+����,�+��*����
:
*��
��9+��
��9

kkgo9(
kkgo9*����*����kc+����+����kcg9*����*����kc+����+����kcg9*����*����kc+����+����kcg9kkckc�����T���:���������������*���?���L���W���b���r�������������������U��������V�W�������W����a�o�����b�o�������o��*���X�o��L�����P�
�W���c�o��b�����o�
�r���[�o������n�o����`���o����9���o�������o��{������?��������������S��_����G*����I*��+����9+����9(kkg9��.��/����+��*����
:
*��
��9+��
��9

kkgo9(
kkgo9*����*����kc+����+����kcg9*����*����kc+����+����kcg9*����*����kc+����+����kcg9kkckc��/������Y*����*����kc*����*����kc*����*����kc�������T���>���������������*���8���E���P���[���k���z��������������	���U�������G�V�W����G���W��?�a�o��2�b�o��)���o��*�X�o��E���P�
�P���c�o��[�����o�
�k���[�o��z���n�o��������o�������o����X���o��{���.���8��������������������������S���������H+��0��
��1Y2��3��#I+��%:��&���$��'���:*��,9(���I���(�����T���������������1���9���C���F���U���4��9�
���o��1��r�N����H�V�W�����H�w�x���3���o��{������	�|'���������S���=�����	*+��4��-�����T���������U�������	�V�W�����	�w�x��������S���Z�����+��:*(��5�����T���
���������U���*�����V�W������M�N�������o������N��������S���������=*��+��
:*��(��6W6�� +��7*����8c��9����+�����T���������
���������5���;���U���4���#��������=�V�W�����=���N����=���o��
�3���P��{����������"�������S���������+N,:�-���
��:Y;��<�996		-���g*-	2��=:

	2��
:
-	2��
:*������:
��>9o��?W
��kc9��kc9�	���o��@9		��Ak	��Bkc9���		��C�Ekg9		�����T���J������������������'���1���=���H���V���]���g���v�����������������������U������1�T���N�
�=�H���P��H�=���P��V�/���P�
�]�(���o�� �k�����	�����V�W������������������������������������������o�������o����+���o�	������o��{��������������j��1�������S���B�����G��HY*��SY*��S��I�����T���������U��������V�W���������S���T����� G��HY*����JSY*����KS��I�����T�������U������� �V�W����� �����A�f����S���/�����*��L�����T��������U��������V�W������������������