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) 2005 INRIA Sophia-Antipolis (France). // All rights reserved. // // This file is part of CGAL (www.cgal.org). // // $URL: https://github.com/CGAL/cgal/blob/v6.1/Stream_lines_2/include/CGAL/Regular_grid_2.h $ // $Id: include/CGAL/Regular_grid_2.h b26b07a1242 $ // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial // // // Author(s) : Abdelkrim Mebarki #ifndef CGAL_REGULAR_GRID_2_H_ #define CGAL_REGULAR_GRID_2_H_ #include #include #include #include #include namespace CGAL { // The class Regular_grid_2 provides a rectangular visualization // domain, with a vector field defined on a regular grid, and also a // bilinear interpolation to extract the vector field values template class Regular_grid_2 { public: typedef Regular_grid_2 Vector_field_2; typedef StreamLinesTraits_2 Geom_traits; typedef typename StreamLinesTraits_2::FT FT; typedef typename StreamLinesTraits_2::Point_2 Point_2; typedef typename StreamLinesTraits_2::Vector_2 Vector_2; protected: std::shared_ptr< std::vector > vector_field; inline int get_index(int i,int j) const; int number_of_samples_x; int number_of_samples_y; FT domain_size_x; FT domain_size_y; Vector_2 get_vector_field(const Point_2 & p) const; FT get_density_field(const Point_2 & p) const; bool is_in_samples(int i,int j) const; public: Regular_grid_2(int m, int n,const FT & x, const FT & y); // Regular_grid_2(); ~Regular_grid_2() {} inline typename Geom_traits::Iso_rectangle_2 bbox() const; std::pair get_field(const Point_2 & p) const { CGAL_precondition(is_in_domain(p)); Vector_2 v = get_vector_field(p); FT density = get_density_field(p); return std::pair(v,density); } inline bool is_in_domain(const Point_2 & p) const; inline FT get_integration_step(const Point_2 &) const; inline FT get_integration_step() const; inline void set_field(int i, int j, const Vector_2 & v); inline Vector_2 get_field(int i, int j) const; inline std::pair get_dimension() { return std::pair(number_of_samples_x, number_of_samples_y); } inline std::pair get_size() { return std::pair(domain_size_x, domain_size_y); } inline FT container_value(int i) const { if (i < 2*number_of_samples_x*number_of_samples_y) return (*vector_field)[i]; else return 0.0; } }; template inline typename Regular_grid_2::Geom_traits::Iso_rectangle_2 Regular_grid_2::bbox() const { return typename Geom_traits::Iso_rectangle_2(0.0, 0.0, domain_size_x, domain_size_y); } template inline int Regular_grid_2::get_index(int i, int j) const { return 2*(number_of_samples_x*j + i); } template Regular_grid_2::Regular_grid_2(int m, int n,const FT & x, const FT & y) { number_of_samples_x = m; number_of_samples_y = n; domain_size_x = x; domain_size_y = y; vector_field = std::shared_ptr >(new std::vector(number_of_samples_x*number_of_samples_y* 2)); } template inline typename Regular_grid_2::Vector_2 Regular_grid_2::get_field(int i, int j) const { CGAL_precondition(is_in_samples(i,j)); int index = get_index(i,j); return Vector_2((*vector_field)[index], (*vector_field)[index+1]); } template inline void Regular_grid_2::set_field(int i, int j, const Vector_2 & v) { CGAL_precondition(is_in_samples(i,j)); int index = get_index(i,j); (*vector_field)[index++] = v.x(); (*vector_field)[index] = v.y(); } template inline bool Regular_grid_2::is_in_domain(const Point_2 & p) const { return ((p.x()>=0.0) && (p.x()<=domain_size_x) && (p.y()>=0.0) && (p.y()<=domain_size_y)); } template bool Regular_grid_2::is_in_samples(int i, int j) const { return ((i>=0) && (i<=number_of_samples_x-1) && (j>=0) && (j<=number_of_samples_y-1)); } template typename Regular_grid_2::Vector_2 Regular_grid_2::get_vector_field(const Point_2 & p) const { FT fXv,fYv; FT x = (p.x() / domain_size_x) * (number_of_samples_x-1); FT y = (p.y() / domain_size_y) * (number_of_samples_y-1); int i = (int) x; int j = (int) y; FT xfract = x - (FT) i; FT yfract = y - (FT) j; int iIndex_1 = get_index(i,j); int iIndex_2 = get_index(i+1,j); int iIndex_3 = get_index(i,j+1); int iIndex_4 = get_index(i+1,j+1); FT x00 = container_value(iIndex_1); FT x01 = container_value(iIndex_2); FT x10 = container_value(iIndex_3); FT x11 = container_value(iIndex_4); FT x0 = x00 + xfract * (x01 - x00); FT x1 = x10 + xfract * (x11 - x10); fXv = x0 + yfract * (x1 - x0); iIndex_1++; iIndex_2++; iIndex_3++; iIndex_4++; FT y00 = container_value(iIndex_1); FT y01 = container_value(iIndex_2); FT y10 = container_value(iIndex_3); FT y11 = container_value(iIndex_4); FT y0 = y00 + xfract * (y01 - y00); FT y1 = y10 + xfract * (y11 - y10); fYv = y0 + yfract * (y1 - y0); // normalization step FT normal = sqrt((fXv)*(fXv) + (fYv)*(fYv)); fXv = fXv / normal; fYv = fYv / normal; Vector_2 v = Vector_2(fXv, fYv); return v; } template typename Regular_grid_2::FT Regular_grid_2::get_density_field(const Point_2 & ) const { return 1.0; } template inline typename Regular_grid_2::FT Regular_grid_2::get_integration_step(const Point_2 &) const { return 1.0; } template inline typename Regular_grid_2::FT Regular_grid_2::get_integration_step() const { return 1.0; } } //namespace CGAL #endif