Vojtech Bubnik
db77331004
Slight refactor of Organic supports after merge
...
3d8f84ed76620790eac798cfa2caf17bf0b08f17
2023-02-10 14:09:47 +01:00
Vojtech Bubnik
3d8f84ed76
Merge remote-tracking branch 'remotes/origin/master' into tr_SuggestedTreeSupportFixes
2023-02-10 12:35:46 +01:00
Thomas Rahm
c9605580ee
Fix issue causing some tips to not generate, as remaining_overhang was nearly always empty
...
Fixes https://github.com/prusa3d/PrusaSlicer/issues/9459
2023-02-09 22:27:30 +01:00
Vojtech Bubnik
f1977b07be
Organic supports: Adding bridge detection using the same algorithms
...
as the regular supports.
Partial fix to #9493
2023-02-09 16:47:57 +01:00
Vojtech Bubnik
a1b0188e3a
Organic supports: Don't auto generate supports if supports disabled,
...
but "enforce number of first layers" is enabled.
Fixes #9477
2023-02-08 15:06:39 +01:00
Vojtech Bubnik
9ab88d75e0
Fixing overlaps of organic supports: Base vs. interface layers.
2023-02-08 14:40:50 +01:00
Vojtech Bubnik
aaffcbc282
Fixed crash in Organic supports with a single support layer only.
...
Fixes #9557
2023-02-06 16:52:09 +01:00
Vojtech Bubnik
7a873201d8
Organic supports: Fixed division by zero for soluble supports
...
(with zero separation gap between object and supports)
Fixes #9555
2023-02-06 14:58:53 +01:00
Vojtech Bubnik
3e1348c062
Organic supports: Reduce memory footprint.
2023-01-31 17:41:36 +01:00
Vojtech Bubnik
49caab98cb
Organic supports: Improving smoothing / collision avoidance convergence
2023-01-31 15:55:42 +01:00
Vojtech Bubnik
2a1e12131b
Cancellation of tree supports
2023-01-31 09:13:05 +01:00
Vojtech Bubnik
cd0ed00ef5
TREE_SUPPORT_ORGANIC_NUDGE_NEW enabled
2023-01-27 13:50:46 +01:00
Vojtech Bubnik
3e6302d4f3
Organic supports: Patching the missing trees for support enforcers
2023-01-27 13:09:20 +01:00
Vojtech Bubnik
6a9bcf8405
Tree supports: Switched to new Organic smoothing & collision avoidance.
...
Follow-up to 3d9f39e2584c5015b9e15f757c65a752f06b7a65
which had the new smoothing & collision avoidance disabled by mistake.
2023-01-26 13:59:32 +01:00
Vojtech Bubnik
3d9f39e258
Speed up of organic support smoothing & collision detection.
2023-01-24 14:31:33 +01:00
Vojtech Bubnik
77c521eabb
Tree supports: Disabled some more error reporting.
2023-01-19 17:20:42 +01:00
tamasmeszaros
76d0e11699
Merge branch 'master' into et_tm_sla_volumes_6-SPE-1285
2023-01-18 16:40:12 +01:00
Vojtech Bubnik
8ab0c2cb3d
Suppressed tree_supports_show_error() in production code.
...
Changed error strings to string_view literals.
2023-01-18 10:08:52 +01:00
Thomas Rahm
062a619381
Ensure that no points are placed the implicit line from last to first vertex, as the input is a line and not a polygon.
2023-01-13 02:58:43 +01:00
Thomas Rahm
6db30602a0
Make supported overhangs not differ between a tip radius of half of a line width to a tip radius of one line width
2022-12-21 01:08:46 +01:00
tamasmeszaros
2144f81bf1
Useful backend improvements from sla volumes branch
2022-11-29 11:10:52 +01:00
Vojtech Bubnik
19e7c55a2a
TreeSupports: Debugging the collision caches
2022-11-18 12:27:23 +01:00
Vojtech Bubnik
babc8a88a1
clip_clipper_polygon_with_subject_bbox() and diff_clipped() extracted
...
from TreeSupports to ClipperUtils to be generally available.
diff_clipped() is an optimized version clipping the "clipping" polygon
using clip_clipper_polygon_with_subject_bbox().
To be used with complex clipping polygons, where majority
of the clipping polygons are outside of the source polygon.
2022-11-15 16:54:26 +01:00
Vojtech Bubnik
acbc60f3e3
Better const correctness
2022-10-19 16:27:15 +02:00
Vojtech Bubnik
842283cd3b
WIP TreeSupports - organic supports: Partial fix for bottoms
...
of supports over object locked against laplacian smoothing
2022-10-13 14:42:25 +02:00
Vojtech Bubnik
2365b3a8dd
WIP TreeSupports: Now it is possible to switch between the normal
...
and the "organic" supports.
2022-10-12 14:33:36 +02:00
Vojtech Bubnik
418734f41b
WIP Tree supports with circular crossections: Clipping the remaining
...
collisions with the object.
2022-10-10 16:58:43 +02:00
Vojtech Bubnik
5cb4b63325
WIP TreeSupports: Experimental code draw_branches() to produce
...
trees with circular cross section
2022-10-10 14:19:06 +02:00
Vojtech Bubnik
3350292ff2
WIP TreeSupports
...
1) Nodes allocated using std::deque, not as std::set of pointers for
less memory allocator pressure.
2) Parents changed to parent indices, so that one may allocate side
by side data for nodes addressed by these indices. Thus now elemens
are being marked as deleted and the whole node database is being
compacted in one shot instead of deleting an element from std::set.
3) Removed SUPPORT_TREE_ONLY_GRACIOUS_TO_MODEL for simplicity, it was
never used.
4) Fixed crash when slicing multiple objects with three supports.
2022-09-29 17:10:53 +02:00
Vojtech Bubnik
2b3d4b2868
WIP TreeSupports:
...
1) Reworked the merging code to use an AABB tree for better locality.
The old code sorted lexicographically, the new code splits bounding
boxes by the longest axis.
2) Refactored to a functional style with better const correctness.
3) Reduced memory allocation pressure by replacing std::set with
vectors, in place merging etc.
2022-09-26 11:20:20 +02:00
Vojtech Bubnik
87dcba3e30
WIP TreeSupports: turned SupportElement::area from pointer to value.
2022-09-26 11:20:20 +02:00
Vojtech Bubnik
f790468cca
WIP TreeSupports: Extracting make_circle() into Polygon.cpp,hpp
2022-09-01 15:47:13 +02:00
Vojtech Bubnik
19f0d94be3
WIP TreeSupports: Removed support_xy_distance_overhang,
...
replaced with condition that support_xy_distance >= support_xy_distance_overhang
2022-09-01 14:30:20 +02:00
Vojtech Bubnik
078d496eef
WIP TreeSupports: Removed some features not pertinent to PrusaSlicer:
...
Commented out support angles.
2022-09-01 13:37:08 +02:00
Vojtech Bubnik
97af6f6f39
WIP TreeSupports: Fixed support blockers.
2022-09-01 11:53:14 +02:00
Vojtech Bubnik
0f71a41f53
WIP TreeSupports: Fixed self intersections on overhang regions
...
with support interfaces enabled.
2022-09-01 11:19:36 +02:00
Vojtech Bubnik
eacacc7317
WIP Tree Supports: Added anchors at the starts of tree support loops,
...
extruding the support loops in consistent (CCW) orientation,
always starting with the anchor.
2022-08-30 17:23:30 +02:00
Vojtech Bubnik
c36af0e739
WIP TreeSupports: Expand enforced areas so that the supports will be
...
generated even on steep overhangs.
2022-08-26 09:31:12 +02:00
Vojtech Bubnik
51cfec55cf
WIP TreeSupports: Fixed yet some more compiler warnings
2022-08-24 15:32:23 +02:00
Vojtech Bubnik
f54ba6aeaf
WIP TreeSupports: Fixed some more compiler warnings
2022-08-24 14:39:13 +02:00
Vojtech Bubnik
9045ff8f0e
WIP TreeSupports: Fixed some compiler warnings
2022-08-24 14:03:21 +02:00
Vojtech Bubnik
5b62a4954e
WIP TreeSupports: Taking into account the support angle threshold
...
and number of enforced layers.
2022-08-24 13:45:56 +02:00
Vojtech Bubnik
abc2bff3d8
One more OSX specific fix
2022-08-24 09:06:37 +02:00
Vojtech Bubnik
bfbfdaedb9
WIP TreeSupports: Fixed some compiler warnings and errors.
2022-08-23 12:04:18 +02:00
Vojtech Bubnik
b9e7cd2d7b
WIP TreeSupports: Improved speed of TreeModelVolumes by better
...
parallelization, cleaned up the code by better structuring
the collision caches with their mutexes.
2022-08-23 11:37:06 +02:00
Vojtech Bubnik
42b546ae9c
WIP TreeSupports: Refactored TreeModelVolumes for clarity
2022-08-16 11:54:30 +02:00
Vojtech Bubnik
85e9ae75bb
WIP Tree Supports: Enabled support enforcers / blockers
2022-08-15 10:16:16 +02:00
Vojtech Bubnik
af7108f792
WIP Tree Supports: Bunch of fixes and optimizations
2022-08-15 08:41:24 +02:00
Vojtech Bubnik
b0af552455
WIP TreeSupports: Little optimization - don't use std::function,
...
don't make unnecessary copies of Polygons
2022-08-03 09:40:30 +02:00
Vojtech Bubnik
fd0c84319e
WIP Tree Supports: Fixed one integer overflow.
2022-08-02 14:09:44 +02:00