1:45 PM 11/12/2025 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!
Warning: Undefined variable $authorization in C:\xampp\htdocs\demo\fi.php on line 57

Warning: Undefined variable $translation in C:\xampp\htdocs\demo\fi.php on line 118

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\demo\fi.php on line 119

Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\xampp\htdocs\demo\fi.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 247

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
// Copyright (c) 1998-2021 // Utrecht University (The Netherlands), // ETH Zurich (Switzerland), // INRIA Sophia-Antipolis (France), // Max-Planck-Institute Saarbruecken (Germany), // and Tel-Aviv University (Israel). All rights reserved. // // This file is part of CGAL (www.cgal.org) // // $URL: https://github.com/CGAL/cgal/blob/v6.1/Distance_3/include/CGAL/Distance_3/Point_3_Tetrahedron_3.h $ // $Id: include/CGAL/Distance_3/Point_3_Tetrahedron_3.h b26b07a1242 $ // SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial // // // Author(s) : Andreas Fabri #ifndef CGAL_DISTANCE_3_POINT_3_TETRAHEDRON_3_H #define CGAL_DISTANCE_3_POINT_3_TETRAHEDRON_3_H #include #include #include namespace CGAL { namespace internal { template inline typename K::FT squared_distance(const typename K::Point_3& pt, const typename K::Tetrahedron_3& tet, const K& k) { typedef typename K::Point_3 Point_3; typename K::Construct_vertex_3 vertex = k.construct_vertex_3_object(); typename K::Orientation_3 orientation = k.orientation_3_object(); bool on_bounded_side = true; const Point_3& t0 = vertex(tet, 0); const Point_3& t1 = vertex(tet, 1); const Point_3& t2 = vertex(tet, 2); const Point_3& t3 = vertex(tet, 3); Orientation ori_tet = orientation(t0,t1,t2,t3); if(ori_tet==COPLANAR){ //Degen Tetrahedron //Get the minimum of three triangles (no need to test the fourth) bool inside = false; typename K::FT dmin = squared_distance_to_triangle(pt, t0, t1, t2, k, inside); if(inside) return dmin; typename K::FT d = squared_distance_to_triangle(pt, t0, t1, t3, k, inside); if(inside) return d; dmin=(std::min)(d,dmin); d = squared_distance_to_triangle(pt, t0, t2, t3, k, inside); return (std::min)(d,dmin); } bool dmin_initialized = false; //dmin_initialized and !on_bounded_side have always the samed value typename K::FT dmin; bool inside = false; if(orientation(pt, t0,t1,t2) == ori_tet) { on_bounded_side = false; dmin = squared_distance_to_triangle(pt, t0, t1, t2, k, inside); dmin_initialized = true; if(inside) return dmin; } if(orientation(pt, t0,t3,t1) == ori_tet) { on_bounded_side = false; const typename K::FT d = squared_distance_to_triangle(pt, t0, t3, t1, k, inside); if(inside) return d; if(!dmin_initialized) { dmin = d; dmin_initialized = true; } else { dmin = (std::min)(d, dmin); } } if(orientation(pt, t1,t3,t2) == ori_tet) { on_bounded_side = false; const typename K::FT d = squared_distance_to_triangle(pt, t1, t3, t2, k, inside); if(inside) return d; if(!dmin_initialized) { dmin = d; dmin_initialized = true; } else { dmin = (std::min)(d, dmin); } } if(orientation(pt, t2,t3,t0) == ori_tet) { on_bounded_side = false; const typename K::FT d = squared_distance_to_triangle(pt, t2, t3, t0, k, inside); if(inside) return d; if(!dmin_initialized) { dmin = d; dmin_initialized = true; } else { dmin = (std::min)(d, dmin); } } if(on_bounded_side) return typename K::FT(0); return dmin; } template inline typename K::FT squared_distance(const typename K::Tetrahedron_3& tet, const typename K::Point_3& pt, const K& k) { return squared_distance(pt, tet, k); } template typename K::Comparison_result compare_squared_distance(const typename K::Point_3& pt, const typename K::Tetrahedron_3& tet, const K& k, const typename K::FT& d2) { typedef typename K::Point_3 Point_3; typename K::Construct_vertex_3 vertex = k.construct_vertex_3_object(); typename K::Orientation_3 orientation = k.orientation_3_object(); /* The content of this function is very similar with the one above, the difference is we can exit earlier if we found a triangle closer than d or plane farther than d since we do not need the exact distance. (there are also early exits in calling functions) */ bool on_bounded_side = true; bool inside_or_far_to_the_plane = false; const Point_3& t0 = vertex(tet, 0); const Point_3& t1 = vertex(tet, 1); const Point_3& t2 = vertex(tet, 2); const Point_3& t3 = vertex(tet, 3); Orientation ori_tet = orientation(t0,t1,t2,t3); if(ori_tet==COPLANAR){ //Degen Tetrahedron //Get the minimum of three triangles (no need to test the fourth) typename K::Comparison_result res = compare_squared_distance_to_triangle(pt, t0, t1, t2, k, d2, inside_or_far_to_the_plane); if(inside_or_far_to_the_plane) return res; typename K::Comparison_result temp_res = compare_squared_distance_to_triangle(pt, t0, t1, t3, k, d2, inside_or_far_to_the_plane); if(inside_or_far_to_the_plane) return temp_res; res=smaller_of(res,temp_res); temp_res = compare_squared_distance_to_triangle(pt, t0, t2, t3, k, d2, inside_or_far_to_the_plane); return smaller_of(res,temp_res); } typename K::Comparison_result res=LARGER; if(orientation(pt, t0,t1,t2) == ori_tet) { on_bounded_side = false; res = compare_squared_distance_to_triangle(pt, t0, t1, t2, k, d2, inside_or_far_to_the_plane); if(inside_or_far_to_the_plane || res==SMALLER) return res; } if(orientation(pt, t0,t3,t1) == ori_tet) { on_bounded_side = false; const typename K::Comparison_result temp_res = compare_squared_distance_to_triangle(pt, t0, t3, t1, k, d2, inside_or_far_to_the_plane); if(inside_or_far_to_the_plane || temp_res==SMALLER) return temp_res; res = smaller_of(res, temp_res); } if(orientation(pt, t1,t3,t2) == ori_tet) { on_bounded_side = false; const typename K::Comparison_result temp_res = compare_squared_distance_to_triangle(pt, t1, t3, t2, k, d2, inside_or_far_to_the_plane); if(inside_or_far_to_the_plane || temp_res==SMALLER) return temp_res; res = smaller_of(res, temp_res); } if(orientation(pt, t2,t3,t0) == ori_tet) { on_bounded_side = false; const typename K::Comparison_result temp_res = compare_squared_distance_to_triangle(pt, t2, t3, t0, k, d2, inside_or_far_to_the_plane); if(inside_or_far_to_the_plane || temp_res==SMALLER) return temp_res; res = smaller_of(res, temp_res); } if(on_bounded_side) return ::CGAL::compare(typename K::FT(0),d2); return res; } template inline typename K::Comparison_result compare_squared_distance(const typename K::Tetrahedron_3& tet, const typename K::Point_3& pt, const K& k, const typename K::FT& d2) { return compare_squared_distance(pt, tet, k, d2); } } // namespace internal } // namespace CGAL #endif // CGAL_DISTANCE_3_POINT_3_TETRAHEDRON_3_H