Commit Graph

508 Commits

Author SHA1 Message Date
tamasmeszaros
02b06f0107 try 2 phase optimization with auglag and inequalities 2023-01-18 09:26:28 +01:00
tamasmeszaros
0f34dfbeac Trying 2 phase optimization for pillar route search 2023-01-18 09:26:28 +01:00
tamasmeszaros
cdac790163 Try to fix pillar route search 2023-01-18 09:26:28 +01:00
tamasmeszaros
3d6bb38dd4 Fix failing tests 2023-01-18 09:26:28 +01:00
tamasmeszaros
2cd6a20254 Move merge point search out of pointcloud to support tree utils 2023-01-18 09:26:28 +01:00
tamasmeszaros
0bbd50eaa0 Bugfixes and new tests for pillar search 2023-01-18 09:26:28 +01:00
tamasmeszaros
a20659fc2d New ground route search implemented
Working gap avoidance for zero elevation
2023-01-18 09:26:28 +01:00
tamasmeszaros
963e8e6585 Revert util functions of DefaultSupportTree to original
To not break DefautlSupportTree
2023-01-18 09:26:28 +01:00
tamasmeszaros
1e9bd28714 Upgrade support tree route search functions, add tests 2023-01-18 09:26:28 +01:00
Vojtech Bubnik
5991850db1 WIP Extending the expressivity of ExtrusionRole
Co-authored-by: supermerill <merill@free.fr>
Based on the unfinished idea of @supermerill, defining ExtrusionRole
as a bit mask of ExtrusionRoleModifier.
Because the ExtrusionRole was used for both ExtrusionEntity and
G-code export / G-code viewer, the original ExtrusionRole had to be split
to ExtrusionRole and GCodeExtrusionRole to support bitmask attributes
for the former while keeing a low number of ordinary values for the latter.
2023-01-16 10:14:46 +01:00
Lukáš Hejl
3bf6714d52 Added several test cases for degenerated Voronoi diagrams extracted from #8446, #8846 and #9357. 2023-01-11 22:18:00 +01:00
Lukáš Hejl
424ef02d8a Added a test case for a missing part of a model cased by WallToolPaths::simplifyToolPaths that was reported in #8849. 2023-01-11 21:42:07 +01:00
Lukáš Hejl
6b16eb5068 Added a test case for missing infill that is probably caused by PolylineStitcher, which produced an open polyline. 2023-01-09 13:02:04 +01:00
Filip Sykala - NTB T15p
1896dd5761 Disable italic font check for RaspberryPi(aka linux) 2022-12-21 09:02:10 +01:00
Filip Sykala - NTB T15p
043c4c5e90 Fix for RPI build 2022-12-15 13:20:28 +01:00
PavelMikus
f71f8e0472 fix perimeters tests after merge of overhang slowdowns 2022-12-14 16:40:50 +01:00
Pavel Mikus
f730fd21d4 refactoring overhang speed 2022-12-14 14:49:20 +01:00
PavelMikus
dd7777f648 fix tests 2022-12-14 14:49:20 +01:00
tamasmeszaros
b67fe277fc Ease up tolerance for failing SLA test 2022-12-13 10:40:35 +01:00
Lukas Matena
f81382f604 Generic sphere shape is now created by recursive division of an icosahedron 2022-12-08 14:55:32 +01:00
Filip Sykala - NTB T15p
47ca06e53e Merge branch 'master' into fs_emboss 2022-12-05 15:21:04 +01:00
enricoturri1966
6f18f8f784 Tech ENABLE_RAYCAST_PICKING set as default 2022-12-05 10:24:30 +01:00
Filip Sykala - NTB T15p
d5fedd928c Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Point.hpp
2022-11-29 15:11:53 +01:00
Filip Sykala - NTB T15p
b1f9d50aad Rename function: collect_duplications -> collect_duplicates
more english correct name
2022-11-29 13:52:47 +01:00
Vojtech Bubnik
9a682a10cb Merge remote-tracking branch 'remotes/origin/fs_emboss' 2022-11-28 17:46:12 +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
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
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
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
Filip Sykala - NTB T15p
c052ff403a Merge branch 'master' into fs_emboss 2022-11-09 14:07:26 +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
Filip Sykala - NTB T15p
c77f8373bd Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Technologies.hpp
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/Gizmos/GLGizmosManager.cpp
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/Selection.hpp
2022-11-07 15:44:33 +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
Vojtech Bubnik
6e653d9070 Merge remote-tracking branch 'remotes/origin/master' into vb_treesupports 2022-11-02 17:21:36 +01:00
Vojtech Bubnik
409fae6183 WIP Refactoring of Layers: LayerIslands filled in with perimeter
extrusions, gap fill extrusions and fill regions.
2022-11-02 12:59:31 +01:00
Vojtech Bubnik
d041fa6c0c Refactored PerimeterGenerator to output out_fill_surfaces as ExPolygons,
not SurfaceCollection.

Reworked combineinfill.t, 07_extrusionpath.t, 08_extrusionloop.t to c++.
Removed Layer / ExtrusionPath / ExtrusionLoop / ExtrusionEntityCollection
from Perl bindings.
2022-10-27 19:08:43 +02:00
Vojtech Bubnik
237e56c7ce Follow-up to ee626eb65a
Refactored PerimeterGenerator for functional style, better constness
with the goal of calling PerimeterGenerator::process_xxx()
for each surface at once to collect its fill expolygons.
2022-10-27 13:04:52 +02:00
Vojtech Bubnik
ee626eb65a WIP: Layers split into islands, islands overlapping in Z interconnected
into a graph with links to the layer above / below.

In addition:
Members of LayerRegion were made private, public interface const only.
this->m_xxx replaced with just m_xxx
SurfacesPtr was made a vector of const pointers.
2022-10-26 18:41:39 +02:00
enricoturri1966
7ae4472827 Merge branch 'master' of https://github.com/Prusa-Development/PrusaSlicerPrivate into et_surface 2022-10-24 12:57:39 +02:00
Filip Sykala - NTB T15p
a752ccb420 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Technologies.hpp
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/Selection.cpp
2022-10-19 19:35:31 +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
Filip Sykala - NTB T15p
8343e81053 Fix test
+ Comment debug output
+ Add was_canceled in cut surface
2022-10-12 19:26:45 +02:00
Filip Sykala - NTB T15p
3fa3ea0bb4 Projection text for cut surface is made with double preccission 2022-10-12 16:17:38 +02:00
Lukas Matena
05e2a831f4 Added some unit tests (SurfaceMesh) 2022-10-12 08:40:34 +02:00
Filip Sykala - NTB T15p
8511b280bf Heal shape with points close to line
(after conversion to floating point it is on the other side of line)
ExPolygons indexing (fixed)
2022-10-11 13:35:52 +02:00
Filip Sykala - NTB T15p
e340fa6abe Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/AABBTreeLines.hpp
#	src/libslic3r/ExPolygon.hpp
#	tests/libslic3r/test_aabbindirect.cpp
2022-10-05 15:14:54 +02:00
Pavel Mikus
e02aed31d2 Added new query to AABBTree: all primitives (triangles/lines) within radius 2022-10-05 14:51:32 +02:00
Filip Sykala - NTB T15p
65f8b09876 Merge branch 'master' into fs_emboss 2022-09-30 18:29:57 +02:00
Lukas Matena
49c817c40b Resurrected an old test case for parsing and comparing config version numbers 2022-09-30 13:51:56 +02:00
Filip Sykala - NTB T15p
0e3b7cae12 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Technologies.hpp
#	src/slic3r/GUI/GLCanvas3D.cpp
2022-09-29 18:47:21 +02:00