Vojtech Bubnik
52b3c655ff
Fixed Polygon::centroid()
...
Ported Polygon unit tests from Perl to C++.
2021-05-07 11:42:21 +02:00
Vojtech Bubnik
f16d4953be
Removing offset2 from Perl bindings and other minor cleanup.
2021-05-06 14:29:20 +02:00
Vojtech Bubnik
09a80d954c
Further rework of ClipperUtils: Replaced many to_polygons() /
...
to_expolygons() calls with templated ClipperUtils variants to avoid
memory allocation and copying.
2021-05-03 11:39:53 +02:00
Vojtech Bubnik
9f4e9da5c6
Merge branch 'tm_vb_clipper_eigen'
2021-04-23 11:44:25 +02:00
Vojtech Bubnik
542d95a593
Fixing unit tests
2021-04-21 15:31:06 +02:00
Vojtech Bubnik
7112ac61b6
Replacing ClipperLib::IntPoint with Eigen point as a first step to
...
make the ClipperLib paths and polygons compatible with Slic3r paths
and polygons without conversions and memory allocations.
2021-04-14 09:22:51 +02:00
Lukáš Hejl
dd4b26ba25
Fix of 7bd412a2ca
2021-04-05 20:32:41 +02:00
Lukáš Hejl
7bd412a2ca
A few test cases for Voronoi diagrams.
...
A few test cases collected from multi-material segmentation. All new test cases are suppressed not to fail a building process.
2021-04-05 16:47:00 +02:00
Vojtech Bubnik
ba5e8860cb
Fixing some compilation warnings
2021-03-15 10:36:03 +01:00
Vojtech Bubnik
8e27e355c2
Fixing unit tests.
2021-03-15 09:55:56 +01:00
tamasmeszaros
33d6655f26
Clean up hollowing test
...
Needs rethinking anyway
2021-03-08 17:38:10 +01:00
tamasmeszaros
82954ba715
Group hollowing result (including grid) into one struct
2021-03-08 17:38:10 +01:00
Vojtech Bubnik
5f5de1c812
Follow-up to 5276bd98d7
:
...
WIP: MutablePolygon - linked list based polygon implementation
allowing rapid insertion and removal of points.
WIP: porting smooth_outward() from Cura.
2021-03-03 15:04:26 +01:00
Vojtech Bubnik
5276bd98d7
WIP: MutablePolygon - linked list based polygon implementation
...
allowing rapid insertion and removal of points.
WIP: porting smooth_outward() from Cura.
2021-03-01 18:41:46 +01:00
Vojtech Bubnik
5449e6c549
Fixing some compiler warnings on Linux
2021-02-08 11:58:03 +01: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
Lukas Matena
dc4bdad84a
Fixed some more GCC warnings
2021-01-29 15:17:03 +01:00
Vojtech Bubnik
aa6ddfec85
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
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
Vojtech Bubnik
3cfccf1a5a
Fixed unit tests broken with 3502f256fa
2020-10-29 12:39:03 +01:00
tamasmeszaros
c10ff4f503
fixing optimizer and concurrency::reduce
2020-09-10 14:03:30 +02:00
tamasmeszaros
1560e15ed9
Add missing includes for win
2020-08-27 23:14:42 +02:00
tamasmeszaros
2bcd36d155
PNG image read with libpng
2020-08-27 23:14:42 +02:00
Vojtech Bubnik
851ebc7991
fix of previous commit, missing include
2020-06-16 14:00:25 +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
1c95ceaeaa
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
Vojtech Bubnik
6f4d24ab95
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
Vojtech Bubnik
6f92538c20
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
Vojtech Bubnik
2b8f655020
WIP AABBIndirect: Documentation, polishing.
2020-05-22 09:29:21 +02:00
Vojtech Bubnik
eeb9590d28
WIP: own AABBTreeIndirect, builds up the tree 4x quicker than libigl.
2020-05-22 09:29:21 +02:00
tamasmeszaros
2a8c485b32
suppress unnecessary test output in release mode
2020-04-28 21:11:54 +02:00
tamasmeszaros
217477a9ff
SLA archive import with miniz, marching square bugfixes
...
Fix compilation on Windows
Fix array subscript out of range error in MarchingSquares
Fix normals of mesh constructed from slices
Improve performance of mesh construction from slices
2020-04-23 19:12:07 +02:00
tamasmeszaros
247fca6d55
Initial version of sl1 import with sla::Raster refactor.
2020-04-23 19:05:32 +02:00
bubnikv
c27297f6cc
64bit coord_t
...
Vec3i as a vertex index to TriangleMesh constructor
2020-03-25 14:35:41 +01:00
tamasmeszaros
f4f236e82e
Added test for libcurl https handling disabled on build server.
...
Linux docker image does not expose port 80
2020-03-06 15:18:14 +01:00
tamasmeszaros
6deb6a776d
Do EFC for the first faded layers of SLA, interpolate efc parameters
...
Compensated slices have negative orientation...
Move efc to common params
Fix elefant foot compensation reversed contours
Remove redundant assertions and don't apply absolute correction if zero
2020-02-18 17:39:36 +01:00
Enrico Turri
904263d231
ENABLE_CONFIGURABLE_PATHS_EXPORT_TO_3MF_AND_AMF set as default
2020-02-13 11:25:34 +01:00
tamasmeszaros
2d86e3cc4d
fix failing test due to missing cgal dlls
2020-02-05 18:22:17 +01:00
tamasmeszaros
bd76c345f2
Handle CGAL exceptions and add tests for mesh boolean operations
...
Add conversion to exact predicates exact construction kernel format for consecutive booleans (experiments)
2020-02-05 17:40:05 +01:00
bubnikv
059bdb4711
Implemented handling of complex ConfigOptionFloatOrPercent chains
...
by the PlaceholderParser.
Namely, all the options with the "ratio_over" reference are now handled
correctly by the PlaceholderParser with the exception
of the "first_layer_extrusion_width", which overrides speed of extrusions
by their respective extrusion type.
Also the various extrusion widths (extrusion_width, first_layer_extrusion_width,
external_perimeter_extrusion_width etc.) produce the same numbers
as if ran through the back-end, with the assumption of not overriding
layer height by the variable layer height editing tool or layer height
modifiers.
2020-02-04 15:27:38 +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
b45e95877e
Merge branch 'master' into lm_tm_hollowing
2020-01-23 17:43:18 +01:00
tamasmeszaros
f8a5796ca5
add mesh simplification.
...
SPE-1072
Working but flipped normals with the interior.
Testing on treefrog passed
Oversampling for hollowed mesh should not be less than 3x
Flip back normals after simplify and remove redundant test code.
2020-01-23 10:58:18 +01:00
bubnikv
094cef26d4
Fix of the new PlaceholderParser int() conversion.
...
Fixes https://github.com/prusa3d/PrusaSlicer/pull/3271
Also some old errors (typos, UBs) were fixed.
2020-01-21 17:12:06 +01:00
Lukas Matena
63b0eec5a9
Merge branch 'master' into lm_tm_hollowing
2020-01-21 13:00:07 +01:00
bubnikv
05ea01bdcc
Ported PlaceholderParser unit tests to C++.
2020-01-21 12:10:09 +01:00
tamasmeszaros
858e936e52
Fix incorrect filename case in test_3mf
2020-01-21 11:10:34 +01:00
tamasmeszaros
6cfad6848f
Fix incorrect filename case in test_3mf
2020-01-20 11:20:18 +01:00
Enrico Turri
abd432e7a8
Configurable paths export (fullpath or not) to 3mf and amf
2020-01-08 11:11:38 +01:00
Lukas Matena
0551411c48
Merge branch 'master' into lm_tm_hollowing
2020-01-06 12:41:29 +01:00
Enrico Turri
8fd753ab27
Follow-up of c790e2ff7c
-> Fixed include
2020-01-06 12:31:35 +01:00
Enrico Turri
c790e2ff7c
Added unit test for checking geometry after save+load to 3mf cycle
2020-01-06 12:10:57 +01:00
Lukas Matena
b3f15b1c98
Merge branch 'master' into lm_tm_hollowing
2019-12-20 10:33:53 +01:00
tamasmeszaros
42ffc4e3c5
Fix polytree traversal.
...
Put back old traverse_pt and union_pt_chained
2019-12-19 11:27:19 +01:00
Lukas Matena
537260494d
Merge branch 'master' into lm_tm_hollowing
2019-12-12 11:37:33 +01:00
tamasmeszaros
5be66a52c0
add drain hole 3mf export and import
2019-12-06 15:47:58 +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
tamasmeszaros
7011c58faa
Merge branch 'master' into lm_tm_hollowing
2019-11-18 17:50:56 +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
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
tamasmeszaros
4e067c42f0
SLAPrint steps moved to separate module.
...
* Lambdas replaced with class methods
2019-11-12 16:54:59 +01:00
tamasmeszaros
c22423a219
Merge branch 'tm_openvdb_integration' into lm_tm_hollowing
...
* Refactor file names in SLA dir
2019-11-11 12:55:22 +01:00
tamasmeszaros
4b08865809
hollowing params renamed, filtering generalized
2019-11-08 09:21:30 +01:00
tamasmeszaros
a82f1268f3
Hollowed interior is now visible in preview
2019-11-06 14:26:15 +01:00
tamasmeszaros
bdf6f7342e
Hollowing step in SLAPrint process, PrintConfig params added.
2019-11-06 13:38:43 +01:00
tamasmeszaros
f913be2d93
Streamlined hollowing method.
2019-11-05 17:02:14 +01:00
tamasmeszaros
4d8631fef6
Merge branch 'tm_openvdb_integration' into lm_tm_hollowing
2019-11-05 14:48:44 +01:00
tamasmeszaros
07fb9f6559
Add oversampling and gaussian filter to hollowing.
...
* Additional steps hollowing and drilling in SPAPrint
* Remove SLABoilerPlate.hpp as it was empty.
2019-11-05 14:48:00 +01:00
Lukas Matena
eaf815ca4b
Merge branch 'lm_hollow_gizmo' into lm_tm_hollowing
2019-11-05 14:41:06 +01:00
Lukas Matena
7542580ac1
Merge branch 'tm_openvdb_integration' into lm_hollow_gizmo
2019-11-05 11:16:51 +01:00
bubnikv
b295bc22db
Adaptive elephant foot compensation: Improvement of the variable
...
offset regularization.
2019-11-05 10:45:14 +01:00
tamasmeszaros
d9d11e5686
Add additional parameters to openvdbutils
2019-11-05 09:43:42 +01:00
tamasmeszaros
7808d09d06
SLA Contour3D expanded with conversions supporting quads.
2019-11-04 14:33:29 +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
tamasmeszaros
a8a5a884f9
Add OpenVDBUtils into libslic3r, hollwing tests in libslic3r_test
2019-11-01 15:31:26 +01:00
tamasmeszaros
b928cca54c
Useful verbose test output on console with Catch2
2019-10-30 10:48:47 +01:00
tamasmeszaros
6f8ce12287
Useful verbose test output on console with Catch2
2019-10-29 13:36:39 +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
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
tamasmeszaros
45d80aba63
Add catch2 extra args option to tests.
...
update example
2019-10-25 10:42:21 +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
070070edba
Initial tests for import of ASCII STLs with varying line endings.
2019-10-18 13:05:22 +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
a5eb4a4ce1
Ported test_print/test_printobject/test_3mf from upstream Slic3r, thanks @lordofhyphens
2019-10-16 13:20:09 +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
abe856f9fe
Ported remove_collinear(Polygon) and test_polygon from upstream slic3r.
2019-10-15 18:08:32 +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