Commit Graph

10880 Commits

Author SHA1 Message Date
tamasmeszaros
19e1c5fbc8 Enable full concurrency for support tree generation. 2019-10-02 16:33:13 +02:00
tamasmeszaros
c0cf5dea0c Fix tests on all platforms
Try to link tests on Mac.


Fix inaccurate pad brim size


fix build on mac (attempt 2)


Fixes for support tree faults and race conditions in release mode.


Fix crashing test executable on gcc 4.9


fix warning on msvc
2019-10-02 14:55:16 +02:00
tamasmeszaros
9f95831e40 sla::Raster interface clarified and covered with tests.
Also renamed sla::SupportTreeAlgorithm to SupportTreeBuildsteps.
2019-10-01 14:58:37 +02:00
tamasmeszaros
7a4a0917cf Deeper test coverage for support tree generation.
Restructuring for testability.
2019-10-01 14:58:37 +02:00
tamasmeszaros
05b73ad257 Add tests for sla support and pad creation 2019-10-01 14:58:37 +02:00
tamasmeszaros
20b86bbe8f Reworked pad creation algorithm with new parameters:
* brim size
* force pad around object everywhere
2019-10-01 14:58:37 +02:00
tamasmeszaros
1661765d8d Make loading of obj files into TriangleMesh possible. 2019-10-01 14:58:37 +02:00
tamasmeszaros
78d40b85eb libslic3r core enhancements
* ClipperUtils extended with ExPolygon to clipper paths conversion and improved PolyTree traversal
* Added ExPolygon constructor with Polygon argument
* Removed BoundingBox warnings on clang
* Removed Geometry warnings on clang
2019-10-01 14:58:37 +02:00
tamasmeszaros
5977c7715b Don't disable pad around object parameters if supports are disabled. 2019-10-01 14:57:37 +02:00
tamasmeszaros
113daacca9 Add upper limit on 1.0 to sla display gamma parameter. 2019-10-01 14:44:07 +02:00
YuSanka
424ebebab4 Fixed "unhandled unknown exception", when try to change an extruder count.
Side effect after 86b258f727.
2019-10-01 14:27:51 +02:00
bubnikv
126821e518 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-01 13:41:42 +02:00
bubnikv
07c1cafe26 Fixed a crash with a layer range modifier containing no slicing layer. 2019-10-01 13:41:22 +02:00
Lukas Matena
7128cae12a Print::validate() - check for empty print has been moved at the beginning of the function
This prevents a crash when the print is empty and the wipe tower enabled - validation of the wipe tower attempted to access extruders().front(), which was empty.
No other checks need to be done with the empty print anyway.
2019-10-01 12:48:58 +02:00
bubnikv
540525397f Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-30 16:25:31 +02:00
bubnikv
8357f1a119 Refactoring of the G-code preview for lower memory allocation
and for separation of concerns:

The final G-code preview no more uses ExtrusionPaths structure
to hold the G-code path data extracted by parsing the G-code.
Instead, the ExtrusionPath class has been trimmed down back to
the original size before the G-code preview was introduced,
and a new GCodePreviewData::Extrusion::Path class was created to hold
the additional path data as the extruder ID, color change ID
and fan speed.
2019-09-30 16:25:26 +02:00
YuSanka
07798b51aa Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-09-30 14:04:45 +02:00
YuSanka
682b9e0d46 Fix of SPE-1035 (Wrong filament color updating for multi-material print) 2019-09-30 13:59:26 +02:00
bubnikv
4bfc7f9faa Merge remote-tracking branch 'remotes/origin/et_pull_2922' 2019-09-30 10:23:16 +02:00
Lukas Matena
5bf68de25e An attempt to fix #2997
More fixes might be needed on the other platforms
2019-09-28 09:57:26 +02:00
bubnikv
f7d68e092a Return MultiPoint::first_point() by reference. 2019-09-27 19:47:30 +02:00
bubnikv
156c7cdfaf Fixing C++ issues, that the Visual Studio compiler did not report. 2019-09-27 19:18:35 +02:00
bubnikv
06c4560c4d One more try, fixing a missing parameter. 2019-09-27 19:07:07 +02:00
bubnikv
a1cbf45218 Fix of the ShortestPath.hpp interface: Provide non-move variant. 2019-09-27 18:47:08 +02:00
bubnikv
4c9a31236b Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-27 18:23:36 +02:00
bubnikv
ce217b6222 Rest of the path chaining has been replaced with the new algorithm.
PolylineCollection.cpp/hpp was removed, use Polylines instead.
Various first_point() / last_point() now return references, not copies.
2019-09-27 18:17:21 +02:00
Lukas Matena
d0016b9c1f Several fixes of previous commits related to KDTreeIndirect.hpp and ShortestPath.cpp/.hpp 2019-09-27 13:30:07 +02:00
Lukas Matena
f684a947ba CMakeLists: filename fix so everything works on case-sensitive filesystems 2019-09-27 11:42:52 +02:00
Lukas Matena
7da60b9f0b Fixing Linux build
GCC 4.8 does not fully support C++11 and in-class char array initialization
2019-09-27 11:31:16 +02:00
bubnikv
30f0e9b4d3 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-27 09:52:57 +02:00
bubnikv
f5d48d90a7 Fix of G-code path planning: Infill lines were incorrectly ordered
for islands with another islands in their holes.

Improvement of chaining of infill lines for 3D honeycomb, Gyroid and
Honeycomb infill: New TSP chaining algorithm is used.
2019-09-27 09:51:07 +02:00
bubnikv
5e0e360e07 WIP: Consolidation of shortest path calculations,
various chaining algorithms are replaced with the improved TSP
algorithm.
2019-09-26 17:30:03 +02:00
bubnikv
702c06d4b6 Reworked Traveling Salesman Problem code for simplicity and robustness.
The TSP algorithm is newly used for planning of the printing order
of objects AND their instances.
2019-09-26 16:39:50 +02:00
bubnikv
030f84734a Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-26 09:44:53 +02:00
bubnikv
8a8894e172 Introduction of a greedy Traveling Salesman Problem algorithm,
producing better shortest path estimate than the "closest next neighbor"
heuristics. The new greedy algorithm utilizes KD tree for closest
end point search, and builds a graph to detect loops.

PerimeterGenerator newly uses the optimized TSP algorithm.

ExtrusionEntity has been refactored / simplified.
2019-09-26 09:44:38 +02:00
Enrico Turri
be6cac24ec Fixed visual hints in 3D scene not disappearing when tabbing out of size z field in object manipulators sidebar 2019-09-25 13:05:18 +02:00
Lukas Matena
2fa1094b4e Fixed erroneous use of logical OR where bitwise OR was meant
Also, PrintBase::SlicingStatus enum had two entries assigned to 0 - removed the one that was never used
2019-09-25 12:18:30 +02:00
Enrico Turri
daaf6079a7 Fixed gizmo scale for objects added to scene using the new context menu 2019-09-25 11:25:14 +02:00
Lukas Matena
f7bd47c845 PRUS.cpp: Fixed an always-true condition in extract_model_from_archive
SupportMaterial.cpp: Simplified one condition (also solves a -Wmaybe-uninitialized warning on gcc)
2019-09-24 18:09:48 +02:00
Lukas Matena
2fbc4c37fc Fixed memsetting non-trivially-copyable types
Types stl_stats, stl_normal and SurfaceFillParams should not be zeroed by memset
This is not correct and also triggered warnings on gcc
2019-09-24 17:09:07 +02:00
Lukas Matena
a34a1341c5 Whitespace changes to supress misleading indentation warnings
These appear in newer gcc when spaces and tabs are mixed
2019-09-24 16:01:01 +02:00
YuSanka
84756bfc6a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-09-24 14:33:20 +02:00
YuSanka
2424b5f267 Fix of SPE-1027 2019-09-24 14:32:59 +02:00
Enrico Turri
05a3a0627c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-09-24 14:13:22 +02:00
Enrico Turri
6c20cef2cf Follow-up of f4910cafed -> Fix extended to Mac 2019-09-24 14:13:03 +02:00
Lukas Matena
b9e86d21ec MeshUtils.cpp: MeshRaycaster is now aware of the clipping plane 2019-09-24 12:58:12 +02:00
Enrico Turri
cbd6e9f18a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-09-24 09:11:43 +02:00
Enrico Turri
9a158663b1 #2972 - Fixed selection after adding an instance with autocenter active 2019-09-24 09:11:27 +02:00
Jason Tibbitts
7f698d3b86 Relocate declaration of stl_internal_reverse_quads
On little-endian hosts, stl_internal_reverse_quads will be called before
it is declared.  Move the declaration up to the beginning of the file to
fix build breakage seen on an s390x host.
2019-09-24 08:54:35 +02:00
YuSanka
a127568500 Fixed localization for "Configuration Wizard" menu item 2019-09-23 16:29:07 +02:00