OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
FuzzySkin.cpp File Reference
#include <libnoise/module/modulebase.h>
#include <memory>
#include <algorithm>
#include <math.h>
#include <cmath>
#include <cstddef>
#include <limits>
#include <cstdlib>
#include <optional>
#include <random>
#include <thread>
#include <utility>
#include <vector>
#include "libslic3r/libslic3r.h"
#include "libslic3r/Surface.hpp"
#include "libslic3r/Algorithm/LineSplit.hpp"
#include "libslic3r/Arachne/utils/ExtrusionJunction.hpp"
#include "libslic3r/Arachne/utils/ExtrusionLine.hpp"
#include "libslic3r/ClipperUtils.hpp"
#include "libslic3r/Layer.hpp"
#include "libslic3r/PerimeterGenerator.hpp"
#include "libslic3r/Point.hpp"
#include "libslic3r/Polygon.hpp"
#include "libslic3r/Print.hpp"
#include "libslic3r/PrintConfig.hpp"
#include "FuzzySkin.hpp"
#include "libnoise/noise.h"
#include <functional>
Include dependency graph for FuzzySkin.cpp:

Go to the source code of this file.

Classes

class  Slic3r::Feature::FuzzySkin::UniformNoise
struct  Slic3r::Feature::FuzzySkin::MergedFuzzyRegion

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::Feature
namespace  Slic3r::Feature::FuzzySkin

Functions

static double Slic3r::Feature::FuzzySkin::random_value ()
static std::unique_ptr< noise::module::Module > Slic3r::Feature::FuzzySkin::get_noise_module (const FuzzySkinConfig &cfg)
static double Slic3r::Feature::FuzzySkin::ripple_phase_shift_rad (const FuzzySkinConfig &cfg)
static double Slic3r::Feature::FuzzySkin::ripple_anchor_arc_mm (const Points &poly)
static void Slic3r::Feature::FuzzySkin::fuzzy_polyline_ripple (Points &poly, const FuzzySkinConfig &cfg)
static void Slic3r::Feature::FuzzySkin::fuzzy_extrusion_line_ripple (Arachne::ExtrusionJunctions &ext_lines, const FuzzySkinConfig &cfg)
void Slic3r::Feature::FuzzySkin::fuzzy_polyline (Points &poly, bool closed, coordf_t slice_z, const FuzzySkinConfig &cfg)
void Slic3r::Feature::FuzzySkin::fuzzy_extrusion_line (Arachne::ExtrusionJunctions &ext_lines, coordf_t slice_z, coordf_t layer_height, const FuzzySkinConfig &cfg, bool closed)
void Slic3r::Feature::FuzzySkin::group_region_by_fuzzify (PerimeterGenerator &g)
bool Slic3r::Feature::FuzzySkin::should_fuzzify (const FuzzySkinConfig &config, const int layer_id, const size_t loop_idx, const bool is_contour)
static bool Slic3r::Feature::FuzzySkin::same_fuzzy_effect (const FuzzySkinConfig &a, const FuzzySkinConfig &b)
static std::vector< MergedFuzzyRegion > Slic3r::Feature::FuzzySkin::collect_merged_fuzzy_regions (const std::vector< std::pair< FuzzySkinConfig, ExPolygons > > &regions, const int layer_id, const size_t loop_idx, const bool is_contour)
static void Slic3r::Feature::FuzzySkin::restrict_to_supported (std::vector< MergedFuzzyRegion > &merged_regions, const std::optional< ExPolygons > &supported)
Polygon Slic3r::Feature::FuzzySkin::apply_fuzzy_skin (const Polygon &polygon, const PerimeterGenerator &perimeter_generator, const size_t loop_idx, const bool is_contour)
void Slic3r::Feature::FuzzySkin::apply_fuzzy_skin (Arachne::ExtrusionLine *extrusion, const PerimeterGenerator &perimeter_generator, const bool is_contour, const bool closed)

Class Documentation

◆ Slic3r::Feature::FuzzySkin::MergedFuzzyRegion

struct Slic3r::Feature::FuzzySkin::MergedFuzzyRegion
Collaboration diagram for Slic3r::Feature::FuzzySkin::MergedFuzzyRegion:
Class Members
const FuzzySkinConfig * config
ExPolygons expolygons