OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
SupportCommon.cpp File Reference
#include "../ClipperUtils.hpp"
#include "../ExclusionVolumeGeometry.hpp"
#include "../ClipperZUtils.hpp"
#include "../ExtrusionEntityCollection.hpp"
#include "../Layer.hpp"
#include "../Print.hpp"
#include "../Fill/FillBase.hpp"
#include "../MutablePolygon.hpp"
#include "../Geometry.hpp"
#include "../Point.hpp"
#include <cmath>
#include <boost/container/static_vector.hpp>
#include <boost/log/trivial.hpp>
#include <algorithm>
#include <cstddef>
#include <limits>
#include <memory>
#include <math.h>
#include <initializer_list>
#include <tbb/parallel_for.h>
#include <utility>
#include <vector>
#include <unordered_map>
#include "SupportCommon.hpp"
#include "libslic3r/PrintConfig.hpp"
#include "libslic3r/Polygon.hpp"
#include "libslic3r/Slicing.hpp"
#include "libslic3r/ExtrusionEntity.hpp"
#include "libslic3r/Polyline.hpp"
#include "SupportLayer.hpp"
#include "SupportParameters.hpp"
#include "libslic3r/libslic3r.h"
#include "libslic3r/Surface.hpp"
#include "libslic3r/Utils.hpp"
#include <cassert>
#include "libslic3r/BoundingBox.hpp"
#include "libslic3r/Config.hpp"
#include "libslic3r/ExPolygon.hpp"
#include "libslic3r/Flow.hpp"
#include "libslic3r/MultiMaterialSegmentation.hpp"
Include dependency graph for SupportCommon.cpp:

Go to the source code of this file.

Classes

struct  Slic3r::SupportGeneratorLayerExtruded
struct  Slic3r::LoopInterfaceProcessor

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::anonymous_namespace{SupportCommon.cpp}

Macros

#define SUPPORT_MATERIAL_MARGIN   1.5
#define SUPPORT_SURFACES_OFFSET_PARAMETERS   jtSquare, 0.

Typedefs

typedef std::vector< SupportGeneratorLayerExtruded * > Slic3r::SupportGeneratorLayerExtrudedPtrs

Functions

int Slic3r::anonymous_namespace{SupportCommon.cpp}::object_layer_id_at_z (const PrintObject &object, const coordf_t print_z)
bool Slic3r::anonymous_namespace{SupportCommon.cpp}::support_layer_uses_interface_material (const SupportGeneratorLayer &layer)
void Slic3r::anonymous_namespace{SupportCommon.cpp}::trim_polygons (Polygons &polygons, const Polygons &excluded)
std::vector< unsigned int > Slic3r::support_exclusion_filaments (const PrintObject &object, const bool interface_material)
std::vector< Polygons > Slic3r::support_exclusion_areas_for_layers (const PrintObject &object, const std::vector< std::pair< coordf_t, coordf_t > > &layer_z_ranges, const bool interface_material)
void Slic3r::trim_support_layers_by_exclusion_volumes (const PrintObject &object, const SupportGeneratorLayersPtr &raft_layers, const SupportGeneratorLayersPtr &bottom_contacts, const SupportGeneratorLayersPtr &top_contacts, const SupportGeneratorLayersPtr &intermediate_layers, const SupportGeneratorLayersPtr &interface_layers, const SupportGeneratorLayersPtr &base_interface_layers)
std::pair< SupportGeneratorLayersPtr, SupportGeneratorLayersPtr > Slic3r::generate_interface_layers (const PrintObjectConfig &config, const SupportParameters &support_params, const SupportGeneratorLayersPtr &bottom_contacts, const SupportGeneratorLayersPtr &top_contacts, SupportGeneratorLayersPtr &top_interface_layers, SupportGeneratorLayersPtr &top_base_interface_layers, SupportGeneratorLayersPtr &intermediate_layers, SupportGeneratorLayerStorage &layer_storage)
SupportGeneratorLayersPtr Slic3r::generate_raft_base (const PrintObject &object, const SupportParameters &support_params, const SlicingParameters &slicing_params, const SupportGeneratorLayersPtr &top_contacts, const SupportGeneratorLayersPtr &interface_layers, const SupportGeneratorLayersPtr &base_interface_layers, const SupportGeneratorLayersPtr &base_layers, SupportGeneratorLayerStorage &layer_storage)
static void Slic3r::fill_expolygon_generate_paths (ExtrusionEntitiesPtr &dst, ExPolygon &&expolygon, Fill *filler, const FillParams &fill_params, float density, ExtrusionRole role, const Flow &flow)
static void Slic3r::fill_expolygons_generate_paths (ExtrusionEntitiesPtr &dst, ExPolygons &&expolygons, Fill *filler, const FillParams &fill_params, float density, ExtrusionRole role, const Flow &flow)
static void Slic3r::fill_expolygons_generate_paths (ExtrusionEntitiesPtr &dst, ExPolygons &&expolygons, Fill *filler, float density, ExtrusionRole role, const Flow &flow)
static Polylines Slic3r::draw_perimeters (const ExPolygon &expoly, double clip_length)
void Slic3r::tree_supports_generate_paths (ExtrusionEntitiesPtr &dst, const Polygons &polygons, const Flow &flow, const SupportParameters &support_params)
void Slic3r::fill_expolygons_with_sheath_generate_paths (ExtrusionEntitiesPtr &dst, const Polygons &polygons, Fill *filler, float density, ExtrusionRole role, const Flow &flow, const SupportParameters &support_params, bool with_sheath, bool no_sort)
static void Slic3r::modulate_extrusion_by_overlapping_layers (ExtrusionEntitiesPtr &extrusions_in_out, const SupportGeneratorLayer &this_layer, const SupportGeneratorLayersPtr &overlapping_layers)
SupportGeneratorLayersPtr Slic3r::generate_support_layers (PrintObject &object, const SupportGeneratorLayersPtr &raft_layers, const SupportGeneratorLayersPtr &bottom_contacts, const SupportGeneratorLayersPtr &top_contacts, const SupportGeneratorLayersPtr &intermediate_layers, const SupportGeneratorLayersPtr &interface_layers, const SupportGeneratorLayersPtr &base_interface_layers)
void Slic3r::generate_support_toolpaths (SupportLayerPtrs &support_layers, const PrintObjectConfig &config, const SupportParameters &support_params, const SlicingParameters &slicing_params, const SupportGeneratorLayersPtr &raft_layers, const SupportGeneratorLayersPtr &bottom_contacts, const SupportGeneratorLayersPtr &top_contacts, const SupportGeneratorLayersPtr &intermediate_layers, const SupportGeneratorLayersPtr &interface_layers, const SupportGeneratorLayersPtr &base_interface_layers)
Vec2d Slic3r::build_plate_tilt_slope (const PrintConfig &print_config)

Variables

static constexpr const std::initializer_list< SupporLayerType > Slic3r::support_types_interface

Macro Definition Documentation

◆ SUPPORT_MATERIAL_MARGIN

#define SUPPORT_MATERIAL_MARGIN   1.5

◆ SUPPORT_SURFACES_OFFSET_PARAMETERS

#define SUPPORT_SURFACES_OFFSET_PARAMETERS   jtSquare, 0.