Commit graph

20268 commits

Author SHA1 Message Date
Vojtech Bubnik
423503a6c5 Follow-up to 3713f09a8e
30fbdd1235
Fixed duplication of infills.
2022-11-22 09:27:11 +01:00
Vojtech Bubnik
da00cedc84 Fixed polygons_simplify() to correctly handle holes.
This fixes some missing tree / organic supports in the middle
of an object surrounded by walls all around.
2022-11-18 17:16:47 +01:00
Vojtech Bubnik
a98467f661 Merge remote-tracking branch 'remotes/origin/master' into vb_treesupports 2022-11-18 13:26:48 +01:00
Vojtech Bubnik
19e7c55a2a TreeSupports: Debugging the collision caches 2022-11-18 12:27:23 +01:00
Vojtech Bubnik
3713f09a8e Follow-up to 30fbdd1235
Fixed one more bug in Z chaining of layer islands.
2022-11-16 18:41:48 +01:00
Vojtech Bubnik
30fbdd1235 Fixed Z chaining of layer islands. 2022-11-16 18:14:42 +01:00
Vojtech Bubnik
70b1b4dfbf Fixed extrusion of gap fill of classic perimeter generator
after recent refactoring / sorting of extrusions into LayerIslands.
2022-11-16 15:27:17 +01:00
Vojtech Bubnik
fe51f77839 Improvements in performance of Medial Axis algorithm.
Fixes Slicing slows or hangs on "Generating Permiters 20%" cpu load is at 100% #8164
Fixes Slicing hangs on generating perimeters with thing:3565827 (30g) #3259
2022-11-16 12:03:31 +01:00
Pavel Mikuš
294839eb24
Improve performance of extra perimeters on overhangs (#9)
Use polygons instead of ExPolygons
remove unnecessary unions of expensive areas
Smoothen the anchors via opening and closing
2022-11-16 11:33:00 +01:00
Vojtech Bubnik
0a84421ea4 Fixing after recent refactoring: Missing forward declaration. 2022-11-15 19:20:16 +01:00
Vojtech Bubnik
8190eb4fe6 Fixed some compilation errors and warnings. 2022-11-15 18:44:38 +01:00
Vojtech Bubnik
1307fbf2f6 Fixed performance issues of PerimeterGenerator with
extremely detailed chain fabric models, for example
Fabric_of_Thyme_2.0_23x23
2022-11-15 18:28:56 +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
db3f696888 Fixed ExPolygon::overlaps(), which was not commutative.
Wrote unit tests for Clipper polyline clipping operations.
Rewrote ExPolygon unit tests from Perl to C++.
2022-11-15 15:32:16 +01:00
enricoturri1966
7c63e94515 Gizmo measure - Render hovered plane while in point selection mode 2022-11-15 12:36:38 +01:00
Vojtech Bubnik
f1c0c61895 Refactored Point / MultiPoint / Polyline / Polygon:
1) Removed virtual methods. There was not really need for them.
2) Some of the virtual methods were using conversion to Lines, which
   was unnecessary and expensive.
3) Removed some nearest element search methods from Point.
2022-11-14 19:01:17 +01:00
Vojtech Bubnik
9dca8403fe ClipperLib: Optimized PointInPolygon() to calculate cross products
with int64s instead of doubles.
Polygon / ExPolygon: contains() reworked to use ClipperLib::PointInPolygon().
	The Slic3r own implementation was not robust.
Fixed test_perimeters after recent refactoring (sorting of extrusions
	into LayerIslands)
2022-11-14 15:17:04 +01:00
PavelMikus
a0243affeb fix avoidance algorithm, improve curling filament estimation 2022-11-14 11:47:25 +01:00
YuSanka
1ba4227633 Fix for #SPE-1370 - Slicer crash when delete more volumes together
Bug was caused by changes in 13e4e85e3d
So, revert related parts of code.
2022-11-11 13:39:15 +01:00
enricoturri1966
d9be85fa01 Gizmo measure - Swap of CTRL and SHIFT keys behavior + CTRL used to pan/rotate the scene as in other gizmos 2022-11-11 12:38:37 +01:00
enricoturri1966
67b4dd9b2a Gizmo measure - Fixed feature color while point selection mode is active 2022-11-10 15:10:16 +01:00
enricoturri1966
a117a13b91 Gizmo measure - Modified states:
Pressing CTRL activates 'point selection'

Pressing CTRL+SHIFT while hovering a circle or an edge with extra point activates 'center selection'
2022-11-10 13:34:47 +01:00
YuSanka
252f9302ef Suppress to delete object from 3D-Scene, when ObjectList is in Editing mode 2022-11-10 11:23:31 +01:00
Lukas Matena
b3183cb277 Measurement: Fixed a bug in circles detection (failing assert) 2022-11-09 15:00:59 +01:00
YuSanka
cf417b4a73 Fix for SPE-1366(https://dev.prusa3d.com/browse/SPE-1366) - InGui Search doesn't work after switch to settings tab 2022-11-09 14:27:53 +01:00
Pavel Mikuš
633ce8aa21
Pm jps path finding (#8)
New step - estimation of curling on both the model and the support extrusions.
Improvements in curled filament estimation algortihm
Implementation of Jump Point Search algorithm 
Use of JPS algorithm to avoid curled extrusions during travel moves in Gcode export
2022-11-09 13:33:58 +01:00
Pavel Mikuš
06fbab12fe
Pm overhang extra perimeters (#7)
Implementation of extra perimeters on steep overhangs/flat unsupported parts
Also contains:
Principal components computation over polygon area
New fast bridge direction estimation which minimizes amount of unanchored bridge endpoints
2022-11-09 10:38:36 +01:00
Filip Sykala - NTB T15p
fbb159d595 Fix for selection multiple sla support points with shift 2022-11-08 16:41:49 +01:00
enricoturri1966
2ce76e27dd Measure Gizmo - Fixed volume's color blinking when pressing SHIFT key 2022-11-08 13:08:30 +01:00
Lukas Matena
a09c269584 Measurement: make the edge endpoint detection threshold smaller for short edges 2022-11-08 12:31:26 +01:00
enricoturri1966
41c6da913d Measure Gizmo - Release m_measuring content when leaving the gizmo 2022-11-08 12:16:58 +01:00
David Kocik
46e84dfd35 Read from hint database file in binary style 2022-11-08 12:02:46 +01:00
enricoturri1966
38ecef036a Measure Gizmo - Fixed unwanted volume displacement when click and dragging outside of an highlighted feature 2022-11-08 11:13:48 +01:00
enricoturri1966
8681770eaa Tech ENABLE_NEW_CAMERA_MOVEMENTS set as default 2022-11-08 09:05:57 +01:00
enricoturri1966
083df84009 Removed duplicated code into SceneRaycaster 2022-11-08 08:22:16 +01:00
Vojtech Bubnik
5eaec515ba Follow-up to f24b4e86a9:
Refactoring of G-code export to LayerSlices / LayerIslands:
Fixed some bugs
2022-11-07 20:00:34 +01:00
Vojtech Bubnik
28f8997dd3 Follow-up to f24b4e86a9:
Fixed compilation on OSX
Fixed incorrect clear of LayerIslands.
2022-11-07 17:26:48 +01:00
Vojtech Bubnik
f24b4e86a9 Follow-up to f342bfae4e
as GCC did not like what MSVC was able to swallow.
2022-11-07 16:30:11 +01:00
Vojtech Bubnik
fcb00680ab Follow-up to f342bfae4e: 2022-11-07 16:09:45 +01:00
Vojtech Bubnik
f342bfae4e Improved const correctness of ToolOrdering. 2022-11-07 16:00:13 +01:00
Vojtech Bubnik
bfaabf52cd Merge remote-tracking branch 'remotes/origin/master' into vb_treesupports 2022-11-07 15:59:24 +01:00
Vojtech Bubnik
3cdacd700c Merged with master 2022-11-07 14:51:07 +01:00
Vojtech Bubnik
8858651bf4 WIP Refactoring of Layers: Reworked G-code export to make use
of Layer->LayerSlice->LayerIsland hierarchy. This should improve
tool path ordering of multiple parts within the same object #5511.

Some shells tests rewritten from Perl to C++.

FIXME: Gap fill extrusions are currently not handled by the initial
G-code preview!
2022-11-07 14:47:43 +01:00
enricoturri1966
5df2713010 Measuring - Fixed transformation of distance_xyz 2022-11-07 14:46:21 +01:00
enricoturri1966
236f97aded Gizmo Measure - Fixed loss of selection when panning the view 2022-11-07 14:15:36 +01:00
YuSanka
380c746871 Linux specific issue: Prevent ObjectList's events, when updating the volumes in object.
On Linux DeleteVolumeChildren() called the update selection event, what caused the unexpected one by one selection of all volumes in object.
2022-11-07 13:47:34 +01:00
enricoturri1966
8abb8a6546 #8252 - GCodeViewer - Fixed crash when importing invalid gcode 2022-11-07 12:52:10 +01:00
Lukáš Hejl
411535ecdf Fixed undefined behavior (dereferencing std::unique_ptr pointing to nullptr) in the G-Code processing pipeline. 2022-11-07 10:09:49 +01:00
enricoturri1966
a0a0b0d253 Measuring - Keep showing dimensioning after scaling 2022-11-07 09:58:25 +01:00
Lukas Matena
34391a14a2 Merge branch 'lm_measurement_fixes' 2022-11-04 11:52:55 +01:00