mirror of
https://github.com/QIDITECH/QIDIStudio.git
synced 2026-02-07 12:21:50 +03:00
update libslic3r
This commit is contained in:
@@ -9,6 +9,25 @@
|
||||
#include "SurfaceCollection.hpp"
|
||||
|
||||
namespace Slic3r {
|
||||
class LayerRegion;
|
||||
class PrintRegion;
|
||||
|
||||
struct PerimeterRegion
|
||||
{
|
||||
const PrintRegion *region;
|
||||
ExPolygons expolygons;
|
||||
BoundingBox bbox;
|
||||
|
||||
explicit PerimeterRegion(const LayerRegion &layer_region);
|
||||
|
||||
// If there is any incompatibility, we don't need to create separate LayerRegions.
|
||||
// Because it is enough to split perimeters by PerimeterRegions.
|
||||
static bool has_compatible_perimeter_regions(const PrintRegionConfig &config, const PrintRegionConfig &other_config);
|
||||
|
||||
static void merge_compatible_perimeter_regions(std::vector<PerimeterRegion> &perimeter_regions);
|
||||
};
|
||||
|
||||
using PerimeterRegions = std::vector<PerimeterRegion>;
|
||||
|
||||
class PerimeterGenerator {
|
||||
public:
|
||||
@@ -25,6 +44,7 @@ public:
|
||||
const PrintRegionConfig *config;
|
||||
const PrintObjectConfig *object_config;
|
||||
const PrintConfig *print_config;
|
||||
const PerimeterRegions *perimeter_regions;
|
||||
// Outputs:
|
||||
ExtrusionEntityCollection *loops;
|
||||
ExtrusionEntityCollection *gap_fill;
|
||||
@@ -41,10 +61,10 @@ public:
|
||||
std::pair<double, double> m_external_overhang_dist_boundary;
|
||||
std::pair<double, double> m_smaller_external_overhang_dist_boundary;
|
||||
std::vector<LoopNode> *loop_nodes;
|
||||
|
||||
|
||||
PerimeterGenerator(
|
||||
// Input:
|
||||
const SurfaceCollection* slices,
|
||||
const SurfaceCollection* slices,
|
||||
double layer_height,
|
||||
Flow flow,
|
||||
const PrintRegionConfig* config,
|
||||
|
||||
Reference in New Issue
Block a user