OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Brim.cpp File Reference
#include "BoundingBox.hpp"
#include "BrimEarsPoint.hpp"
#include "ClipperUtils.hpp"
#include "EdgeGrid.hpp"
#include "ExclusionVolumeGeometry.hpp"
#include "ExPolygon.hpp"
#include "Flow.hpp"
#include "Geometry.hpp"
#include "ExtrusionEntity.hpp"
#include "Layer.hpp"
#include "Point.hpp"
#include "ObjectID.hpp"
#include "Polygon.hpp"
#include "Line.hpp"
#include "MultiPoint.hpp"
#include "Polyline.hpp"
#include "Print.hpp"
#include "PrintBase.hpp"
#include "ShortestPath.hpp"
#include "libslic3r.h"
#include "PrintConfig.hpp"
#include "MaterialType.hpp"
#include "Model.hpp"
#include "Support/SupportCommon.hpp"
#include <algorithm>
#include <cstddef>
#include <cmath>
#include <cstdint>
#include <limits>
#include <numeric>
#include <optional>
#include <map>
#include <string>
#include <tbb/parallel_for.h>
#include <boost/log/trivial.hpp>
#include <utility>
#include <vector>
#include "Config.hpp"
#include "ExtrusionEntityCollection.hpp"
#include "MultiMaterialSegmentation.hpp"
#include "SurfaceCollection.hpp"
#include "TriangleMesh.hpp"
Include dependency graph for Brim.cpp:

Go to the source code of this file.

Classes

struct  Slic3r::ExPolyProp

Namespaces

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

Functions

static coord_t Slic3r::brim_exclusion_clearance (const Flow &flow)
static bool Slic3r::combine_object_brims (const Print &print)
static void Slic3r::append_and_translate (ExPolygons &dst, const ExPolygons &src, const PrintInstance &instance)
static void Slic3r::append_and_translate (const ExPolygons &src, const PrintInstance &instance, size_t instance_idx, std::map< ObjectInstanceID, ExPolygons > &brimAreaMap)
static void Slic3r::append_and_translate (Polygons &dst, const Polygons &src, const PrintInstance &instance)
static bool Slic3r::use_brim_efc_outline (const PrintObject &object)
static bool Slic3r::closest_point_on_expolygons (const ExPolygons &polygons, const Point &from, Point &closest_out)
static int Slic3r::find_containing_expolygon_index (const ExPolygons &polygons, const Point &from)
static bool Slic3r::closest_point_on_matching_island (const ExPolygons &raw_outline, const ExPolygons &efc_outline, const Point &from, Point &closest_out)
static ExPolygons Slic3r::get_print_object_bottom_layer_expolygons (const PrintObject &print_object)
double Slic3r::getadhesionCoeff (const PrintObject *printObject)
bool Slic3r::compSecondMoment (Polygon poly, Vec2d &sm)
bool Slic3r::compSecondMoment (const ExPolygon &expoly, ExPolyProp &expolyProp)
bool Slic3r::compSecondMoment (const ExPolygons &expolys, double &smExpolysX, double &smExpolysY)
double Slic3r::configBrimWidthByVolumeGroups (double adhesion, double maxSpeed, const std::vector< ModelVolume * > modelVolumePtrs, const ExPolygons &expolys, double &groupHeight)
static ExPolygons Slic3r::make_brim_ears_auto (const ExPolygons &obj_expoly, coord_t size_ear, coord_t ear_detection_length, coordf_t brim_ears_max_angle, bool is_outer_brim)
static ExPolygons Slic3r::make_brim_ears (const PrintObject *object)
static ExPolygons Slic3r::outer_inner_brim_area (const Print &print, const float no_brim_offset, std::map< ObjectInstanceID, ExPolygons > &brimAreaMap, std::vector< std::pair< ObjectID, unsigned int > > &objPrintVec, std::vector< unsigned int > &printExtruders)
static void Slic3r::optimize_polylines_by_reversing (Polylines *polylines)
static Polylines Slic3r::connect_brim_lines (Polylines &&polylines, const Polygons &brim_area, float max_connection_length)
Polygons Slic3r::tryExPolygonOffset (const ExPolygons &islandAreaEx, const Print &print)
static ExtrusionEntityCollection Slic3r::makeBrimInfillImpl (const ExPolygons &singleBrimArea, const Print &print, const Polygons &islands_area, bool apply_plate_offset)
ExtrusionEntityCollection Slic3r::makeBrimInfill (const ExPolygons &singleBrimArea, const Print &print, const Polygons &islands_area)
ExtrusionEntityCollection Slic3r::makeBrimInfillFromPlateCoordinates (const ExPolygons &singleBrimArea, const Print &print, const Polygons &islands_area)
void Slic3r::make_brim (const Print &print, PrintTryCancel try_cancel, Polygons &islands_area, std::map< ObjectID, ExtrusionEntityCollection > &brimMap, std::map< ObjectInstanceID, ExtrusionEntityCollection > &brimMapByInstance, std::vector< std::pair< ObjectID, unsigned int > > &objPrintVec, std::vector< unsigned int > &printExtruders, std::map< ObjectInstanceID, ExPolygons > *objectBrimAreasByInstanceOut)

Class Documentation

◆ Slic3r::ExPolyProp

struct Slic3r::ExPolyProp
Class Members
double aera = 0
Vec2d centroid
Vec2d secondMomentOfAreaRespectToCentroid