Commit Graph

193 Commits

Author SHA1 Message Date
Vojtech Bubnik
d62aace663 Reduction on compiler warnings, mainly on MSVC.
Fix of the new gap_fill_enable flag: Take it into account when comparing
regions.
2021-02-10 17:29:07 +01:00
Vojtech Bubnik
831f47f4f8 Fixing some compiler warnings on Linux 2021-02-08 11:58:03 +01:00
Vojtech Bubnik
3f2b57b1d4 Squash merge of lh_brim_rework,
brim separated to Brim.cpp,hpp
Refactored accessors to PrintObjectPtrs, PrintRegionPtrs, LayerPtrs,
SupportLayerPtrs for const correctness.
2021-02-03 15:12:53 +01:00
Vojtech Bubnik
1ac322fe80 WIP VoronoiOffset: Squash merge of vb_voronoi_offset
Working contour offsetting,
skeleton_edges_rough() to detect "important" skeleton edges.
Radius of an inscribed circle along the "important" skeleton edges
changes slowly, therefore these "important" skeleton edges signify
oblong regions possibly needing a gap fill.
2021-01-29 16:34:22 +01:00
Lukas Matena
a6d023429d Fixed some more GCC warnings 2021-01-29 15:17:03 +01:00
Vojtech Bubnik
1c7059e707 Fixing unit tests for supports. After "dont_support_bridges" was fixed
for perimeters, no support was rightfully generated for a preset
using a default "dont_support_bridges" = off.
2020-12-11 17:57:49 +01:00
Vojtech Bubnik
8199e4051e Replaced all "long long" types with int64_t
Replaced all "unsigned long long" types with uint64_t.
These "new" types better communicate their meaning and they are
guaranteed to behave the same on all platforms & compilers.
2020-12-10 08:40:15 +01:00
Vojtech Bubnik
36bb2ad2ea Updated Catch2 to v2.13.3 to support compilation on OSX11 / ARM 2020-12-01 16:48:59 +01:00
Vojtech Bubnik
e3afd0082d Added functions to export raw image data to PNG for debugging purposes.
Renamed PNGRead.cpp/hpp to PNGReadWrite.cpp,hpp
EdgeGrid: Resurrected debugging output to PNG.
2020-11-26 09:01:44 +01:00
tamasmeszaros
a0acb3ec81 Enable http digest authentication for CURL 2020-11-25 13:58:03 +01:00
Vojtech Bubnik
b4d8d1dd84 Merge remote-tracking branch 'remotes/origin/master' into lh_adaptive_infill_hooks 2020-11-16 10:54:19 +01:00
enricoturri1966
c393ace3a8 ENABLE_GCODE_VIEWER set as default in fff_print test and PrusaSlicer.cpp 2020-11-12 15:01:59 +01:00
Vojtech Bubnik
e87e859baa 1) Implemented anchoring of infill lines to perimeters with length
limited anchors, while before a full perimeter segment was always
   taken if possible.
2) Adapted the line infills (grid, stars, triangles, cubic) to 1).
   This also solves a long standing issue of these infills producing
   anchors for each sweep direction independently, thus possibly
   overlapping and overextruding, which was quite detrimental
   in narrow areas.
3) Refactored cubic adaptive infill anchroing algorithm
   for performance and clarity.
2020-11-05 17:32:40 +01:00
Vojtech Bubnik
0af0ba0e36 Fixed unit tests broken with 3502f256fa 2020-10-29 12:39:03 +01:00
tamasmeszaros
0ee6e549c6 Fix sla tests on mac 2020-10-15 13:50:05 +02:00
tamasmeszaros
d488af9dce Fix confusing test
fixes #4724
2020-09-21 08:45:28 +02:00
tamasmeszaros
a2e7e0b7c2 Drop rubbish tests 2020-09-16 15:04:01 +02:00
Vojtech Bubnik
f58ee46687 WIP Refactoring of exceptions:
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
2020-09-14 18:03:22 +02:00
tamasmeszaros
b1c3c8a5d0 fixing optimizer and concurrency::reduce 2020-09-10 14:03:30 +02:00
tamasmeszaros
dbd5304bc2 Fix failing test due to changes in support point genertion 2020-09-10 13:19:17 +02:00
tamasmeszaros
c4cee05738 Enable all tests for support point generator 2020-09-10 13:19:17 +02:00
enricoturri1966
fe2d19e580 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-28 12:30:45 +02:00
tamasmeszaros
cc9869ebe8 Add missing includes for win 2020-08-27 23:14:42 +02:00
tamasmeszaros
26855a98e8 PNG image read with libpng 2020-08-27 23:14:42 +02:00
enricoturri1966
de6267d912 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-19 08:18:23 +02:00
tamasmeszaros
c875a3ab39 Add dedicated tests for support point generation 2020-08-18 11:41:14 +02:00
enricoturri1966
40febf0fb1 Fixed conflicts after merge with master 2020-08-04 09:58:19 +02:00
tamasmeszaros
24bd73f9af Working small-to-normal support merging
Fixed fatal bug with anchors for mini supports

Make the optimization cleaner in support generatior

Much better widening behaviour

Add an optimizer interface and the NLopt implementation into libslic3r

New optimizer based only on nlopt C interfase
Fix build and tests
2020-08-03 19:05:30 +02:00
tamasmeszaros
173366060f Include test name with output obj files for sla_print_tests 2020-08-03 19:05:30 +02:00
tamasmeszaros
6a9eccf673 Rename EigenMesh3D to IndexedMesh and SupportConfig to SupportTreeConfig 2020-08-03 19:05:30 +02:00
tamasmeszaros
8ec59a1d2c Id-s put in a base class for support tree primitives 2020-08-03 19:05:30 +02:00
tamasmeszaros
0f34c14284 Fix bugs and non working tests
Fix failing tests


Try to fix build on windows


Try to fix failng tests on Mac
2020-08-03 19:05:30 +02:00
tamasmeszaros
d46d86ba4b Separate support tree routing and meshing, remove Common.hpp/.cpp .
* Remove Common.hpp and Common.cpp, move things into their respective modules in sla.
2020-08-03 19:05:30 +02:00
tamasmeszaros
439de8536a Create smaller supports in problematic areas with established strategies
Completely remove the concept of CompactBridge.

Replace it with Heads having the same back radius as front radius. 

Try to apply the same rules for mini supports as in the route_to_model step.

Increased accuracy of bridge_mesh_intersect shot from support points


Refining mini support integration
2020-08-03 19:05:30 +02:00
enricoturri1966
5a490e23b6 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-06-29 08:48:23 +02:00
bubnikv
321961e71c Fixed unit tests on Windows after introduction of GMP to
boost::polygon Voronoi diagram generator by Vojtech.

Fixed Perl bindings on Windows after some "improvement" of the Windows 10
SDK headers, which fail if included from a C++ code using the
extern "C"
clause. Namely, the Windows 10 SDK include for sockets introduces C++ macros
if a "compiled with C++" symbol is provided even if included through
exetrn "C".
2020-06-27 08:44:13 +02:00
enricoturri1966
f6241fed50 Fixed conflict after merge with master 2020-06-19 11:49:59 +02:00
Vojtech Bubnik
2e72727f0f fix of previous commit, missing include 2020-06-16 14:00:25 +02:00
Vojtech Bubnik
9b7e2216e0 Fixes of the offset curves from Voronoi diagram.
The offset curve extractor is already quite usable,
though singular cases are still not covered yet
when the offset curve intersects or nearly intersects
a Voronoi vertex.

Removal of the PRINTF_ZU "%zu" Visual Studio printf compatibility macro.
Fixes of a contours self intersection test for collinear segments.
SVG exporter now exports white background, so that the GNOME Eye viewer is usable.
2020-06-16 13:15:48 +02:00
enricoturri1966
250687b71a Fixed conflicts after merge with master 2020-06-12 10:35:18 +02:00
Vojtech Bubnik
9dd089a411 Reworked algorithm for Voronoi Offset curve extraction.
Now the algorithm is very different from the OpenVoronoi implementation
and hopefully it is now correct (save numerical issues, which will be
a big PITA).
2020-06-11 16:11:02 +02:00
enricoturri1966
bf91b34021 Added new tech ENABLE_GCODE_VIEWER_AS_STATE -> GCodeViewer as a new application state (WIP) + fix of conflicts after merge with master 2020-06-05 16:50:17 +02:00
enricoturri1966
fdac77be36 Fixed conflicts after merge with master 2020-06-04 13:57:39 +02:00
Vojtech Bubnik
961839b75e WIP: Generating offset curves with properly rounded corners from
a Voronoi diagram. Curve extraction is based on the OpenVoronoi implementation.
2020-06-04 13:50:09 +02:00
tamasmeszaros
d10286c978 Fix the tests after EigenMesh3D refactor 2020-06-02 17:15:08 +02:00
enricoturri1966
2b50c6b480 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-29 12:29:24 +02:00
Vojtech Bubnik
eb246f1815 BoundingBox support for Lines,
BoundingBox constructor will no more throw for empty vector of points.

GMP allowed for Vojtech's fork of boost::polygon Voronoi implementation.

Added libslic3r tests for boost::polygon Voronoi. All Voronoi issues
ever reported on the Internet are captured by the tests. Two issues
reported (the two test cases) are real issues which may influence
PrusaSlicer negatively, namely

https://github.com/boostorg/polygon/issues/43
2020-05-28 15:53:53 +02:00
enricoturri1966
acd8801d3a Fixed conflicts after merge with master 2020-05-27 10:32:02 +02:00
Lukas Matena
c15a0d91bf Fixed unit tests after previous include manipulations 2020-05-26 15:33:44 +02:00
enricoturri1966
b1e7a40c3e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-22 12:12:56 +02:00