�������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�[�\�����}�~/�p012�t����3�w4�t�java/lang/Math5��6784�r9,:;<�[=�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 kkc��=9o 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���������