Commit graph

4818 commits

Author SHA1 Message Date
YuSanka
bba6d8b94d Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-10-25 16:16:36 +02:00
YuSanka
ae21667786 Cut WIP: First implementation for detection of the invalid connectors position
Implemented cases:
* overlap of some connectors
* check if some connector position is outside of clipper
2022-10-24 16:57:02 +02:00
YuSanka
7bb0b7eefc Cut bug fixing: Fixed a place of connectors after several cutting
+ Added info about camera direction to a DEBUG window
+ Code factoring (deleted unused code)
+ Fixed build warnings
2022-10-20 16:34:21 +02:00
YuSanka
2880704de9 Cut improvements/ bug fixing:
* Wrong position of grabber is fixed
* OSX specific: ObjectList: Fixed update of the info items after cut
* Show info line, when Cut plane is invisible

+ Fixed non-Win build: added missed include
2022-10-19 17:38:04 +02:00
Vojtech Bubnik
2ced762948 Integrating a C++20 like span library
https://github.com/tcbrindle/span

Replacing a homebrew const pointer wrapper const correctness helper
with the C++20 like span library.

One day when we switch to C++20 we will just use the C++20 spans instead.
2022-10-19 16:27:15 +02:00
Vojtech Bubnik
acbc60f3e3 Better const correctness 2022-10-19 16:27:15 +02:00
Vojtech Bubnik
24f671e924 Little clean-up of ConstVectorOfPtrsAdaptor to be more vector like. 2022-10-19 16:27:15 +02:00
enricoturri1966
71660a281b Tech ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL set as default 2022-10-19 08:52:35 +02:00
YuSanka
3a21f156c0 Cut Improvements/Bug Fixing
* Context menu: Suppress "Simplify model" for cut object
* CutGizmo:
  * Disable gizmo for dowel object
  * Invalidate cut plane position after update of Bounding box
  * Suppress Frustum style for connectors with Dowel type
  * Rectangle selection: Fixed processing on LeftUp
* Selection on Canvas: Suppress to move NEGATIVE_VOLUME if it's a connector
* Model:cut: Fixed a bug in add_cut_volume(). Cut info wasn't copied to the new volume
2022-10-18 14:13:50 +02:00
YuSanka
13e4e85e3d Cut bug fixing:
Model: fixed looks_like_imperial_units(). This function respects to cut status now.
To be detected as looks_like_imperial_units, all parts of cat object have to be looks_like_imperial_units().

ObjectList: Fixed update after adding/deleting of the modifiers for cut object

GUI_Factories: Fixed a place of the "Invalidate cut info" item in object menu
2022-10-17 15:49:43 +02:00
YuSanka
64c57faf8f Cut Improvements: Fixed Undo/Redo for cut performance
+ ObjectList: Fixed items update after Invalidate cut information
+ CutGizmo: Fixed wrong mode selection after delete object and that add new
2022-10-17 12:15:10 +02:00
Vojtech Bubnik
b6e1a7ed52 WIP TreeSupports highly experimental: Add 2nd perimeter
to thick tree supports for stability.
2022-10-13 14:43:03 +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
009fe1cab4 New method ConfigOptionDef::set_enum_values() to initialize enum
names / values for UI combo boxes using an initializer list of pairs
of values.
2022-10-12 14:12:07 +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
5cba1e8319 Improved Point.hpp to_2d() and to_3d() templates to accept Eigen expressions 2022-10-10 14:15:26 +02:00
Vojtech Bubnik
493ada15a5 WIP TreeSupports: fix of calculatePlaceables() by Thomas Rahm 2022-10-10 14:15:26 +02:00
YuSanka
85af9b93f1 Cut: Fixes and improvements for object's context menu
* Disable or delete some menu items, which are inappropriate for cut objects
* For cut objects added menu item "Invalidate cut info" to disconnect related cut parts of initial object
* If just one part is kept after cut performance, than don't apply a cut info for this object.

+ CutGizmo: Fixed selection of the mode
   An object has connectors         -> Connectors mode
   An object doesn't has connectors -> CutPlane mode
2022-10-07 16:26:19 +02:00
YuSanka
74a32e3261 Cut: Bug fixing and Improvements
* CutGizmo: Fixed a label scale
* Fixed deselection of selected connectors, when moving the camera
* Implemented update of the settings for selected connectors
* Connector selection: Ctrl shortcut is changed to Shift to compatibility of the selection/deselection with rectangle selection
2022-10-07 11:14:13 +02:00
Pavel Mikus
c86deb92db improve function name to reflect that it does unscaling (to_unscaled_linesf) 2022-10-06 12:19:33 +02:00
Pavel Mikus
e02aed31d2 Added new query to AABBTree: all primitives (triangles/lines) within radius 2022-10-05 14:51:32 +02:00
Pavel Mikus
b49a2425ca Improve Lines Distancer quality, use it also in SeamPlacer 2022-10-05 14:51:32 +02:00
PavelMikus
20bd7f9a26 improvements in islands recognition; LinesDistancer class for both Point based and Floating based lines 2022-10-05 14:51:32 +02:00
tamasmeszaros
835c08beeb Remove accidental leftover commented source file 2022-10-05 10:12:28 +02:00
YuSanka
b4f38883a8 Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-10-03 11:30:49 +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
YuSanka
d1c871758b Cut WIP:
* ObjectDataViewModel: Respect to the volume id, when adding the new volume to the object
* 3mf : Save/Load info about connectors
2022-09-29 14:36:47 +02:00
enricoturri1966
3513b800a0 Tech ENABLE_PREVIEW_LAYOUT set as default 2022-09-29 14:23:41 +02:00
enricoturri1966
524e55edd9 Tech ENABLE_LEGEND_TOOLBAR_ICONS set as default 2022-09-29 12:19:20 +02:00
Vojtech Bubnik
d7d849a02c Fix of #8932 Hang while slicing interlocking chainmail model
Reworked the Archimedean Chords, Hilbert and Octagram Spiral infill
generators to
1) Generate solid infill as not aligned with other solid infill layers.
   This may surprise some users as the pattern over multiple islands
   will be different, maybe not that nice. This may change in the future.
2) Sparse infill is always aligned and generated over the whole object,
   however newly the generated lines are trimmed with a snug bounding box
   while being generated.
3) For Archimedean chords the accuracy was not applied correctly, leading
   to higher accuracy for dense infill and lower accuracy for sparse infill.
2022-09-29 12:12:20 +02:00
enricoturri1966
32b2c90538 Tech ENABLE_TRAVEL_TIME set as default 2022-09-29 11:07:20 +02:00
Vojtech Bubnik
9bc69efde6 Configuration of TBB work pool threads executed from the background
slicing process:
1) "C" locales are always enforced.
2) OSX Quality of Service level is set to make sure the slicing
  runs on fat cores on Apple Silicon if some fat cores are available.
2022-09-27 18:12:27 +02:00
YuSanka
0201a5055a Cut WIP:
* Suppress to split cut objects
* ObjectList:
  * Use another icons to mark the cut objects and connectors 
  * For the cut object show parts, which are not connectors
* Set different colors for the Plugs and Dowels
* CutGizmo:
  * Invalidate CutGizmo after changes in ObjectList or perform a cut
  * CupPlane in Connectors mode: Unselect selection, when click on empty space
  * Connectors mode: Fixed performance issue
2022-09-27 16:17:09 +02:00
enricoturri1966
174df56ec2 Tech ENABLE_PREVIEW_LAYER_TIME set as default 2022-09-27 12:39:24 +02:00
enricoturri1966
e834b75e54 Tech ENABLE_VOLUMETRIC_RATE_TOOLPATHS_RECALC set as default 2022-09-27 10:22:39 +02:00
YuSanka
e689be65db Code cleaning 2022-09-27 09:10:09 +02:00
YuSanka
66e2c3b30a Cut WIP: Send to the cut() whole cut_matrix instead of cut_plane_pos and rotation angles
+ Fixed units inside input window
+ NotificationManager: Added info line for loaded object with cut parts
+ Next Code refactoring
2022-09-27 08:22:20 +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
enricoturri1966
f19882749f #8941 - GCodeViewer - Extended processing of line G10 for RepRap firmware (set tool temperature) 2022-09-26 09:38:08 +02:00
YuSanka
7a1c118924 Split object : Check if new objects don't have a zero volume
Related to :
 * #8931 - Split to objects crashes Prusa Slicer
 * SPE-1221(https://dev.prusa3d.com/browse/SPE-1221) - Split to objects fail
2022-09-23 16:37:33 +02:00
YuSanka
b2d5fd72e9 Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-09-23 13:32:32 +02:00
Lukas Matena
70be93d112 Fixed issue with Euler angles:
the function to extract Euler angles did not work reliably in some of the corner cases.
The bug was not present in 2.5.0 release.
2022-09-23 13:23:40 +02:00
PavelMikus
bb993b8f94 Greatly reduce curling of Rear seams, revert previous ineffective change
SPE-1310
2022-09-23 11:40:19 +02:00
Lukas Matena
a6f94193d5 Cut: Fix transformations, make contour not scale with object 2022-09-21 09:05:53 +02:00
tamasmeszaros
9ef826cb5f Fix potential crashes in SLA normal calculation routine 2022-09-20 12:47:53 +02:00
tamasmeszaros
a3aeddfd13 Merge branch 'tm_arrange_bounds_SPE-1247' 2022-09-20 10:59:49 +02:00
YuSanka
737117e474 Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-09-19 08:26:52 +02:00