bubnikv
3b24b8c378
Linux libudev explicit linking: One more function wrapped.
2019-11-28 11:06:57 +01:00
bubnikv
67827546cf
linux specific: Explicit linking of libudev because there are
...
two versions out there in the wild. libusb0 is still used on
some LTS distros, for example on Centos6.
2019-11-28 10:09:13 +01:00
bubnikv
67b8506800
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-11-25 15:56:10 +01:00
bubnikv
d3ec53d9a6
WIP: Improvement in path planning
...
reorder_by_three_exchanges_with_segment_flipping()
works, but it is excessively slow, with close to O(n^3) time complexity.
Commited, but not used in production until sped up.
2019-11-25 15:55:59 +01:00
bubnikv
2b17e81f13
If of the previous commit: Set the MutablePriorityQueue indices
...
to size_t(-1) when removed from the queue.
2019-11-22 19:09:39 +01:00
bubnikv
9c4dc80057
Fix of the new gyroid infill path planning. Fixes #3226
2019-11-22 18:22:44 +01:00
bubnikv
232f324999
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-11-22 16:08:42 +01:00
bubnikv
6fcd51d5be
Fix of "Slicer crashes when slicing for flexible filament" #2988
2019-11-22 16:08:25 +01:00
bubnikv
0b9b74e35e
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-11-22 15:33:38 +01:00
bubnikv
4cff569b62
Improvements of infill path planning:
...
Implementation of 2-opt pairwise exchange iterative improvement
algorithm with an extension to a chain of segments, where
the chain of segments may get flipped during the exchange operation.
The 2-opt exchange algorithm may be quite slow.
2019-11-22 15:33:20 +01:00
bubnikv
b2a6a07d72
Make the .gcode and .sl1 thumbnails configurable through printer profile.
2019-11-15 17:33:31 +01:00
bubnikv
bc53c44bf4
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-11-15 16:20:12 +01:00
bubnikv
fe4b65e305
Improvement of the Elephant foot compensation:
...
Using a positive curvature estimate to control the strength
of the Elephant foot compensation shall work similarly to
the previous implementation while avoiding pinching off
tiny pieces from the contour.
2019-11-15 16:20:01 +01:00
bubnikv
8c377c6585
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-11-14 17:02:46 +01:00
bubnikv
dd59945098
Fix of a typo in KDTreeIndirect.
...
Improvement of the infill path planning.
Regression fix of Gyroid infill crashes.
Some unit tests for elephant foot and path planning.
2019-11-14 17:02:32 +01:00
bubnikv
ae887d5833
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-11-11 15:16:31 +01:00
bubnikv
f597131604
Trying to disable dark mode when compiled against the latest OSX SDK
...
as we are not yet ready for that.
2019-11-11 15:16:20 +01:00
bubnikv
588734c7b3
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-11-07 14:35:50 +01:00
bubnikv
f2dd49a905
Merged pull request "Gyroid improvements" #2730
...
by @supermerill and @wavexx
WIP: The function Fill::connect_infill() is being rewritten
to utilize spatial structures wherever possible for lower CPU load
and less dynamic memory allocation.
2019-11-07 14:28:30 +01:00
bubnikv
612e45e783
std::exchange not supported by C++11.
2019-11-05 11:46:05 +01:00
bubnikv
fa591a80d1
Merge branch 'BryanSmithDev-master'
2019-11-05 11:38:04 +01:00
bubnikv
7a7183383f
Merge branch 'master' of https://github.com/BryanSmithDev/PrusaSlicer into BryanSmithDev-master
2019-11-05 11:37:40 +01:00
bubnikv
f75c022445
Reworked pull request
...
Centering model on bed, using bed shape from config (if available). #2424
thanks @luketaverne
2019-11-05 11:16:55 +01:00
bubnikv
e1c6bd174a
Fixed missing include.
2019-11-05 11:14:00 +01:00
bubnikv
b295bc22db
Adaptive elephant foot compensation: Improvement of the variable
...
offset regularization.
2019-11-05 10:45:14 +01:00
bubnikv
2399570950
Only enable Elphant foot compensation if printing directly
...
on the print bed (raft is disabled).
2019-11-04 11:34:33 +01:00
bubnikv
4c735192ef
Bugfixes of the new adaptive elephant foot compensation.
2019-11-04 11:26:36 +01:00
bubnikv
bb8d59391f
Fixed missing include
2019-11-01 21:13:53 +01:00
bubnikv
c4a74fdfc5
Fix of previous commit.
2019-11-01 20:05:40 +01:00
bubnikv
db97610821
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-11-01 19:59:22 +01:00
bubnikv
a72ac57fab
adaptive elpehant foot compensation, fixing
...
GH issues #1757 #2085 #2132 #2423 #2502 #2156 #2773 #2828 #2998 #3001
2019-11-01 19:59:09 +01:00
bubnikv
f60fbecd3d
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-30 10:19:00 +01:00
bubnikv
ba39ee6f12
EdgeGrid::signed_distance_edges() to provide the pedal point.
...
Removed 20_print.t test.
2019-10-30 10:18:56 +01:00
bubnikv
9e8ce66f70
Fix / improvement of unit tests.
2019-10-25 19:06:40 +02:00
bubnikv
2e7e95adae
Disabled broken tests, ported some more tests to C++,
...
removed Perl tests that were already ported to C++.
2019-10-25 18:23:42 +02:00
bubnikv
f8dc74374c
Ported various clipper unit tests from Perl to C++,
...
the clipper Perl unit tests were removed.
2019-10-25 17:07:55 +02:00
bubnikv
d70b45a51b
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-25 14:40:24 +02:00
bubnikv
4ae0f3a61c
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-25 13:34:55 +02:00
bubnikv
5e8572a196
New functions for variable offsets of polygons / expolygons.
...
Test cases for the above.
Improvements of older test cases.
2019-10-25 13:34:37 +02:00
bubnikv
18bbefcd61
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-23 15:07:53 +02:00
bubnikv
cf94482731
Fix of Voronoi debug output.
2019-10-23 15:07:41 +02:00
bubnikv
f6057c1b4f
test_printgcode.cpp - trying to replace std::regex with boost::regex
...
as the std::regex is likely old or incorrect on our old debian/gcc
build server.
2019-10-18 16:50:03 +02:00
bubnikv
d1a86e513c
Fixing some GCodeExport and Flow unit tests.
2019-10-18 15:44:13 +02:00
bubnikv
6e6b137151
Test of importing non-standard ASCII STL (broken normals, junk
...
after the ending tags)
2019-10-18 14:42:03 +02:00
bubnikv
7a47784ddf
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-18 13:05:35 +02:00
bubnikv
070070edba
Initial tests for import of ASCII STLs with varying line endings.
2019-10-18 13:05:22 +02:00
bubnikv
e04e2b3636
Slight improvements of unit tests, fix of perl bindings.
2019-10-18 12:05:37 +02:00
bubnikv
13cc74ef0a
Ported test_config.cpp from upstream Slic3r.
...
Extended ConfigBase with set() functions similar to the upstream Slic3r.
ConfigBase::set_deserialize() newly throws if the operation fails.
Extrusion width parameters are newly tested for negative values.
2019-10-18 11:53:19 +02:00
bubnikv
b7af51fd6d
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-17 19:10:50 +02:00
bubnikv
98a71a557b
Ported test_support_material.cpp from upstream slic3r.
...
Ported extension of ExtrusionEntityCollection::flatten() to disable
flattening of no_sort() collections.
2019-10-17 19:09:24 +02:00
bubnikv
f9710eff08
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-17 17:09:25 +02:00
bubnikv
c228a49fe0
Ported test_support_material from upstream Slic3r.
...
Reworked the FFF testing framework & ConfigBase::set_deserialize()
for more compact tests: set_deserialize() now accepts list
of key / value pairs.
Fixed an incorrect assert in LayerRegion.
2019-10-17 17:09:15 +02:00
bubnikv
0ee78543a4
Fixed another weird auto + initializer list clang issue.
2019-10-16 18:23:33 +02:00
bubnikv
fee4dc3fc0
Fixes of unit tests on OSX. The old clang does not like the way
...
@lordofhyphens uses the initializer lists together with autos.
2019-10-16 17:55:41 +02:00
bubnikv
76c4eaf19a
Ported test_fill from upstream Slic3r, thanks @lordofhyphens
2019-10-16 17:43:43 +02:00
bubnikv
c2edcd07cb
Ported test_printgcode from upstream Slic3r, thanks @lordofhyphens
2019-10-16 15:40:09 +02:00
bubnikv
af7c69bfab
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-16 13:20:49 +02:00
bubnikv
a5eb4a4ce1
Ported test_print/test_printobject/test_3mf from upstream Slic3r, thanks @lordofhyphens
2019-10-16 13:20:09 +02:00
bubnikv
6585e58e83
Fix of perl bindings
2019-10-16 11:34:45 +02:00
bubnikv
69c8b1cd21
new cheaper constructor for DynamicPrintConfig from FullPrintConfig:
...
DynamicPrintConfig::full_print_config()
new cheaper constructors of DynamicConfig / DynamicPrintConfig from ConfigBase
Unit tests: ported test_model from upstream Slic3r, thanks @lordofhyphens
Unit tests refactored to use less autos and initializer lists for readibility,
DynamicPrintConfig is handled by value, not by shared pointer.
2019-10-16 11:16:50 +02:00
bubnikv
90d5712091
Filling in the autos in the tests so it is readible and it compiles on OSX
2019-10-16 09:28:27 +02:00
bubnikv
21837ceb85
Trying to fix compilation issues of the test cases on OSX.
2019-10-15 19:04:02 +02:00
bubnikv
72e99cf35f
Fixing some compilation issues of the C++ test cases on OSX.
2019-10-15 18:38:40 +02:00
bubnikv
abe856f9fe
Ported remove_collinear(Polygon) and test_polygon from upstream slic3r.
2019-10-15 18:08:32 +02:00
bubnikv
de45be5f29
Ported test_gcodewriter from upstream Slic3r, thanks @lordofhyphens.
...
The format for G1 Fxxx was changed to fixed three decimal digits.
2019-10-15 17:35:19 +02:00
bubnikv
88df291372
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-15 16:57:37 +02:00
bubnikv
1964ac2e89
Ported test_skirt_brim from upstream Slic3r, thanks @lordofhyphens
2019-10-15 16:31:20 +02:00
bubnikv
c99e7cb0df
Ported test_trianglemesh from upstream slic3r, thanks @lordofhyphens
2019-10-15 13:49:28 +02:00
bubnikv
67e1eba8e6
Ported test_data.cpp/hpp & test_flow.cpp from upstream slic3r,
...
thanks @lordofhyphens
2019-10-15 11:28:20 +02:00
bubnikv
e538a06fb0
Added missing include (worked on MSVC)
2019-10-15 09:49:33 +02:00
bubnikv
42a858b999
Added test projects for libslic3r and fff_print.
...
Added test_geometry.cpp from upstream slic3r, thanks @lordofhyphens
Added circle_taubin_newton() for circle center calculation, thanks @lordofhyphens
2019-10-15 09:40:40 +02:00
bubnikv
d815a518bd
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-04 16:50:18 +02:00
bubnikv
f8ff23638f
Fixed regression due to ExPolygonCollection to ExPolygons refactoring.
...
Fixed crashes in BridgeDetector due to unexpected implicit conversion
to a const temporary.
2019-10-04 16:50:01 +02:00
bubnikv
546ad99306
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-01 17:17:20 +02:00
bubnikv
564eddd99d
FDM Print refactoring:
...
Layer newly remembers bounding boxes of slices,
the bounding boxes are used by G-code generator & newly the support
generator.
Slices are stored as ExPolygons, not ExPolygonCollection.
2019-10-01 17:17:08 +02:00
bubnikv
0e325824b1
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-01 13:41:42 +02:00
bubnikv
6a07b231e1
Fixed a crash with a layer range modifier containing no slicing layer.
2019-10-01 13:41:22 +02:00
bubnikv
93a157e26c
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-09-30 16:25:31 +02:00
bubnikv
272479826f
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
bubnikv
b425ee50a9
Merge remote-tracking branch 'remotes/origin/et_pull_2922'
2019-09-30 10:23:16 +02:00
bubnikv
0abde9a2a8
Return MultiPoint::first_point() by reference.
2019-09-27 19:47:30 +02:00
bubnikv
6d11bfe96a
Fixing C++ issues, that the Visual Studio compiler did not report.
2019-09-27 19:18:35 +02:00
bubnikv
debd9e2f81
One more try, fixing a missing parameter.
2019-09-27 19:07:07 +02:00
bubnikv
50d3894e32
Fix of the ShortestPath.hpp interface: Provide non-move variant.
2019-09-27 18:47:08 +02:00
bubnikv
85ea0396a4
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-09-27 18:23:36 +02:00
bubnikv
331c187b39
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
bubnikv
4b35ebe6e5
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-09-27 09:52:57 +02:00
bubnikv
e65ab90c16
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
d06831076d
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
10eecb2cab
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
8d4dd294b2
Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev
2019-09-26 09:44:53 +02:00
bubnikv
41495a932a
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
bubnikv
110d5b9d56
Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev
2019-09-19 17:16:43 +02:00
bubnikv
6ce1011a09
Slic3r -> PrusaSlicer in config snapshot dialog.
2019-09-19 17:16:37 +02:00
bubnikv
bcdb75f799
Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev
2019-09-19 14:32:13 +02:00
bubnikv
2414dab85a
Fix of perl bindings
2019-09-19 14:31:50 +02:00
bubnikv
80c5eaacdf
Merge remote-tracking branch 'remotes/origin/dev' into vk-materials
2019-09-19 11:49:49 +02:00
bubnikv
40e5fb5bb9
Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev
2019-09-19 08:57:04 +02:00
bubnikv
94212fa2a9
Another fix of admesh on big endian architectures, fixes #2879
2019-09-19 08:56:47 +02:00
bubnikv
83b6b82188
Refactored ExtrusionEntityCollection::flatten()
2019-09-16 16:35:08 +02:00