10 Commits

Author SHA1 Message Date
Martin Šach
919740fb3e Apply fix includes. 2024-07-08 15:37:02 +02:00
Martin Šach
5f843cc934 Fix #12469 - crash caused by bridge expansion.
Handle a very rare case in which the algorithm picks a wrong
polygon for expansion seed.
2024-06-20 14:57:03 +02:00
ps_copyright
f32859c302 final copyright headers 2023-09-01 14:49:07 +02:00
Vojtech Bubnik
02f69575ef Fix of SPE-1752, GH #10736:
Extended the bridge expansion algorithm to expand into sparse infill
by a maximum of 1 perimeter width. This solves a situation, where
the "ensure vertical wall thickness" region is filtered out as
too narrow to be important for print stability while the bridge expansion
only happened into the "ensure vertical wall thickness" regions before.

Partial revert of cf6b6ff4e4c47ebbe08f97cf80d923cde81c29af, reverts
	Fix SPE-1726 - hole between bridges and perimeters caused by thin internal fill surface
    GithubIssue https://github.com/prusa3d/PrusaSlicer/issues/10231#issuecomment-1546779200
    During sorting of surfaces into top, bottom and internal, expand bottom bridges by one spacing unit, to ensure better anchoring
2023-06-07 14:24:09 +02:00
Vojtech Bubnik
5e5af56635 Tiny optimization in RegionExpansion wave_seeds() for empty input 2023-04-11 10:21:55 +02:00
Vojtech Bubnik
1a91d85e7e Fixes of recent RegionExpansion implementation.
Enabled thick internal bridges even if external thick bridges are disabled.
Fixed compilation of conditionally compiled debugging code.
2023-01-06 17:53:49 +01:00
Vojtech Bubnik
b255278339 Fixed missing includes 2023-01-03 13:39:59 +01:00
Vojtech Bubnik
fbed29e209 WIP Ensure vertical wall thickness rework: bugfixes 2023-01-03 10:06:52 +01:00
Vojtech Bubnik
fde0d68c40 WIP Reworking of "ensure vertical wall thickness".
1) Flipped the order of "discover_vertical_shells" and "process_external_surfaces",
   now the external surfaces are expanded after "discover_vertical_shells"
   aka "ensure vertical wall thickness" is solved.
2) Reworked LayerRegion::process_external_surfaces() to only expand into
   "ensure vertical wall thickness" regions, also the expansion is done
   in small steps to avoid overflowing into neighbor regions.

also:
Utility functions reserve_more(), reserve_power_of_2(), reserve_more_power_of_2()
Various SurfaceCollecion::filter_xxx() modified to accept an initializer list of surface types.
New bridges detector refactored to accept overhang boundaries.
BoundingBoxWrapper was moved from RetractCrossingPerimeters to AABBTreeIndirect.
2023-01-02 13:19:27 +01:00
Vojtech Bubnik
11c0e567a6 WIP "ensure verticall wall thickness" rework:
1) New region expansion code to propagate wave from a boundary
   of a region inside of it.
2) get_extents() extended with a template attribute to work with
   zero area data sets.
3) ClipperZUtils.hpp for handling Clipper operation with Z coordinate
   (for source contour identification)
2022-12-20 09:09:10 +01:00