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) 2016 GeometryFactory (France). All rights reserved. // // This file is part of CGAL (www.cgal.org) // // $URL: https://github.com/CGAL/cgal/blob/v6.1/Point_set_3/include/CGAL/Point_set_3/IO/LAS.h $ // $Id: include/CGAL/Point_set_3/IO/LAS.h b26b07a1242 $ // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial // // Author(s) : Simon Giraudot #ifndef CGAL_POINT_SET_IO_LAS_H #define CGAL_POINT_SET_IO_LAS_H #include #ifdef CGAL_LINKED_WITH_LASLIB #include #include #endif // LAS #include #include #if defined(CGAL_LINKED_WITH_LASLIB) || defined(DOXYGEN_RUNNING) namespace CGAL { template class Point_set_3; //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// // Read namespace IO { namespace internal { template void check_if_property_is_used(PointSet& point_set, PropertyMap& map) { for(typename PointSet::iterator it = point_set.begin(); it != point_set.end(); ++it) if(get(map, *it) != typename PropertyMap::value_type()) return; point_set.remove_property_map(map); } } // namespace internal /*! \ingroup PkgPointSet3IOLAS \brief reads the content of an input stream in the \ref IOStreamLAS into a point set. \attention To read a binary file, the flag `std::ios::binary` must be set during the creation of the `ifstream`. \param is the input stream \param point_set the point set \note All LAS properties are read as described in `read_LAS_with_properties()`. \return `true` if the reading was successful, `false` otherwise. */ template bool read_LAS(std::istream& is, CGAL::Point_set_3& point_set) { if(!is) { std::cerr << "Error: cannot open file" << std::endl; return false; } typedef CGAL::Point_set_3 Point_set; typedef typename Point_set::template Property_map Float_map; typedef typename Point_set::template Property_map Double_map; typedef typename Point_set::template Property_map Ushort_map; typedef typename Point_set::template Property_map Uchar_map; typedef typename Point_set::template Property_map Uint_map; Ushort_map intensity = point_set.template add_property_map("intensity", 0).first; Uchar_map return_number = point_set.template add_property_map("return_number", 0).first; Uchar_map number_of_returns = point_set.template add_property_map("number_of_returns", 0).first; Uchar_map scan_direction_flag = point_set.template add_property_map("scan_direction_flag", 0).first; Uchar_map edge_of_flight_line = point_set.template add_property_map("edge_of_flight_line", 0).first; Uchar_map classification = point_set.template add_property_map("classification", 0).first; Uchar_map synthetic_flag = point_set.template add_property_map("synthetic_flag", 0).first; Uchar_map keypoint_flag = point_set.template add_property_map("keypoint_flag", 0).first; Uchar_map withheld_flag = point_set.template add_property_map("withheld_flag", 0).first; Float_map scan_angle = point_set.template add_property_map("scan_angle", 0.).first; Uchar_map user_data = point_set.template add_property_map("user_data", 0).first; Ushort_map point_source_ID = point_set.template add_property_map("point_source_ID", 0).first; Uint_map deleted_flag = point_set.template add_property_map("deleted_flag", 0).first; Double_map gps_time = point_set.template add_property_map("gps_time", 0).first; Ushort_map R = point_set.template add_property_map("R", 0).first; Ushort_map G = point_set.template add_property_map("G", 0).first; Ushort_map B = point_set.template add_property_map("B", 0).first; Ushort_map I = point_set.template add_property_map("I", 0).first; bool okay = read_LAS_with_properties (is, point_set.index_back_inserter(), make_las_point_reader(point_set.point_push_map()), std::make_pair(point_set.push_property_map(intensity), LAS_property::Intensity()), std::make_pair(point_set.push_property_map(return_number), LAS_property::Return_number()), std::make_pair(point_set.push_property_map(number_of_returns), LAS_property::Number_of_returns()), std::make_pair(point_set.push_property_map(scan_direction_flag), LAS_property::Scan_direction_flag()), std::make_pair(point_set.push_property_map(edge_of_flight_line), LAS_property::Edge_of_flight_line()), std::make_pair(point_set.push_property_map(classification), LAS_property::Classification()), std::make_pair(point_set.push_property_map(synthetic_flag), LAS_property::Synthetic_flag()), std::make_pair(point_set.push_property_map(keypoint_flag), LAS_property::Keypoint_flag()), std::make_pair(point_set.push_property_map(withheld_flag), LAS_property::Withheld_flag()), std::make_pair(point_set.push_property_map(scan_angle), LAS_property::Scan_angle()), std::make_pair(point_set.push_property_map(user_data), LAS_property::User_data()), std::make_pair(point_set.push_property_map(point_source_ID), LAS_property::Point_source_ID()), std::make_pair(point_set.push_property_map(deleted_flag), LAS_property::Deleted_flag()), std::make_pair(point_set.push_property_map(gps_time), LAS_property::GPS_time()), std::make_pair(point_set.push_property_map(R), LAS_property::R()), std::make_pair(point_set.push_property_map(G), LAS_property::G()), std::make_pair(point_set.push_property_map(B), LAS_property::B()), std::make_pair(point_set.push_property_map(I), LAS_property::I())); internal::check_if_property_is_used(point_set, intensity); internal::check_if_property_is_used(point_set, return_number); internal::check_if_property_is_used(point_set, number_of_returns); internal::check_if_property_is_used(point_set, scan_direction_flag); internal::check_if_property_is_used(point_set, edge_of_flight_line); internal::check_if_property_is_used(point_set, classification); internal::check_if_property_is_used(point_set, synthetic_flag); internal::check_if_property_is_used(point_set, keypoint_flag); internal::check_if_property_is_used(point_set, withheld_flag); internal::check_if_property_is_used(point_set, scan_angle); internal::check_if_property_is_used(point_set, user_data); internal::check_if_property_is_used(point_set, point_source_ID); internal::check_if_property_is_used(point_set, deleted_flag); internal::check_if_property_is_used(point_set, gps_time); internal::check_if_property_is_used(point_set, R); internal::check_if_property_is_used(point_set, G); internal::check_if_property_is_used(point_set, B); internal::check_if_property_is_used(point_set, I); return okay; } /*! \ingroup PkgPointSet3IOLAS \brief reads the content of an input file in the \ref IOStreamLAS into a point set. \param fname the path to the input file \param point_set the point set \note All LAS properties are read as described in `read_LAS_with_properties()`. \return `true` if the reading was successful, `false` otherwise. */ template bool read_LAS(const std::string& fname, CGAL::Point_set_3& point_set) { std::ifstream is(fname, std::ios::binary); CGAL::IO::set_mode(is, CGAL::IO::BINARY); return read_LAS(is, point_set); } } // namespace IO #ifndef CGAL_NO_DEPRECATED_CODE template CGAL_DEPRECATED bool read_las_point_set(std::istream& is, ///< input stream. CGAL::Point_set_3& point_set) ///< point set { return IO::read_LAS(is, point_set); } #endif // CGAL_NO_DEPRECATED_CODE //////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////// // Write namespace IO { /*! \ingroup PkgPointSet3IOLAS \brief writes the content of a point set into an output stream in the \ref IOStreamLAS. \attention To write to a binary file, the flag `std::ios::binary` must be set during the creation of the `ofstream`. \tparam Point the point type of the `Point_set_3` \tparam Vector the vector type of the `Point_set_3` \param os the output stream \param point_set the point set \note All LAS properties are written as described in `read_LAS_with_properties()`. \return `true` if the writing was successful, `false` otherwise. */ template bool write_LAS(std::ostream& os, CGAL::Point_set_3& point_set) { if(!os) { std::cerr << "Error: cannot open file" << std::endl; return false; } typedef CGAL::Point_set_3 Point_set; typedef typename Point_set::template Property_map Float_map; typedef typename Point_set::template Property_map Double_map; typedef typename Point_set::template Property_map Ushort_map; typedef typename Point_set::template Property_map Uchar_map; typedef typename Point_set::template Property_map Uint_map; Ushort_map intensity; bool remove_intensity; std::tie(intensity, remove_intensity) = point_set.template add_property_map("intensity", 0); Uchar_map return_number; bool remove_return_number; std::tie(return_number, remove_return_number) = point_set.template add_property_map("return_number", 0); Uchar_map number_of_returns; bool remove_number_of_returns; std::tie(number_of_returns, remove_number_of_returns) = point_set.template add_property_map("number_of_returns", 0); Uchar_map scan_direction_flag; bool remove_scan_direction_flag; std::tie(scan_direction_flag, remove_scan_direction_flag) = point_set.template add_property_map("scan_direction_flag", 0); Uchar_map edge_of_flight_line; bool remove_edge_of_flight_line; std::tie(edge_of_flight_line, remove_edge_of_flight_line) = point_set.template add_property_map("edge_of_flight_line", 0); Uchar_map classification; bool remove_classification; std::tie(classification, remove_classification) = point_set.template add_property_map("classification", 0); Uchar_map synthetic_flag; bool remove_synthetic_flag; std::tie(synthetic_flag, remove_synthetic_flag) = point_set.template add_property_map("synthetic_flag", 0); Uchar_map keypoint_flag; bool remove_keypoint_flag; std::tie(keypoint_flag, remove_keypoint_flag) = point_set.template add_property_map("keypoint_flag", 0); Uchar_map withheld_flag; bool remove_withheld_flag; std::tie(withheld_flag, remove_withheld_flag) = point_set.template add_property_map("withheld_flag", 0); Float_map scan_angle; bool remove_scan_angle; std::tie(scan_angle, remove_scan_angle) = point_set.template add_property_map("scan_angle", 0.); Uchar_map user_data; bool remove_user_data; std::tie(user_data, remove_user_data) = point_set.template add_property_map("user_data", 0); Ushort_map point_source_ID; bool remove_point_source_ID; std::tie(point_source_ID, remove_point_source_ID) = point_set.template add_property_map("point_source_ID", 0); Uint_map deleted_flag; bool remove_deleted_flag; std::tie(deleted_flag, remove_deleted_flag) = point_set.template add_property_map("deleted_flag", 0); Double_map gps_time; bool remove_gps_time; std::tie(gps_time, remove_gps_time) = point_set.template add_property_map("gps_time", 0); Ushort_map R; bool remove_R; std::tie(R, remove_R) = point_set.template add_property_map("R", 0); Ushort_map G; bool remove_G; std::tie(G, remove_G) = point_set.template add_property_map("G", 0); Ushort_map B; bool remove_B; std::tie(B, remove_B) = point_set.template add_property_map("B", 0); Ushort_map I; bool remove_I; std::tie(I, remove_I) = point_set.template add_property_map("I", 0); if(remove_R) { std::optional charR, charG, charB; charR = point_set.template property_map("r"); if(!charR.has_value()) charR = point_set.template property_map("red"); charG = point_set.template property_map("g"); if(!charG.has_value()) charG = point_set.template property_map("green"); charB = point_set.template property_map("b"); if(!charB.has_value()) charB = point_set.template property_map("blue"); if(charR.has_value() && charG.has_value() && charB.has_value()) { for(typename Point_set::iterator it = point_set.begin(); it != point_set.end(); ++it) { put(R, *it, (unsigned short)(get(charR.value(), *it))); put(G, *it, (unsigned short)(get(charG.value(), *it))); put(B, *it, (unsigned short)(get(charB.value(), *it))); } } } bool okay = write_LAS_with_properties (os, point_set, make_las_point_writer(point_set.point_map()), std::make_pair(intensity, LAS_property::Intensity()), std::make_pair(return_number, LAS_property::Return_number()), std::make_pair(number_of_returns, LAS_property::Number_of_returns()), std::make_pair(scan_direction_flag, LAS_property::Scan_direction_flag()), std::make_pair(edge_of_flight_line, LAS_property::Edge_of_flight_line()), std::make_pair(classification, LAS_property::Classification()), std::make_pair(synthetic_flag, LAS_property::Synthetic_flag()), std::make_pair(keypoint_flag, LAS_property::Keypoint_flag()), std::make_pair(withheld_flag, LAS_property::Withheld_flag()), std::make_pair(scan_angle, LAS_property::Scan_angle()), std::make_pair(user_data, LAS_property::User_data()), std::make_pair(point_source_ID, LAS_property::Point_source_ID()), std::make_pair(deleted_flag, LAS_property::Deleted_flag()), std::make_pair(gps_time, LAS_property::GPS_time()), std::make_pair(R, LAS_property::R()), std::make_pair(G, LAS_property::G()), std::make_pair(B, LAS_property::B()), std::make_pair(I, LAS_property::I())); if(remove_intensity) point_set.remove_property_map(intensity); if(remove_return_number) point_set.remove_property_map(return_number); if(remove_number_of_returns) point_set.remove_property_map(number_of_returns); if(remove_scan_direction_flag) point_set.remove_property_map(scan_direction_flag); if(remove_edge_of_flight_line) point_set.remove_property_map(edge_of_flight_line); if(remove_classification) point_set.remove_property_map(classification); if(remove_synthetic_flag) point_set.remove_property_map(synthetic_flag); if(remove_keypoint_flag) point_set.remove_property_map(keypoint_flag); if(remove_withheld_flag) point_set.remove_property_map(withheld_flag); if(remove_scan_angle) point_set.remove_property_map(scan_angle); if(remove_user_data) point_set.remove_property_map(user_data); if(remove_point_source_ID) point_set.remove_property_map(point_source_ID); if(remove_deleted_flag) point_set.remove_property_map(deleted_flag); if(remove_gps_time) point_set.remove_property_map(gps_time); if(remove_R) point_set.remove_property_map(R); if(remove_G) point_set.remove_property_map(G); if(remove_B) point_set.remove_property_map(B); if(remove_I) point_set.remove_property_map(I); return okay; } /*! \ingroup PkgPointSet3IOLAS \brief writes the content of a point set into an output file in the \ref IOStreamLAS. \tparam Point the point type of the `Point_set_3` \tparam Vector the vector type of the `Point_set_3` \param fname the path to the output file \param point_set the point set \note All LAS properties are written as described in `read_LAS_with_properties()`. \return `true` if the writing was successful, `false` otherwise. */ template bool write_LAS(const std::string& fname, CGAL::Point_set_3& point_set) { std::ofstream os(fname, std::ios::binary); CGAL::IO::set_mode(os, CGAL::IO::BINARY); return write_LAS(os, point_set); } } // namespace IO #ifndef CGAL_NO_DEPRECATED_CODE template CGAL_DEPRECATED bool write_las_point_set(std::ostream& os, ///< output stream. CGAL::Point_set_3& point_set) ///< point set { return IO::write_LAS(os, point_set); } #endif // CGAL_NO_DEPRECATED_CODE } // namespace CGAL #endif // LAS #endif // CGAL_POINT_SET_IO_LAS_H