Commit Graph

10884 Commits

Author SHA1 Message Date
3049408336 Make sure no vector reallocation will be performed on pillars.
This is a workaround for now, it needs to be handled properly.
2019-10-03 15:13:17 +02:00
234ccd8551 Add test obj and address for support under ground level if no elevation 2019-10-03 14:23:22 +02:00
14dcfd9847 Eliminate some race conditions in sla support tree 2019-10-03 12:31:25 +02:00
317375583e Add method for bridge addition with Head parameter to fill the bridge_id 2019-10-03 10:22:25 +02:00
19e1c5fbc8 Enable full concurrency for support tree generation. 2019-10-02 16:33:13 +02:00
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
9f95831e40 sla::Raster interface clarified and covered with tests.
Also renamed sla::SupportTreeAlgorithm to SupportTreeBuildsteps.
2019-10-01 14:58:37 +02:00
7a4a0917cf Deeper test coverage for support tree generation.
Restructuring for testability.
2019-10-01 14:58:37 +02:00
05b73ad257 Add tests for sla support and pad creation 2019-10-01 14:58:37 +02:00
20b86bbe8f Reworked pad creation algorithm with new parameters:
* brim size
* force pad around object everywhere
2019-10-01 14:58:37 +02:00
1661765d8d Make loading of obj files into TriangleMesh possible. 2019-10-01 14:58:37 +02:00
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
5977c7715b Don't disable pad around object parameters if supports are disabled. 2019-10-01 14:57:37 +02:00
113daacca9 Add upper limit on 1.0 to sla display gamma parameter. 2019-10-01 14:44:07 +02:00
424ebebab4 Fixed "unhandled unknown exception", when try to change an extruder count.
Side effect after 86b258f727.
2019-10-01 14:27:51 +02:00
126821e518 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-01 13:41:42 +02:00
07c1cafe26 Fixed a crash with a layer range modifier containing no slicing layer. 2019-10-01 13:41:22 +02:00
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
540525397f Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-30 16:25:31 +02:00
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
07798b51aa Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-09-30 14:04:45 +02:00
682b9e0d46 Fix of SPE-1035 (Wrong filament color updating for multi-material print) 2019-09-30 13:59:26 +02:00
4bfc7f9faa Merge remote-tracking branch 'remotes/origin/et_pull_2922' 2019-09-30 10:23:16 +02:00
5bf68de25e An attempt to fix #2997
More fixes might be needed on the other platforms
2019-09-28 09:57:26 +02:00
f7d68e092a Return MultiPoint::first_point() by reference. 2019-09-27 19:47:30 +02:00
156c7cdfaf Fixing C++ issues, that the Visual Studio compiler did not report. 2019-09-27 19:18:35 +02:00
06c4560c4d One more try, fixing a missing parameter. 2019-09-27 19:07:07 +02:00
a1cbf45218 Fix of the ShortestPath.hpp interface: Provide non-move variant. 2019-09-27 18:47:08 +02:00
4c9a31236b Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-27 18:23:36 +02:00
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
d0016b9c1f Several fixes of previous commits related to KDTreeIndirect.hpp and ShortestPath.cpp/.hpp 2019-09-27 13:30:07 +02:00
f684a947ba CMakeLists: filename fix so everything works on case-sensitive filesystems 2019-09-27 11:42:52 +02:00
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
30f0e9b4d3 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-27 09:52:57 +02:00
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
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
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
030f84734a Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-26 09:44:53 +02:00
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
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
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
daaf6079a7 Fixed gizmo scale for objects added to scene using the new context menu 2019-09-25 11:25:14 +02:00
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
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
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
84756bfc6a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-09-24 14:33:20 +02:00
2424b5f267 Fix of SPE-1027 2019-09-24 14:32:59 +02:00
05a3a0627c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-09-24 14:13:22 +02:00
6c20cef2cf Follow-up of f4910cafed -> Fix extended to Mac 2019-09-24 14:13:03 +02:00
b9e86d21ec MeshUtils.cpp: MeshRaycaster is now aware of the clipping plane 2019-09-24 12:58:12 +02:00