Commit Graph

42 Commits

Author SHA1 Message Date
tamasmeszaros
c4507842a0 Add new (winner) neighbor index based on measurements 2021-06-08 10:34:32 +02:00
Vojtech Bubnik
980ca195f5 Merge remote-tracking branch 'remotes/origin/lh_multi_material_segmentation' into vb_print_regions 2021-05-26 15:23:35 +02:00
Vojtech Bubnik
38bb7d2950 1) New methods PrintObject::num_regions() and ::has_region() to make
the code more readable and to highlight where PrintObject::region_volumes
   are actually set and consumed.
2) Replaced Slic3r::clamp() with std::clamp(). They differ in the order
   of their parameters, thus hopefully no new bugs were introduced.
3) Some refactoring of MultiMaterialSegmentation for efficiency.
2021-04-22 11:41:26 +02:00
tamasmeszaros
dca67822d1 Eliminate warnings caused by changes to aid new libslic3r backend 2021-04-21 16:02:31 +02:00
Vojtech Bubnik
a116914fce 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
Lukáš Hejl
87879034f6 Merge remote-tracking branch 'origin/master' into lh_avoid_crossing_perimeters
# Conflicts:
#	src/libslic3r/MotionPlanner.cpp
#	src/libslic3r/libslic3r.h
2020-11-29 17:27:23 +01:00
Lukáš Hejl
55c282d85d Revamp of implementation of the avoid crossing perimeters algorithm.
The strategy for the avoid crossing perimeters algorithm has been redesigned. But external travels (travel between objects or supports) have not been solved yet. For these travels is used a direct path between two points.
Much of the code has been reworked, which leads to significant speedup compared to the previous implementation.
Also, several potential bugs have been fixed.
2020-11-29 13:58:36 +01:00
Vojtech Bubnik
060f1d48c1 Little more refactoring. 2020-11-20 11:56:40 +01:00
Vojtech Bubnik
239d588c5d 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
enricoturri1966
ce0312acbd Fixed gcodeviewer application title on Linux and Mac 2020-10-07 16:02:01 +02:00
tamasmeszaros
add3894e8c Add reserve_vector to libslic3r.h to be globally usable. 2020-08-13 15:42:31 +02:00
tamasmeszaros
929cea59f3 replace ccr_::enumerate with flexible for_each
enumerate is unusual and would only work effectively with random access iterators

this for_each takes advantage of tbb blocked_range
replace ccr_::enumerate with flexible for_each

enumerate is unusual and would only work effectively with random access iterators

this for_each takes advantage of tbb blocked_range
2020-08-13 14:35:14 +02:00
YuSanka
f138978fe7 Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-07-21 09:47:29 +02:00
YuSanka
6d4a0d91fc Fixed typo in PresetComboBox.hpp and added missed include in libslic3r.h 2020-06-26 16:58:53 +02:00
Vojtech Bubnik
81b809f2a1 Fixed broken compilation of Perl bindings. 2020-06-16 14:39:08 +02:00
Vojtech Bubnik
b101a8e266 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
Vojtech Bubnik
c64b7b2e21 Fix of the previous commit. 2020-05-22 09:29:21 +02:00
Vojtech Bubnik
4c365ad583 Replaced many defines in libslic3r.h with constexpr,
removed some macros to support old visual studio compiler.
2020-05-22 09:29:21 +02:00
bubnikv
4de4d765ee Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-04-28 19:31:18 +02:00
tamasmeszaros
8c04536514 Integrate scaling and unscaling into Point.hpp 2020-04-23 18:17:50 +02:00
bubnikv
03eb5ffcd5 WIP: Reworking of FillRectilinear2 to support monotonous infill
with ant colony optimization and 3-opt flips.
2020-04-22 10:54:11 +02:00
bubnikv
4656102dba Compile with 32bit coord_t by default. 2020-03-25 14:35:41 +01:00
bubnikv
c27297f6cc 64bit coord_t
Vec3i as a vertex index to TriangleMesh constructor
2020-03-25 14:35:41 +01:00
bubnikv
046f0dbfa2 Fixed a regression issue to PrusaSlicer 2.1.1
Custom printer with center of bed at 0,0 results in "toolpath outside print area" #3510
The G92 A0 B0 was incorrectly considered to be equal to just G92
to reset all axes.
2020-03-21 10:09:33 +01:00
tamasmeszaros
0c4797e92e use vsnprintf instead of snprintf in string_printf function
Also, revert to old location: Utils.hpp and utils.cpp
2020-02-03 16:00:53 +01:00
tamasmeszaros
8aec5f6726 string_printf Wformat-security hack #
#3594, #3592
2020-02-03 11:09:54 +01:00
Lukas Matena
63b0eec5a9 Merge branch 'master' into lm_tm_hollowing 2020-01-21 13:00:07 +01:00
bubnikv
15eedef74b Refactoring of ToolOrdering (wipe into infill / object)
Refactoring of GCode::_do_export()
Helper lower_bound and search functions similar to std, but without
needing the value object explicitely.
2020-01-10 11:27:04 +01:00
tamasmeszaros
5be66a52c0 add drain hole 3mf export and import 2019-12-06 15:47:58 +01:00
Vojtech Kral
745182988d Refactor: Move Semver from slice3r to libslic3r
A static symbol Slic3r::SEMVER is introduced, which holds
the running slicer's Semver object.

This is mainly done to make testing updater behaviour
_much_ easier. Additionaly to cleanup some questionable code
(Semver was being parsed multiple times / in multiple places
in the frontend.)
2019-08-19 17:04:14 +02:00
tamasmeszaros
14b32c4f16 Make an order in using scale and unscale, remove some warnings. 2019-06-26 10:34:27 +02:00
tamasmeszaros
ce22251707 Warning hunt session followup 2019-06-17 10:05:46 +02:00
Enrico Turri
9ffd294f07 Fixed functions declaration template<class Tf> inline constexpr coord_t scaled(Tf val) and template<class Tf> inline constexpr Tf unscaled(coord_t val) to use constexpr on versions of Visual Studio which support it 2019-06-17 09:28:41 +02:00
tamasmeszaros
c5037540e9 Warning hunt session. 2019-06-14 18:17:17 +02:00
Vojtech Kral
87ae061061 Fix build: Stray semicolon 2019-02-04 16:57:11 +01:00
Enrico Turri
39005cc8a0 Added missing include (build on OSX) 2019-01-29 12:09:40 +01:00
Enrico Turri
a09a9845b5 Fixed compile on OSX 2019-01-29 11:38:51 +01:00
Enrico Turri
14fe55d4b8 Fix of rotations using sidebar fields 2019-01-29 11:26:35 +01:00
Vojtech Kral
e8d63f3eb1 Upgrade Boost to 1.66 on Windows 2019-01-16 15:14:18 +01:00
bubnikv
3b72748489 Removed the STDMOVE macro. 2018-11-02 20:45:23 +01:00
bubnikv
96e035b2f8 Added various manifests,
added auto generation of includes and manifests from version and build
variables,
resurrected SLIC3R_LOGLEVEL env var.
2018-09-24 11:53:05 +02:00
bubnikv
0558b53493 WIP: Moved sources int src/, separated most of the source code from Perl.
The XS was left only for the unit / integration tests, and it links
libslic3r only. No wxWidgets are allowed to be used from Perl starting
from now.
2018-09-19 11:02:24 +02:00