| |
@@ -1,5 +1,5 @@
|
| |
diff --git a/src/layerPart.cpp b/src/layerPart.cpp
|
| |
- index 80370fe..07d40f2 100644
|
| |
+ index 80370fed..616c831d 100644
|
| |
--- a/src/layerPart.cpp
|
| |
+++ b/src/layerPart.cpp
|
| |
@@ -49,7 +49,7 @@ void createLayerParts(SliceMeshStorage& mesh, Slicer* slicer)
|
| |
@@ -12,19 +12,19 @@
|
| |
{
|
| |
SliceLayer& layer_storage = mesh.layers[layer_nr];
|
| |
diff --git a/src/support.cpp b/src/support.cpp
|
| |
- index a1081ad..1638c95 100644
|
| |
+ index dc39a8fe..13c69862 100644
|
| |
--- a/src/support.cpp
|
| |
+++ b/src/support.cpp
|
| |
- @@ -854,7 +854,7 @@ void AreaSupport::generateSupportAreasForMesh(SliceDataStorage& storage, const S
|
| |
- const double tan_angle = tan(angle) - 0.01; // the XY-component of the supportAngle
|
| |
- xy_disallowed_per_layer[0] = storage.getLayerOutlines(0, false).offset(xy_distance);
|
| |
+ @@ -860,7 +860,7 @@ void AreaSupport::generateSupportAreasForMesh(SliceDataStorage& storage, const S
|
| |
+ constexpr bool no_prime_tower = false;
|
| |
+ xy_disallowed_per_layer[0] = storage.getLayerOutlines(0, no_support, no_prime_tower).offset(xy_distance);
|
| |
// for all other layers (of non support meshes) compute the overhang area and possibly use that when calculating the support disallowed area
|
| |
- #pragma omp parallel for default(none) shared(xy_disallowed_per_layer, storage, mesh) schedule(dynamic)
|
| |
+ #pragma omp parallel for default(none) shared(xy_disallowed_per_layer, storage, mesh, layer_count, is_support_mesh_place_holder, use_xy_distance_overhang, z_distance_top, tan_angle, xy_distance, xy_distance_overhang) schedule(dynamic)
|
| |
- for (unsigned int layer_idx = 1; layer_idx < layer_count; layer_idx++)
|
| |
+ for (size_t layer_idx = 1; layer_idx < layer_count; layer_idx++)
|
| |
{
|
| |
- Polygons outlines = storage.getLayerOutlines(layer_idx, false);
|
| |
- @@ -1054,7 +1054,7 @@ void AreaSupport::generateSupportAreasForMesh(SliceDataStorage& storage, const S
|
| |
+ Polygons outlines = storage.getLayerOutlines(layer_idx, no_support, no_prime_tower);
|
| |
+ @@ -1056,7 +1056,7 @@ void AreaSupport::generateSupportAreasForMesh(SliceDataStorage& storage, const S
|
| |
const int max_checking_layer_idx = std::min(static_cast<int>(storage.support.supportLayers.size())
|
| |
, static_cast<int>(layer_count - (layer_z_distance_top - 1)));
|
| |
const size_t max_checking_idx_size_t = std::max(0, max_checking_layer_idx);
|
| |
@@ -32,4 +32,5 @@
|
| |
+#pragma omp parallel for default(none) shared(support_areas, storage, max_checking_idx_size_t, layer_z_distance_top) schedule(dynamic)
|
| |
for (size_t layer_idx = 0; layer_idx < max_checking_idx_size_t; layer_idx++)
|
| |
{
|
| |
- support_areas[layer_idx] = support_areas[layer_idx].difference(storage.getLayerOutlines(layer_idx + layer_z_distance_top - 1, false));
|
| |
+ constexpr bool no_support = false;
|
| |
+
|
| |
I had to rebase the patch for
gcc-9
, since the code changed slightly in this release.Part of updating
cura
to 4.0.0