Filip Sykala
9749dcb959
extend qec tests
2021-11-03 09:56:06 +01:00
Filip Sykala
f9bdde5603
Remove SimplifyMesh
2021-11-02 14:23:49 +01:00
Vojtech Bubnik
d78a5acba9
Numerical improvements to Welzel minimum enclosing circle algorithm
2021-10-30 11:18:36 +02:00
Vojtech Bubnik
3216448bbc
PlaceholderParser: implemented round(), digits() and zdigits() macros.
...
round() rounds to an integer.
This is a popular request, for example #3472
digits(value, num_digits, num_decimals) rounds to num_digits and
num_decimals, left filled with spaces.
digits(value, num_digits) the same as digits(value, num_digits, 0)
Neither decimal separator nor any decimals after decimal separator
are emitted.
zdigits(...) is the same as digits(...) only left filled with zeros.
If the result does not fit num_digits, the result is never trimmed.
2021-10-29 13:36:26 +02:00
Vojtech Bubnik
cf7b6fb19a
Extracted MedialAxis code from Geometry.cpp/hpp, moved to its own
...
files to Geometry/
Moved other Voronoi files to Geometry/
2021-10-27 16:03:04 +02:00
Vojtech Bubnik
497905406b
New code for minimum enclosing circle by randomized Welzl algorithm.
...
Split the circle code from Geometry.cpp/hpp to Geometry/Circle.cpp,hpp
2021-10-27 15:12:29 +02:00
Filip Sykala
b5a075ce4a
Merge branch 'master' into fs_emboss
2021-10-26 18:58:38 +02:00
Vojtech Bubnik
743b99d22c
Unit tests to the new optimized implementation of
...
Line::parallel_to() a Line::perpendicular_to().
2021-10-25 12:03:44 +02:00
Vojtech Bubnik
be236eda85
Renamed Geometry::intersect() to Geometry::convex_polygons_intersect()
...
to convey its true meaning.
2021-10-23 15:29:18 +02:00
Filip Sykala
ae5f594e1e
Merge branch 'master' into fs_emboss
2021-10-21 19:43:05 +02:00
Filip Sykala
323b12fbee
Change 3mf XML store/load text - NOT back compatible
2021-10-21 15:34:41 +02:00
tamasmeszaros
5f19539df5
Obvious fixes to stupid warnings
2021-10-21 09:55:12 +02:00
Filip Sykala
7f848b0603
fix test
2021-10-21 08:36:38 +02:00
Filip Sykala
b04bd6a8ad
Temporary Skip test
2021-10-20 16:52:11 +02:00
Filip Sykala
6c8f754186
Merge branch 'master' into fs_emboss
...
# Conflicts:
# src/slic3r/GUI/3DScene.cpp
2021-10-19 13:40:19 +02:00
Filip Sykala
e8f7f3245f
Refactoring tests
2021-10-19 13:34:26 +02:00
Vojtech Bubnik
7ff76d0768
New ClipperUtils functions: opening(), closing() as an alternative
...
for offset2() with clear meaning.
New ClipperUtils functions: expand(), shrink() as an alternative
for offset() with clear meaning.
All offset values for the new functions are positive.
Various offsetting ClipperUtils (offset, offset2, offset2_ex) working
over Polygons were marked as unsafe, sometimes producing invalid output
if called for more than one polygon. These functions were reworked
to offset polygons one by one. The new functions working over Polygons
shall work the same way as the old safe ones working over ExPolygons,
but working with Polygons shall be computationally more efficient.
Improvements in FDM support generator:
1) For both grid and snug supports: Don't filter out supports for which
the contacts are completely reduced by support / object XY separation.
2) Rounding / merging of supports using the closing radius parameter is
now smoother, it does not produce sharp corners.
3) Snug supports: When calculating support interfaces, expand the projected
support contact areas to produce wider, printable and more stable interfaces.
4) Don't reduce support interfaces for snug supports for steep overhangs,
that would normally not need them. Snug supports often produce very
narrow support interface regions and turning them off makes the support
interfaces disappear.
2021-10-14 09:11:31 +02:00
Filip Sykala
3bd9fc07d2
Merge branch 'master' into fs_emboss
...
# Conflicts:
# src/libslic3r/Format/3mf.cpp
# src/slic3r/GUI/Gizmos/GLGizmoSimplify.hpp
2021-10-07 08:28:17 +02:00
tamasmeszaros
4cc1b2740d
Don't report intersection if two polygons are only touching.
2021-10-04 14:16:13 +02:00
tamasmeszaros
9fce0ce3a6
Fix compile issues and overlapping polygon fails
2021-10-01 18:27:37 +02:00
Lukas Matena
476b48ed11
Revert "Merge branch 'tm_convex_intersect_rotcalip'"
...
This reverts commit 627d8bcaef
, reversing
changes made to 66d4462724
.
The change breaks build on mac
2021-09-30 16:49:00 +02:00
tamasmeszaros
234f062ad4
Fast convex polygon intersection test with rotating calipers
2021-09-30 15:49:12 +02:00
Vojtech Bubnik
6c37955d75
Moved a commented out test for DynamicPrintConfig serialization
...
/ deserialization into a living unit test.
2021-09-24 11:32:15 +02:00
Filip Sykala
7a3b220f0a
Clean up
2021-09-22 12:11:05 +02:00
Vojtech Bubnik
8a2a9dba2f
Eradicated admesh from TriangleMesh:
...
TriangleMesh newly only holds indexed_triangle_set and
TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats.
TriangleMeshStats are updated when initializing with indexed_triangle_set.
Admesh triangle mesh fixing is newly only used when loading an STL.
AMF / 3MF / OBJ file formats are already indexed triangle sets, thus
they are no more converted to admesh stl_file format, nor fixed
through admesh repair machinery. When importing AMF / 3MF / OBJ files,
volume is calculated and if negative, all faces are flipped. Also
a bounding box and number of open edges is calculated.
Implemented its_number_of_patches(), its_num_open_edges()
Optimized its_split(), its_is_splittable() using a visitor pattern.
Reworked QHull integration into TriangleMesh:
1) Face normals were not right.
2) Indexed triangle set is newly emitted instead of duplicating
vertices for each face.
Fixed cut_mesh(): Orient the triangulated faces correctly.
2021-09-20 17:12:22 +02:00
Filip Sykala
2b0408cc24
Using ExPolygons instead of polygons to represents shape of letters(text)
2021-09-17 23:07:17 +02:00
Vojtech Bubnik
58d8ab3dea
Removed the PRUS format parser. WIP: admesh eradication:
...
stl_stats are newly only accessed by TriangleMesh::stats(),
most of the direct access to TriangleMesh::stl is gone with the exception
of parsing input files (3MF, AMF, obj).
2021-09-14 11:58:14 +02:00
Filip Sykala
7df893177c
Merge branch 'master' into fs_emboss
...
# Conflicts:
# src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp
2021-09-14 09:50:19 +02:00
Vojtech Bubnik
ec976cbe05
Fixed unit tests after cab71073a1
2021-09-13 15:45:33 +02:00
Lukáš Hejl
e520454c3e
Fixed unit tests after the previous commit.
2021-09-11 00:54:30 +02:00
Filip Sykala
9d52ceee44
Choose font by wxWidgetDialog
2021-09-09 19:36:51 +02:00
Filip Sykala
84488ba6df
Enumerate fonts
2021-09-03 12:22:44 +02:00
Filip Sykala
d45ab1c484
Fix trouble case test
2021-09-02 11:17:07 +02:00
Filip Sykala
25feacfd95
FIX Creation of non volume place in mode during simplification
2021-09-01 19:15:16 +02:00
Filip Sykala
028f04f8a1
Triangulation of polygons respects its area
...
- remove its_filtration
Move Flatness out of Font
2021-09-01 11:21:05 +02:00
Filip Sykala
026ad24b64
Convert text to mesh
2021-08-30 22:57:14 +02:00
Filip Sykala
e33c665876
Partial emboss
2021-08-30 10:51:58 +02:00
Filip Sykala
c04856e049
Extend simplify test to chack distance of each triangle center and each vertices. Both simplify to origin and vice versa
2021-08-16 18:04:38 +02:00
Filip Sykala
b90ca142a5
Merge branch 'master' into fs_QuadricEdgeCollapse
2021-08-16 11:56:56 +02:00
Vojtech Bubnik
965c2f2c55
Improved error reporting when importing various configuration files:
...
1) Slic3r::RuntimeError was replaced with ConfigurationError,
all exceptions thrown by the configuration layer are derived
from ConfigurationError.
2) When parsing configuration files, ConfigurationError is catched and
rethrown extended with the file name being parsed.
2021-08-13 13:37:24 +02:00
Filip Sykala
ef5c94f90a
Fix: prevent degeneration of model during simplification
2021-08-06 15:11:20 +02:00
Filip Sykala
6bcc576b5f
truncate model name
2021-07-21 08:34:43 +02:00
Filip Sykala
25a4887075
QEC: When collapsing edge flip normal than check other edges in triangle
...
Quadric is calculated with double precission of normal
Fix calculation of normal for changed triangles
2021-07-19 15:46:41 +02:00
Filip Sykala
86a3fd00a5
Merge branch 'master' into fs_QuadricEdgeCollapse
2021-07-19 09:18:55 +02:00
Filip Sykala
af526c54f4
Add simplification GUI
2021-07-19 09:17:50 +02:00
tamasmeszaros
db782b01a5
Fix build on gcc8
2021-07-16 16:40:59 +02:00
Filip Sykala
aca93a7ced
Merge branch 'master' into fs_QuadricEdgeCollapse
2021-07-09 14:14:54 +02:00
Vojtech Bubnik
3a9857e493
Our friendly GCC does not consider std::pair<int, int> trivially
...
copiable either, while everybody else does. Shame on GCC.
2021-07-09 14:05:30 +02:00
Vojtech Bubnik
d8a0b11157
GCC does not consider std::pair<std::pair<...>, ...> to be trivially
...
copiable, thus fixing the unit tests with a custom trivially
copyable type.
2021-07-09 13:58:54 +02:00
Filip Sykala
b2238834fb
Merge branch 'master' into fs_QuadricEdgeCollapse
2021-07-09 13:40:58 +02:00
Vojtech Bubnik
e4fd6a828f
1) Fixed a significant bug in MutablePriorityQueue when setting
...
the indices allowing rescheduling of values in the middle of the queue.
2) Implemented a cache friendly variant - MutableSkipHeapPriorityQueue
based on
https://playfulprogramming.blogspot.com/2015/08/cache-optimizing-priority-queue.html
https://github.com/rollbear/prio_queue/blob/master/prio_queue.hpp
2021-07-09 12:53:29 +02:00
Filip Sykala
2c0b89e4a7
FIX Simplify test
2021-07-09 10:31:05 +02:00
Filip Sykala
c53c958cdd
Merge branch 'master' into fs_QuadricEdgeCollapse
2021-07-09 09:10:05 +02:00
Filip Sykala
e26bffadd8
Add throw_on_cancel and statusfn into QEC
2021-07-09 09:09:52 +02:00
Vojtech Bubnik
60768d3248
Updated the Catch2 framework from v2.13.3 to v2.13.6.
...
Fixes Fix build error with non-const MINSIGSTKSZ. #6518
2021-07-08 16:55:59 +02:00
Filip Sykala
35a906139e
Extend test with checking simplified model distance to original model
2021-07-08 08:33:06 +02:00
Filip Sykala
ed9152d004
Merge branch 'master' into fs_QuadricEdgeCollapse
2021-07-07 16:52:10 +02:00
Vojtech Bubnik
0f3cabb5d9
Support for forward compatibility of configurations, user and system
...
config bundles, project files (3MFs, AMFs). When loading these files,
the caller may decide whether to substitute some of the configuration
values the current PrusaSlicer version does not understand with
some reasonable default value, and whether to report it. If substitution
is disabled, an exception is being thrown as before this commit.
If substitution is enabled, list of substitutions is returned by the
API to be presented to the user. This allows us to introduce for example
new firmware flavor key in PrusaSlicer 2.4 while letting PrusaSlicer
2.3.2 to fall back to some default and to report it to the user.
When slicing from command line, substutions are performed by default
and reported into the console, however substitutions may be either
disabled or made silent with the new "config-compatibility" command
line option.
Substitute enums and bools only. Allow booleans to be parsed as
true: "1", "enabled", "on" case insensitive
false: "0", "disabled", "off" case insensitive
This will allow us in the future for example to switch the draft_shield
boolean to an enum with the following values: "disabled" / "enabled" / "limited".
Added "enum_bitmask.hpp" - support for type safe sets of options.
See for example PresetBundle::load_configbundle(...
LoadConfigBundleAttributes flags) for an example of intended usage.
WIP: GUI for reporting the list of config substitutions needs to be
implemented by @YuSanka.
2021-06-27 16:57:05 +02:00
Filip Sykala
7c13cfa1d9
Add test checking diference in volume before/after simplification
...
FIX warnings
..\src\libslic3r\QuadricEdgeCollapse.cpp(173): warning C4056: overflow in floating-point constant arithmetic
..\src\libslic3r\QuadricEdgeCollapse.cpp(232): warning C4056: overflow in floating-point constant arithmetic
2021-06-22 09:41:38 +02:00
Filip Sykala
e3cdeda673
Add quadric edge collapse
2021-06-22 09:21:16 +02:00
tamasmeszaros
c4507842a0
Add new (winner) neighbor index based on measurements
2021-06-08 10:34:32 +02:00
tamasmeszaros
c8be2cdceb
Added measuring sandbox for neighbors index creation
2021-06-08 10:34:32 +02:00
tamasmeszaros
c542e6e14b
Corrected mesh split implementation
2021-06-08 10:28:23 +02:00
tamasmeszaros
8fdb0fddc0
Get rid of Contour3D
2021-06-08 10:28:23 +02:00
tamasmeszaros
e6f97358bc
Refactored hollowing backend to use indexed_triangle_mesh
2021-06-08 10:28:23 +02:00
tamasmeszaros
1009f78862
SLA backend refactored, except Hollowing
2021-06-08 10:27:35 +02:00
Lukas Matena
6b6b086948
Fixed tests and windows build
2021-05-24 12:20:29 +02:00
enricoturri1966
9da87d8e0f
Code cleanup
2021-05-24 10:03:48 +02:00
enricoturri1966
ca9fad002c
3rd attempt to fix unit test for 2D convex hull of sinking object on RasperryPi
2021-05-24 08:54:08 +02:00
enricoturri1966
dfa85c2c37
Another attempt to fix unit test for 2D convex hull of sinking object on RasperryPi
2021-05-21 15:37:25 +02:00
enricoturri1966
49f29e8353
Added debug output to help fixing unit test for 2D convex hull of sinking object on RasperryPi
2021-05-21 11:56:10 +02:00
enricoturri1966
90be278d98
Attempt to fix unit test for 2D convex hull of sinking object on RasperryPi
2021-05-21 10:14:13 +02:00
enricoturri1966
f0ef5e409d
Added unit test for calculation of 2D convex hull of sinking object
2021-05-20 12:53:47 +02:00
Vojtech Bubnik
3481898d4d
Fixed missing include
2021-05-18 16:15:54 +02:00
Vojtech Bubnik
70b4915f9c
TriangleMeshSlicer: Got rid of admesh!
2021-05-18 15:05:30 +02:00
Vojtech Bubnik
308d6b7809
WIP: Reworked slicing
...
1) Slicing code moved to TriangleMeshSlicer.cpp,hpp from TriangleMesh.cpp,hpp
2) Refactored to use as little as possible of admesh.
2021-05-17 20:25:59 +02:00
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
a2de09e11e
Fixing unit tests.
2021-05-05 13:19:01 +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
8d0950ce12
Convincing ClipperLib to use Slic3r's own Point type internally.
2021-04-21 20:15:49 +02:00
tamasmeszaros
949b0e63e8
Fix integer overflows in libnest2d tests
2021-04-21 16:08:38 +02:00
tamasmeszaros
ad19ab219d
New custom backend for libnest2d using libslic3r types
...
Adapted to new clipper->eigen mod
2021-04-21 16:02:25 +02:00
Vojtech Bubnik
542d95a593
Fixing unit tests
2021-04-21 15:31:06 +02:00
Vojtech Bubnik
ba94fa4867
Fixed unit tests.
2021-04-21 13:30:32 +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
tamasmeszaros
41a0e270ac
Fix integer overflows in libnest2d tests
2021-04-14 08:51:54 +02:00
tamasmeszaros
f3e3aabec7
Least supports optimization revived.
...
Fix missing include on Win32
Cleanup benchmarking code
2021-04-07 12:51:02 +02:00
tamasmeszaros
4eb13a407f
Extend execution framework with convenience functions
2021-04-07 12:51:02 +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
tamasmeszaros
f117d02750
Back-porting improvements for libnest2d
2021-03-31 09:36:54 +02:00
Vojtech Bubnik
ba5e8860cb
Fixing some compilation warnings
2021-03-15 10:36:03 +01:00
Vojtech Bubnik
adcbe4347c
Fixed unit tests.
2021-03-15 09:55:56 +01:00
Vojtech Bubnik
8e27e355c2
Fixing unit tests.
2021-03-15 09:55:56 +01:00
Vojtech Bubnik
ceea9de8b8
WIP: Refactored bridging flow from normal flow, new config value
...
'thick_bridges' to switch between the Slic3r vs. S3D/Cura/Ideamaker
way of printing 1st object layer over supports.
Simplified the PresetHints.
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
db2d78ff21
Reduction on compiler warnings, mainly on MSVC.
...
Fix of the new gap_fill_enable flag: Take it into account when comparing
regions.
2021-02-10 17:29:07 +01:00
Vojtech Bubnik
5449e6c549
Fixing some compiler warnings on Linux
2021-02-08 11:58:03 +01:00
Vojtech Bubnik
73c9f939e0
Squash merge of lh_brim_rework,
...
brim separated to Brim.cpp,hpp
Refactored accessors to PrintObjectPtrs, PrintRegionPtrs, LayerPtrs,
SupportLayerPtrs for const correctness.
2021-02-03 15:12:53 +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
e78ad6ffa9
Fixing unit tests for supports. After "dont_support_bridges" was fixed
...
for perimeters, no support was rightfully generated for a preset
using a default "dont_support_bridges" = off.
2020-12-11 17:57:49 +01:00
Vojtech Bubnik
bd79036d13
Replaced all "long long" types with int64_t
...
Replaced all "unsigned long long" types with uint64_t.
These "new" types better communicate their meaning and they are
guaranteed to behave the same on all platforms & compilers.
2020-12-10 08:40:15 +01:00
Vojtech Bubnik
9f77335d8a
Updated Catch2 to v2.13.3 to support compilation on OSX11 / ARM
2020-12-01 16:48:59 +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
tamasmeszaros
0a932ebfe3
Enable http digest authentication for CURL
2020-11-25 13:58:03 +01:00
Vojtech Bubnik
e77fc43159
Merge remote-tracking branch 'remotes/origin/master' into lh_adaptive_infill_hooks
2020-11-16 10:54:19 +01:00
enricoturri1966
8c8ad70c58
ENABLE_GCODE_VIEWER set as default in fff_print test and PrusaSlicer.cpp
2020-11-12 15:01:59 +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
2f422f5dbe
Fix sla tests on mac
2020-10-15 13:50:05 +02:00
tamasmeszaros
73d8bab4f8
Fix confusing test
...
fixes #4724
2020-09-21 08:45:28 +02:00
tamasmeszaros
743d6643ae
Drop rubbish tests
2020-09-16 15:04:01 +02:00
Vojtech Bubnik
067cde85f1
WIP Refactoring of exceptions:
...
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
2020-09-14 18:03:22 +02:00
tamasmeszaros
c10ff4f503
fixing optimizer and concurrency::reduce
2020-09-10 14:03:30 +02:00
tamasmeszaros
a21ff4141b
Fix failing test due to changes in support point genertion
2020-09-10 13:19:17 +02:00
tamasmeszaros
a9a99de939
Enable all tests for support point generator
2020-09-10 13:19:17 +02:00
enricoturri1966
b563010bf1
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer
2020-08-28 12:30:45 +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
enricoturri1966
af200e47c1
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer
2020-08-19 08:18:23 +02:00
tamasmeszaros
4ef52af906
Add dedicated tests for support point generation
2020-08-18 11:41:14 +02:00
enricoturri1966
25c3552555
Fixed conflicts after merge with master
2020-08-04 09:58:19 +02:00
tamasmeszaros
927b81ea97
Working small-to-normal support merging
...
Fixed fatal bug with anchors for mini supports
Make the optimization cleaner in support generatior
Much better widening behaviour
Add an optimizer interface and the NLopt implementation into libslic3r
New optimizer based only on nlopt C interfase
Fix build and tests
2020-08-03 19:05:30 +02:00
tamasmeszaros
a68564e2d0
Include test name with output obj files for sla_print_tests
2020-08-03 19:05:30 +02:00
tamasmeszaros
1eec6c473c
Rename EigenMesh3D to IndexedMesh and SupportConfig to SupportTreeConfig
2020-08-03 19:05:30 +02:00
tamasmeszaros
f19b3a2344
Id-s put in a base class for support tree primitives
2020-08-03 19:05:30 +02:00
tamasmeszaros
301a168b89
Fix bugs and non working tests
...
Fix failing tests
Try to fix build on windows
Try to fix failng tests on Mac
2020-08-03 19:05:30 +02:00
tamasmeszaros
184f64f828
Separate support tree routing and meshing, remove Common.hpp/.cpp .
...
* Remove Common.hpp and Common.cpp, move things into their respective modules in sla.
2020-08-03 19:05:30 +02:00
tamasmeszaros
0622322146
Create smaller supports in problematic areas with established strategies
...
Completely remove the concept of CompactBridge.
Replace it with Heads having the same back radius as front radius.
Try to apply the same rules for mini supports as in the route_to_model step.
Increased accuracy of bridge_mesh_intersect shot from support points
Refining mini support integration
2020-08-03 19:05:30 +02:00
enricoturri1966
f727198891
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer
2020-06-29 08:48:23 +02:00
bubnikv
c10f6a622d
Fixed unit tests on Windows after introduction of GMP to
...
boost::polygon Voronoi diagram generator by Vojtech.
Fixed Perl bindings on Windows after some "improvement" of the Windows 10
SDK headers, which fail if included from a C++ code using the
extern "C"
clause. Namely, the Windows 10 SDK include for sockets introduces C++ macros
if a "compiled with C++" symbol is provided even if included through
exetrn "C".
2020-06-27 08:44:13 +02:00
enricoturri1966
5c7b0948bc
Fixed conflict after merge with master
2020-06-19 11:49:59 +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
enricoturri1966
ab60499298
Fixed conflicts after merge with master
2020-06-12 10:35:18 +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
enricoturri1966
70a6fb0e20
Added new tech ENABLE_GCODE_VIEWER_AS_STATE -> GCodeViewer as a new application state (WIP) + fix of conflicts after merge with master
2020-06-05 16:50:17 +02:00
enricoturri1966
c3d643ead3
Fixed conflicts after merge with master
2020-06-04 13:57:39 +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
tamasmeszaros
10c59b0d00
Fix the tests after EigenMesh3D refactor
2020-06-02 17:15:08 +02:00
enricoturri1966
71db69ef41
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer
2020-05-29 12:29:24 +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
enricoturri1966
2eb4b2caed
Fixed conflicts after merge with master
2020-05-27 10:32:02 +02:00
Lukas Matena
3e855d36dc
Fixed unit tests after previous include manipulations
2020-05-26 15:33:44 +02:00
enricoturri1966
80c2f107c1
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer
2020-05-22 12:12:56 +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
enricoturri1966
05e4476808
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer
2020-04-29 12:53:55 +02:00
tamasmeszaros
2a8c485b32
suppress unnecessary test output in release mode
2020-04-28 21:11:54 +02:00
enricoturri1966
e5c45405d4
Fixed conflicts after merge with master
2020-04-24 10:59:03 +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
tamasmeszaros
1bffc2b99b
Add ModelArrange.hpp as extension to Model.hpp, use it for duplicating
...
Refactored Arrange interface: remove the union based BedShapeHint, replace it with proper function overloads
WARN: this commit is only intermediate, it does not compile.
2020-04-23 18:19:03 +02:00
tamasmeszaros
69c02a407b
Add libnest tests for various basic object functions
2020-04-23 18:17:58 +02:00
tamasmeszaros
89d376dc35
Add min_object_distance method as free function taking ConfigBase argument
2020-04-23 18:17:37 +02:00
enricoturri1966
29cbfa7c9e
Fixed conflicts after merge with master
2020-03-30 09:36:37 +02:00
bubnikv
c27297f6cc
64bit coord_t
...
Vec3i as a vertex index to TriangleMesh constructor
2020-03-25 14:35:41 +01:00
enricoturri1966
a1a4d49f15
Fixed conflicts after merge with master
2020-03-25 12:07:59 +01:00
Lukas Matena
97b9de47b4
Merge branch 'master' into dev
2020-03-24 21:51:05 +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
Lukas Matena
c70b34b6c8
Fixed several warnings
...
The biggest difference is changing PresetCollection::m_idx_selected from int to size_t, which fixed many warnings at once.
2020-03-03 15:47:02 +01:00
Enrico Turri
3b6d334d7b
ENABLE_GCODE_VIEWER - Basic framework for new gcode viewer
2020-03-02 15:13:23 +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
bubnikv
e7d2fcf0be
Fixed unit tests broken with the previous commit (Spiral Vase fix).
...
Fixed a crash in the previous commit.
2020-02-09 09:43:15 +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
7f476f38b9
[refactor] Move remaining utility functions into sla_test_utils
2020-01-31 08:56:46 +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
Lukas Matena
d8f2c8cdab
Fixed a bug in the hole-aware raycaster
2020-01-17 16:02:23 +01:00
Lukas Matena
79e546816d
Fixed unit test (sla_print_tests - random number generator seeding)
2020-01-16 14:03:43 +01:00
tamasmeszaros
e6bdec4aa5
Remove wrapper around std::mt19937
2020-01-15 17:44:15 +01:00
tamasmeszaros
ce49f0a294
Test sla support point generation determinism with seed parameter
2020-01-14 10:48:22 +01:00
tamasmeszaros
8af6890cab
Remove test restriction for on-model supports pierce test
2020-01-14 10:48:22 +01:00
tamasmeszaros
256249fdaf
Make sla support pierce tests repeatable
2020-01-14 10:48:22 +01:00
tamasmeszaros
7ac0e0a8c9
more raycaster tests, without repeating the hollowing every time
2020-01-09 16:57:11 +01:00
Lukas Matena
f22961edae
Fixed a raycaster problem with handling duplicate hits from igl
...
The duplicate hits confused winding number calculations in the raycaster, which in turn returned incorrect hit.
2020-01-09 14:09:26 +01:00
tamasmeszaros
bb62f36df3
Add tests for EigenMesh3D raycaster with hole support.
...
Tests fail! Supports are intersecting the object when holes are added.
2020-01-08 17:11:22 +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
bubnikv
220e2dbfec
Fixed previous commit (change of CMake)
2019-12-22 14:25:07 +01:00
bubnikv
4473254779
Trying to fix unit tests when targeting OSX 10.9.
2019-12-22 14:17:26 +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
tamasmeszaros
1fad91e485
Get ready to merge with master.
2019-12-06 09:28:17 +01:00
tamasmeszaros
ab7c74245b
Add cpp17 headers to see if they are available.
2019-12-05 14:46:00 +01:00
tamasmeszaros
5623e0b340
Test cpp17 features on the build server.
2019-12-05 14:40:31 +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
Vojtech Kral
f8785250d6
Disable test_fill.cpp`"Solid surface fill" test for now due to precission issues
2019-11-05 18:18:27 +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
9dafc324f0
Fix compilation on MSVC
2019-11-01 12:10:03 +01:00
tamasmeszaros
2165537fa5
Do some hollowing finally.
2019-10-31 14:36:33 +01:00
tamasmeszaros
64a5696539
Re-enable example test
2019-10-30 17:19:43 +01:00
tamasmeszaros
259e058491
openvdb conversion experiments.
2019-10-30 12:38:23 +01:00
tamasmeszaros
4594ce77b0
Make verboseconsole the default reporter.
2019-10-30 10:48:54 +01:00
tamasmeszaros
b928cca54c
Useful verbose test output on console with Catch2
2019-10-30 10:48:47 +01:00
tamasmeszaros
99dd6acc79
Make verboseconsole the default reporter.
2019-10-30 10:47:04 +01:00
tamasmeszaros
d63ae1c608
Simple openvdb conversion test.
2019-10-29 16:27:53 +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
tamasmeszaros
39df8a5ede
Enable example test
2019-10-25 16:19:50 +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
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
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
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