22 Commits

Author SHA1 Message Date
Vojtech Bubnik
9ce81d6d12 Organic Supports improvements:
Added support_tree_branch_distance parameter to UI
Fixed error in calculation of placeable areas, which made some trees to cut through an object.
Locked the tree tips against smoothing of their centerline path.
Reduced density of tips with zero interface layers (see continuous_tips).
Reduced default support_tree_top_rate to 15%
Refactored placement of interfaces for readability.
2023-03-10 09:42:22 +01:00
Vojtech Bubnik
825c954b44 WIP: Organic Supports & Raft
Object is lifted, trees are routed to the ground.
2023-02-27 11:04:03 +01:00
Vojtech Bubnik
9ab88d75e0 Fixing overlaps of organic supports: Base vs. interface layers. 2023-02-08 14:40:50 +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
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
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
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
f971c392fe WIP TreeSupports: Some fixes, some clang specific workarounds,
some debugging code.
2022-08-02 13:36:05 +02:00
Vojtech Bubnik
5868028a7e WIP Tree supports: It compiles and it produced first trees. 2022-07-29 13:15:01 +02:00
Vojtech Bubnik
9e6871e5b8 WIP Tree supports: It compiles, but unfinished, missing pieces. 2022-07-27 10:41:11 +02:00
Vojtech Bubnik
665d1a94b4 WIP Tree Supports: Major changes, it does not compile yet. 2022-07-27 08:54:26 +02:00
Vojtech Bubnik
23099c83dc WIP Tree Supports: Extracted Cura configs into a structure,
replaced Cura AABB with BoundingBox,
headers should be compilable now.
2022-07-20 11:21:53 +02:00
Vojtech Bubnik
f6ae93366a WIP TreeSupports: Replaced cura namespace with Slic3r,
removed Cura includes.
2022-07-19 11:10:17 +02:00
Vojtech Bubnik
4c41311df3 WIP Tree Supports: Updated copyright 2022-07-19 10:59:10 +02:00
Vojtech Bubnik
b74fde237d WIP Porting tree supports by Thomas Rahm, losely based on Cura tree supports.
https://github.com/ThomasRahm/CuraEngine
2022-07-19 10:55:43 +02:00