#include <boost/date_time/posix_time/ptime.hpp>#include <boost/date_time/posix_time/posix_time_types.hpp>#include <cassert>#include <chrono>#include <cstddef>#include <cstdint>#include <limits>#include <map>#include <list>#include <cstdlib>#include <cmath>#include <deque>#include <iterator>#include <math.h>#include "libslic3r/Point.hpp"#include "libslic3r/Polygon.hpp"#include "libslic3r/Surface.hpp"#include "libslic3r/ExPolygon.hpp"#include "libslic3r/Line.hpp"#include "libslic3r/PrintConfig.hpp"#include "libslic3r/Geometry.hpp"#include "libslic3r/TriangleSelector.hpp"#include "libslic3r/ExtrusionEntity.hpp"#include "libslic3r/Flow.hpp"#include "libslic3r/Polyline.hpp"#include "libslic3r/Support/SupportParameters.hpp"#include "libslic3r/Utils.hpp"#include "format.hpp"#include "ClipperUtils.hpp"#include "Fill/FillBase.hpp"#include "I18N.hpp"#include "Layer.hpp"#include "MinimumSpanningTree.hpp"#include "Print.hpp"#include "ShortestPath.hpp"#include "SupportCommon.hpp"#include "TreeSupportCommon.hpp"#include "TreeSupport.hpp"#include "TreeSupport3D.hpp"#include "BeltFloorContext.hpp"#include "libslic3r/libslic3r.h"#include <libnest2d/backends/libslic3r/geometries.hpp>#include <libnest2d/placers/nfpplacer.hpp>#include <string>#include <sstream>#include <ratio>#include <memory>#include <set>#include <mutex>#include <tbb/blocked_range.h>#include <tbb/concurrent_unordered_set.h>#include <tbb/concurrent_vector.h>#include <tbb/parallel_for.h>#include <tbb/parallel_for_each.h>#include <boost/log/trivial.hpp>#include <algorithm>#include <vector>#include <unordered_set>#include <utility>#include <tuple>#include <unordered_map>#include <tbb/concurrent_unordered_map.h>#include "libslic3r/BoundingBox.hpp"#include "libslic3r/Config.hpp"#include "libslic3r/ExtrusionEntityCollection.hpp"#include "libslic3r/Fill/Lightning/Layer.hpp"#include "libslic3r/Model.hpp"#include "libslic3r/SurfaceCollection.hpp"Go to the source code of this file.
Classes | |
| class | Slic3r::TreeSupportProfiler |
Namespaces | |
| namespace | Slic3r |
| |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/ | |
Macros | |
| #define | M_PI 3.1415926535897932384626433832795 |
| #define | SIGN(x) |
| #define | TAU (2.0 * M_PI) |
| #define | NO_INDEX (std::numeric_limits<unsigned int>::max()) |
| #define | USE_SUPPORT_3D 0 |
| #define | unscale_(val) |
| #define | SUPPORT_SURFACES_OFFSET_PARAMETERS jtSquare, 0. |
Functions | |
| double | Slic3r::dot_with_unscale (const Point a, const Point b) |
| double | Slic3r::vsize2_with_unscale (const Point pt) |
| Point | Slic3r::turn90_ccw (const Point pt) |
| Point | Slic3r::normal (Point pt, double scale) |
| Polygons | Slic3r::collect_region_slices_by_type (const Layer &layer, SurfaceType surface_type) |
| Lines | Slic3r::spanning_tree_to_lines (const std::vector< MinimumSpanningTree > &spanning_trees) |
| static bool | Slic3r::move_inside_expoly (const ExPolygon &polygon, Point &from, double distance=0, double max_move_distance=std::numeric_limits< double >::max()) |
| static bool | Slic3r::move_inside_expolys (const ExPolygons &polygons, Point &from, double distance, double max_move_distance) |
| static Point | Slic3r::find_closest_ex (Point from, const ExPolygons &polygons) |
| static bool | Slic3r::move_outside_expolys (const ExPolygons &polygons, Point &from, double distance, double max_move_distance) |
| static bool | Slic3r::is_inside_ex (const ExPolygon &polygon, const Point &pt) |
| static bool | Slic3r::is_inside_ex (const ExPolygons &polygons, const Point &pt) |
| static bool | Slic3r::move_out_expolys (const ExPolygons &polygons, Point &from, double distance, double max_move_distance) |
| static Point | Slic3r::bounding_box_middle (const BoundingBox &bbox) |
| static BoundingBox | Slic3r::fill_expolygon_generate_paths (ExtrusionEntitiesPtr &dst, ExPolygon &expolygon, Fill *filler, const FillParams &fill_params, ExtrusionRole role, const Flow &flow) |
| static std::vector< BoundingBox > | Slic3r::fill_expolygons_generate_paths (ExtrusionEntitiesPtr &dst, ExPolygons &expolygons, Fill *filler, const FillParams &fill_params, ExtrusionRole role, const Flow &flow) |
| static void | Slic3r::_make_loops (ExtrusionEntitiesPtr &loops_entities, ExPolygons &support_area, ExtrusionRole role, size_t wall_count, const Flow &flow) |
| static void | Slic3r::make_perimeter_and_inner_brim (ExtrusionEntitiesPtr &dst, const ExPolygon &support_area, size_t wall_count, const Flow &flow, ExtrusionRole role) |
| static void | Slic3r::make_perimeter_and_infill (ExtrusionEntitiesPtr &dst, const ExPolygon &support_area, size_t wall_count, const Flow &flow, ExtrusionRole role, Fill *filler_support, double support_density, bool infill_first=true) |
| ExPolygons | Slic3r::avoid_object_remove_extra_small_parts (const ExPolygon &expoly, const ExPolygons &avoid_region) |
Variables | |
| TreeSupportProfiler | Slic3r::profiler |
| #define M_PI 3.1415926535897932384626433832795 |
| #define NO_INDEX (std::numeric_limits<unsigned int>::max()) |
Referenced by Slic3r::move_inside_expolys().
| #define SIGN | ( | x | ) |
| #define SUPPORT_SURFACES_OFFSET_PARAMETERS jtSquare, 0. |
| #define TAU (2.0 * M_PI) |
Referenced by Slic3r::TreeSupport::draw_circles().
| #define unscale_ | ( | val | ) |
| #define USE_SUPPORT_3D 0 |