mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-10 01:01:57 +00:00
Every libslic3r source and header now directly includes the headers declaring what it uses, rather than relying on the precompiled header or transitive includes. Generated with clang-tidy misc-include-cleaner, with libslic3r headers spelled libslic3r/... so they resolve outside the library's private include paths. MultiMaterialSegmentation.hpp, Support/SupportParameters.hpp and Format/STEP.hpp are made self-contained by hand.
37 lines
1.3 KiB
C++
37 lines
1.3 KiB
C++
#ifndef slic3r_Brim_hpp_
|
|
#define slic3r_Brim_hpp_
|
|
|
|
#include "ExPolygon.hpp"
|
|
#include "ObjectID.hpp"
|
|
#include "Point.hpp"
|
|
#include "Polygon.hpp"
|
|
|
|
#include<map>
|
|
#include <utility>
|
|
#include<vector>
|
|
|
|
namespace Slic3r {
|
|
|
|
class Print;
|
|
class ExtrusionEntityCollection;
|
|
class PrintTryCancel;
|
|
|
|
// Produce brim lines around those objects, that have the brim enabled.
|
|
// Collect islands_area to be merged into the final 1st layer convex hull.
|
|
void 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 = nullptr);
|
|
|
|
ExtrusionEntityCollection makeBrimInfill(const ExPolygons& singleBrimArea, const Print& print, const Polygons& islands_area);
|
|
ExtrusionEntityCollection makeBrimInfillFromPlateCoordinates(const ExPolygons& singleBrimArea, const Print& print, const Polygons& islands_area);
|
|
|
|
// BBS: automatically make brim
|
|
ExtrusionEntityCollection make_brim_auto(const Print &print, PrintTryCancel try_cancel, Polygons &islands_area);
|
|
|
|
} // Slic3r
|
|
|
|
#endif // slic3r_Brim_hpp_
|