�������4B
�U��
���	�.��	�.����
���
���
���
���
�������
���
���
�����
���
���
���
���
���
�.��
���
���
�.��
�9��
�9��
�H��
�H��	�H�����������
����
���
���
����
���
���
����	����
���
���
�N��
�����
�N��
�.��
�.��
�H��
�N��
�N��
���
�.��
�H��
�����?�!�TD-
���
�9��
�9��@!�TD-
���
���
�.��
���
���
���
�.����
�H��
����
�.��
����
�.�
�N
�
�9
�9
���
��normal�LProGAL/geom3d/Vector;�point�LProGAL/geom3d/Point;�<init>�.(LProGAL/geom3d/Point;LProGAL/geom3d/Vector;)V�Code�LineNumberTable�LocalVariableTable�this�LProGAL/geom3d/Plane;�p�n�(LProGAL/geom3d/Vector;)V�(LProGAL/geom3d/Vector;D)V�d�D�B(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;)V�q�r�
StackMapTable�����-(LProGAL/geom3d/Point;LProGAL/geom3d/Point;)V�getD�()D�getPoint�()LProGAL/geom3d/Point;�	getNormal�()LProGAL/geom3d/Vector;�	setNormal�projectPoint�,(LProGAL/geom3d/Point;)LProGAL/geom3d/Point;�t�above�(LProGAL/geom3d/Point;)I�dotP�below�getDistance�(LProGAL/geom3d/Point;)D�getUnsignedDihedralAngle�(LProGAL/geom3d/Plane;)D�getIntersection�+(LProGAL/geom3d/Line;)LProGAL/geom3d/Point;�a�pa�u�line�LProGAL/geom3d/Line;�denom�getIntersectionParameter�(LProGAL/geom3d/Line;)D�2(LProGAL/geom3d/LineSegment;)LProGAL/geom3d/Point;�sgm�LProGAL/geom3d/LineSegment;�dist0�dist1�x�cos���getIntersectionAngle�U(LProGAL/geom3d/Circle;LProGAL/geom3d/Point;LProGAL/geom3d/Vector;)Ljava/lang/Double;�circle�LProGAL/geom3d/Circle;�dir�nC�circlePlane�dist���.(LProGAL/geom3d/Circle;)[LProGAL/geom3d/Point;�D(LProGAL/geom3d/Circle;LProGAL/geom3d/Vector;)[LProGAL/geom3d/Point;�	intPoints�[LProGAL/geom3d/Point;�v�cp�b�c�alpha1�alpha2�t1�t2�
intVectors�[LProGAL/geom3d/Vector;�+(LProGAL/geom3d/Plane;)LProGAL/geom3d/Line;�pl�h1�h2�dd�c1�c2�6(LProGAL/geom3d/volumes/Sphere;)LProGAL/geom3d/Circle;�sphere�LProGAL/geom3d/volumes/Sphere;�rad�center�	getCenter�m�/(LProGAL/geom3d/Vector;D)LProGAL/geom3d/Vector;�beta�-(LProGAL/geom3d/Point;D)LProGAL/geom3d/Point;�q0�
SourceFile�
Plane.java�[	
�t�W�X�Y�Z�ProGAL/geom3d/Point�[���p�p
�p�java/lang/Error�*Cant construct plane: Points are collinear�[�ProGAL/geom3d/Vector�[�n�o�p�t�y�z�t�r���X�java/lang/Double �r!�w�~"�r#�~$%&'()�g*+!,�s�t-.�ProGAL/geom3d/Plane���r�[�\�����}�~/�p012�t����3�w4�t�java/lang/Math5��6784�r9,:;<�[=�q�r�ProGAL/geom3d/Line>�v�w�ProGAL/geom3d/Circle�[?@�~��A#�p�java/lang/Object�ProGAL/geom3d/Shape�()V�
normalizeThis�(DDD)V�y�z�	collinear�B(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;)Z�(Ljava/lang/String;)V�vectorTo�-(LProGAL/geom3d/Point;)LProGAL/geom3d/Vector;�	crossThis�.(LProGAL/geom3d/Vector;)LProGAL/geom3d/Vector;�getMidpoint�A(LProGAL/geom3d/Point;LProGAL/geom3d/Point;)LProGAL/geom3d/Point;�toVector�dot�(LProGAL/geom3d/Vector;)D�abs�(D)D�acos�getDir�getP�ProGAL/geom3d/LineSegment�getA�subtract�getB�distance�multiplyThis�(D)LProGAL/geomNd/Point;�ProGAL/geomNd/Point�()LProGAL/geomNd/Vector;�ProGAL/math/Constants�EPSILON�multiply�(D)LProGAL/geom3d/Vector;�-(LProGAL/geom3d/Vector;)LProGAL/geom3d/Point;�
isParallel�(LProGAL/geom3d/Vector;)Z�	getRadius�getFirstIntersection�S(LProGAL/geom3d/Line;LProGAL/geom3d/Point;LProGAL/geom3d/Vector;)Ljava/lang/Double;�getOrthonormal�orthogonalProjection�clone�rotateIn�sqrt�atan2�(DD)D�add�cross�isZeroVector�()Z�(LProGAL/geom3d/Point;)V�ProGAL/geom3d/volumes/Sphere�/(LProGAL/geom3d/Point;DLProGAL/geom3d/Vector;)V�distanceSquared�sin�!�.�U��V���W�X����Y�Z�����[�\��]���\�����*��*,����*+�������^������������� �_��� �����`�a������b�Z�����c�X���[�d��]���[�	����*��*+����*��Y���������^�������#��$��%��&�_��������`�a������c�X���[�e��]���w�����-*��*+����*��Y(w+��k(w+��k(w+��	k���������^�������+��,��-�,�.�_��� ����-�`�a�����-�c�X����-�f�g���[�h��]���������1*��+,-��
��
��Y��
�*+,��+-��������*+�������^�������8��9��:�+�;�0�<�_���*����1�`�a�����1�b�Z����1�i�Z����1�j�Z��k��������l�m�m�m����[�n��]���h�����*��*��Y+,������*+,���������^�������?��@��A��B�_��� �����`�a������b�Z�����i�Z���o�p��]���[�����1*����w*����k*����*����kg*����	*����kg�����^�������E�_�������1�`�a����q�r��]���/�����*�������^�������I�_��������`�a����s�t��]���/�����*�������^�������L�_��������`�a����u�d��]���>�����*+�������^���
����P��Q�_��������`�a������c�X���v�w��]���������^*����+��k*����+��kc*����	+��kc*��cI��Y+��*����(kg+��*����(kg+��*����	(kg�������^���
����a�,�b�_��� ����^�`�a�����^�b�Z��,�2�x�g���y�z��]���������(*��+����I*��9(w����(w���������^�������h��i��j��k�&�l�_���*����(�`�a�����(�b�Z����{�g����f�g��k������	��|�z��]���;�����*+��t�����^�������p�_��������`�a������b�Z���}�~��]���H�����*��+����*��c�������^�������s�_��������`�a������b�Z�������]���C�����*��+�����������^�������w�_��������`�a������b�a��������]���������j*��+����I(����+��:*����:*����(o9��Y��+����kg��+����kg��+����	kg�������^�������}��~�������%���2���_���>���P���Z��%�E���X��2�8���g����j�`�a�����j�������^���g��k�������������]���������7*��+����I(���� �+��:*����:*����(o9�����^������������������'���4���_���>������Z��'����X��4����g����7�`�a�����7�������+���g��k�������������]����	����*��+��"*����#��$I*��+��%*����#��$9(k����+��%+��"��#+��%+��"��&o��'��(��:*����9����)���+��%o��*��+������^���"���������'���2���U���`���l���~���_���>������`�a�������������m���g��'�Y���g��U�+���X��`� ���g��k������2��K���������]������	���O+��,:*����-�����.Y+��/��0:*��1:+��/��29+��3��)g����+,-��4�����^���������������#���+���6���F���_���R����O�`�a�����O��������O�b�Z����O���X���I���X��#�,���a��+�$������6����g��k����������1�l���������]���X�����+��,��5+��3��*M*+,��6�����^���
���������_��� �����`�a���������������X��������]�������@+��,N-*����-�����.Y+��/-��0:*��1:+��/��29+��3��)c����+��3��)g�����:+��/��7S�,��8:-�:��<W��Y+��/*����:	,*����9
*����9	*����9

kkc��=9o
o��>9o��9�?g9c9c9��:,��8S-2��<W,��8S-2��<W��:+��/��A2��BS+��/��A2��BS�����^���~������������ ���(���3���C���Q���W���d���g���m���w�����������������������������������������������������������+��=���_������W��������@�`�a����@�������@���X��;���X��  ���a��(������3
���g��m�����X��������X�	�������g�
�������g��������g������j�g����y���g����o���g����g���g����`���g����Y���g����S������'������k����������0�l��#�������]��{������*��+��C��DM,��E���*����Y*����F��J+��C��Y+��G��F��9*��+��C��9kg9	)kg	o9)kg	o9
��Y*����k
+��C��kc*����k
+��C��kc*����	k
+��C��	kc��:��HY,��I�����^���2������������(���<���I���R���^���j���������������_���f�
�����`�a���������a�������X��(�����g��<�����g��I�t���g��R�k���g�	�^�_���g��j�S���g�
����i�Z��k���������������]���������^*+��J��KI+��L9(g��)����*+��J��M:(g��)w�����NY��O���NYk+��J��Pg��=*����O�����^���������	���������&���>��_���4����^�`�a�����^������	�U���g���O���g��&�8���Z��k���
�����!�m����r��]���2�����*����A�����^�������_��������`�a���
������]���f�
����2��Y*��'��Qk*��'��Rkg*��'��Qk*��'��Rkc*��	��S�����^������
�_�������2���X�����2���g��
�i����]���R�������Y*��T'��Qk*��T'��Rk*���������^������
�_����������Z��������g���������