OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
RegionExpansion.cpp File Reference
#include "RegionExpansion.hpp"
#include "libslic3r/Point.hpp"
#include "libslic3r/ExPolygon.hpp"
#include "libslic3r/libslic3r.h"
#include "libslic3r/Polyline.hpp"
#include "libslic3r/Polygon.hpp"
#include <algorithm>
#include <cmath>
#include <cstddef>
#include <cassert>
#include <iterator>
#include <cstdint>
#include <libslic3r/AABBTreeIndirect.hpp>
#include <libslic3r/ClipperZUtils.hpp>
#include <libslic3r/ClipperUtils.hpp>
#include <libslic3r/Utils.hpp>
#include <math.h>
#include <numeric>
#include <vector>
#include <utility>
#include "libslic3r/BoundingBox.hpp"
Include dependency graph for RegionExpansion.cpp:

Go to the source code of this file.

Namespaces

namespace  Slic3r
 |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/
namespace  Slic3r::Algorithm

Typedefs

using Slic3r::Algorithm::AABBTreeBBoxes = AABBTreeIndirect::Tree<2, coord_t>

Functions

double Slic3r::Algorithm::clipper_round_offset_error (double offset, double arc_tolerance)
static ClipperZUtils::ZPaths Slic3r::Algorithm::expolygons_to_zpaths_expanded_opened (const ExPolygons &src, const float expansion, coord_t &base_idx)
static void Slic3r::Algorithm::merge_splits (ClipperZUtils::ZPaths &paths, std::vector< std::pair< ClipperZUtils::ZPoint, int > > &splits)
static AABBTreeBBoxes Slic3r::Algorithm::build_aabb_tree_over_expolygons (const ExPolygons &expolygons)
static int Slic3r::Algorithm::sample_in_expolygons (const AABBTreeBBoxes &aabb_tree, const ExPolygons &expolygons, const Point &sample)
std::vector< WaveSeed > Slic3r::Algorithm::wave_seeds (const ExPolygons &src, const ExPolygons &boundary, float tiny_expansion, bool sorted)
static Polygons Slic3r::Algorithm::wavefront_initial (const VecOfPoints &polylines, float offset, double arc_tolerance)
static Polygons Slic3r::Algorithm::wavefront_step (const Polygons &polygons, float offset, double arc_tolerance)
static Polygons Slic3r::Algorithm::wavefront_clip (const Polygons &wavefront, const Polygons &clipping)
static Polygons Slic3r::Algorithm::propagate_wave_from_boundary (const VecOfPoints &seed, const ExPolygon &boundary, const float initial_step, const float other_step, const size_t num_other_steps, const float max_inflation, const double arc_tolerance)
std::vector< RegionExpansion > Slic3r::Algorithm::propagate_waves (const WaveSeeds &seeds, const ExPolygons &boundary, const RegionExpansionParameters &params)
std::vector< RegionExpansion > Slic3r::Algorithm::propagate_waves (const ExPolygons &src, const ExPolygons &boundary, const RegionExpansionParameters &params)
std::vector< RegionExpansion > Slic3r::Algorithm::propagate_waves (const ExPolygons &src, const ExPolygons &boundary, float expansion, float expansion_step, size_t max_nr_steps)
std::vector< RegionExpansionEx > Slic3r::Algorithm::propagate_waves_ex (const WaveSeeds &seeds, const ExPolygons &boundary, const RegionExpansionParameters &params)
std::vector< RegionExpansionEx > Slic3r::Algorithm::propagate_waves_ex (const ExPolygons &src, const ExPolygons &boundary, float full_expansion, float expansion_step, size_t max_nr_expansion_steps)
std::vector< Polygons > Slic3r::Algorithm::expand_expolygons (const ExPolygons &src, const ExPolygons &boundary, float expansion, float expansion_step, size_t max_nr_steps)
std::vector< ExPolygon > Slic3r::Algorithm::merge_expansions_into_expolygons (ExPolygons &&src, std::vector< RegionExpansion > &&expanded)
std::vector< ExPolygon > Slic3r::Algorithm::expand_merge_expolygons (ExPolygons &&src, const ExPolygons &boundary, const RegionExpansionParameters &params)