Commit Graph

84 Commits

Author SHA1 Message Date
Vojtech Bubnik
85a5a2925f Fixing some compilation warnings 2021-03-15 10:36:03 +01:00
Vojtech Bubnik
d46942b11a Fixing unit tests. 2021-03-15 09:55:56 +01:00
tamasmeszaros
2afca521be Clean up hollowing test
Needs rethinking anyway
2021-03-08 17:38:10 +01:00
tamasmeszaros
f827e15f81 Group hollowing result (including grid) into one struct 2021-03-08 17:38:10 +01:00
Vojtech Bubnik
006a84e995 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
02702e6122 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
831f47f4f8 Fixing some compiler warnings on Linux 2021-02-08 11:58:03 +01:00
Vojtech Bubnik
1ac322fe80 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
a6d023429d Fixed some more GCC warnings 2021-01-29 15:17:03 +01:00
Vojtech Bubnik
e3afd0082d 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
e87e859baa 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
0af0ba0e36 Fixed unit tests broken with 3502f256fa 2020-10-29 12:39:03 +01:00
tamasmeszaros
b1c3c8a5d0 fixing optimizer and concurrency::reduce 2020-09-10 14:03:30 +02:00
tamasmeszaros
cc9869ebe8 Add missing includes for win 2020-08-27 23:14:42 +02:00
tamasmeszaros
26855a98e8 PNG image read with libpng 2020-08-27 23:14:42 +02:00
Vojtech Bubnik
2e72727f0f fix of previous commit, missing include 2020-06-16 14:00:25 +02:00
Vojtech Bubnik
9b7e2216e0 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
9dd089a411 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
961839b75e 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
eb246f1815 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
9c7501a69c WIP AABBIndirect: Documentation, polishing. 2020-05-22 09:29:21 +02:00
Vojtech Bubnik
a778ab3b4b WIP: own AABBTreeIndirect, builds up the tree 4x quicker than libigl. 2020-05-22 09:29:21 +02:00
tamasmeszaros
6a40a5f7e1 suppress unnecessary test output in release mode 2020-04-28 21:11:54 +02:00
tamasmeszaros
f930587f43 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
4e4efeef31 Initial version of sl1 import with sla::Raster refactor. 2020-04-23 19:05:32 +02:00
bubnikv
7769f9740b 64bit coord_t
Vec3i as a vertex index to TriangleMesh constructor
2020-03-25 14:35:41 +01:00
tamasmeszaros
c05a9be1e6 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
3abee755a8 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
f30f139ef0 ENABLE_CONFIGURABLE_PATHS_EXPORT_TO_3MF_AND_AMF set as default 2020-02-13 11:25:34 +01:00
tamasmeszaros
af5b1e5360 fix failing test due to missing cgal dlls 2020-02-05 18:22:17 +01:00
tamasmeszaros
88be689482 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
b4d3cd44cd 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
91928629e9 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
322092a2f8 Merge branch 'master' into lm_tm_hollowing 2020-01-23 17:43:18 +01:00
tamasmeszaros
7b9a62321d 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
6265686266 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
a5ccb7a6c2 Merge branch 'master' into lm_tm_hollowing 2020-01-21 13:00:07 +01:00
bubnikv
e0d7029923 Ported PlaceholderParser unit tests to C++. 2020-01-21 12:10:09 +01:00
tamasmeszaros
f838560e34 Fix incorrect filename case in test_3mf 2020-01-21 11:10:34 +01:00
tamasmeszaros
44c983cd55 Fix incorrect filename case in test_3mf 2020-01-20 11:20:18 +01:00
Enrico Turri
0fe7a3efa8 Configurable paths export (fullpath or not) to 3mf and amf 2020-01-08 11:11:38 +01:00
Lukas Matena
9aaf7a8c13 Merge branch 'master' into lm_tm_hollowing 2020-01-06 12:41:29 +01:00
Enrico Turri
db6a833f25 Follow-up of c790e2ff7c -> Fixed include 2020-01-06 12:31:35 +01:00
Enrico Turri
ea908b5b6c Added unit test for checking geometry after save+load to 3mf cycle 2020-01-06 12:10:57 +01:00
Lukas Matena
51050f4a29 Merge branch 'master' into lm_tm_hollowing 2019-12-20 10:33:53 +01:00
tamasmeszaros
62107cbea3 Fix polytree traversal.
Put back old traverse_pt and union_pt_chained
2019-12-19 11:27:19 +01:00
Lukas Matena
11feb259a3 Merge branch 'master' into lm_tm_hollowing 2019-12-12 11:37:33 +01:00
tamasmeszaros
d47261acae add drain hole 3mf export and import 2019-12-06 15:47:58 +01:00
bubnikv
e5b869f9e1 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
6ff5d02bcc Merge branch 'master' into lm_tm_hollowing 2019-11-18 17:50:56 +01:00