#ifdef WIN32 #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #ifndef NOMINMAX #define NOMINMAX #endif #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef _WIN32 // On MSVC, std::deque degenerates to a list of pointers, which defeats its purpose of reducing allocator load and memory fragmentation. // https://github.com/microsoft/STL/issues/147#issuecomment-1090148740 // Thus it is recommended to use boost::container::deque instead. #include #endif // _WIN32 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // boost/property_tree/json_parser/detail/parser.hpp includes boost/bind.hpp, which is deprecated. // Suppress the following boost message: // The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. #define BOOST_BIND_GLOBAL_PLACEHOLDERS #include #include #undef BOOST_BIND_GLOBAL_PLACEHOLDERS #include #include #include #include #include #include #include #include #include #include #include #include "clipper.hpp" #include "BoundingBox.hpp" #include "ClipperUtils.hpp" #include "Config.hpp" #include "enum_bitmask.hpp" #include "format.hpp" #include "I18N.hpp" #include "MultiPoint.hpp" #include "Point.hpp" #include "Polygon.hpp" #include "Polyline.hpp" #include "SVG.hpp" #include "libslic3r.h" #include "libslic3r_version.h" #include