Commit Graph

461 Commits

Author SHA1 Message Date
Vojtech Bubnik
576c167bd5 Ported "avoid crossing perimeters" and bridging unit tests from Perl
to C++.
Further reduced Perl bindings.
Got rid of the ExPolygonCollection wrapper, replaced with ExPolygons.
2022-05-04 18:21:08 +02:00
Vojtech Bubnik
a627614b58 Perl unit tests for perimeters and multi-material were rewritten to C++.
Perl binding was slimmed down, namely Clipper is no more linked by Perl.
2022-05-04 15:06:04 +02:00
Vojtech Bubnik
33b2478b69 Ported Infill unit tests from Perl to C++. 2022-05-02 14:34:50 +02:00
Vojtech Bubnik
d88e9634f5 Little more reduce of Perl bindings 2022-05-02 14:34:50 +02:00
Vojtech Bubnik
3687bc28d5 Some reduction of Perl dependencies on ClipperLib,
ported some ClipperLib polyline clipping tests to C++.
2022-05-02 14:34:50 +02:00
PavelMikus
7cccb736de Reverted perl perimeter test bypass 2022-04-25 17:34:22 +02:00
Vojtech Bubnik
e95d19b560 WIP, FIXME: Worked around a Perl integration test failure
in t/perimeters.t, see the comment
FIXME skip the 1st layer in the test 'loops start on concave point if any'

The failure is due to the seam smoothing, which brings the seam too far
away from the external perimeter at the 1st layer, which uses significantly
wider extrusion rate than the other layers. Moving the seam point from
the external perimeter causes an error when projecting the seam point
back to the external perimeter, where the projection lands not exactly
at a corner point, creating a short segment at the end of a polygon loop.
2022-04-25 12:42:51 +02:00
Vojtech Bubnik
7d02647ebf Removed various Point::ccw() and Point::ccw_angle() methods, they were
provided for Perl bindings and their semantic was confusing.
Implemented free function angle() to measure angle between two vectors.
Reworked Polygon::convex/concave_points(), changed the meaning of their
angle threshold parameter.
Removed some unused methods from Perl bindings and tests.
Reworked the "wipe inside at the external perimeter" function
after Point::ccw_angle() was removed.
2022-04-25 12:42:51 +02:00
Vojtech Bubnik
f368de9a2d Follow-up to 3e7a4d4648
Fixed Perl integration tests, missing G92 E0 in layer_change G-code
    for relative extruder addressing.
2022-01-31 11:51:48 +01:00
Vojtech Bubnik
3e7a4d4648 Follow-up to 58d64bae77
Fixed Perl integration tests, missing G92 E0 in layer_change G-code
for relative extruder addressing.
2022-01-31 11:25:43 +01:00
Lukáš Hejl
e520454c3e Fixed unit tests after the previous commit. 2021-09-11 00:54:30 +02:00
Lukáš Hejl
e3ac2a9e45 Fixed Perl unit tests after 34c4b74af4. 2021-09-11 00:53:45 +02:00
Vojtech Bubnik
34c4b74af4 Fixed Perl unit tests 2021-09-10 12:28:52 +02:00
Vojtech Bubnik
03b6048684 Follow-up to beee18f229
WIP to G-code export parallelization through pipelining:
Decoupled CoolingBuffer from GCode / GCodeWriter, ready to be
pipelined on a different thread.
2021-09-10 11:43:59 +02:00
Vojtech Bubnik
9537c4e8d0 Fixed a perl test that was mistkanely adjusted after ClipperLib refactoring. 2021-05-05 13:30:19 +02:00
Vojtech Bubnik
0e6e60705d Fixing one unit test, which seems to indicate that the refactoring
fixed one issue (hopefully it was not that a newly introduced bug
hides an old one).
2021-05-03 14:12:08 +02:00
Vojtech Bubnik
39deffdf5b One more perl unit test fix 2021-04-21 15:40:43 +02:00
Vojtech Bubnik
c013b73308 Fixing perl unit tests 2021-04-21 15:38:00 +02:00
Vojtech Bubnik
8e27e355c2 Fixing unit tests. 2021-03-15 09:55:56 +01:00
Vojtech Bubnik
34417574f5 Fix of Perl combine infill unit test after a change in raft:
1st object layer over raft is no more printed with bridging infill.
2021-02-24 18:48:55 +01:00
Vojtech Bubnik
11b4b3f4f9 Fixing vase mode Perl tests. 2020-12-09 16:37:44 +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
bubnikv
fa3d138e91 Fix of the previous commit: Fixed number of unit tests to be executed. 2020-01-21 13:13:52 +01:00
bubnikv
05ea01bdcc Ported PlaceholderParser unit tests to C++. 2020-01-21 12:10:09 +01:00
Matthias Urlichs
329ad97a84 Add int() and % (modulo) 2019-12-04 09:32:22 +01: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
Lukas Matena
52ab8a5f19 Wipe tower fix (do not skip the first toolchange when printing without the wipe tower)
Also, test multi.t updated so it matches new logic of inserting custom gcodes
2019-07-16 13:10:09 +02:00
bubnikv
ac6969c992 Reworked the Perl unit / integration tests to use the same Print
interface that the application is using. Old interface used just
for the integration tests was removed.
2019-06-20 20:23:05 +02:00
bubnikv
35b3fd3176 Integrated the new layer height spans with configs into the backend.
Fixed some compiler warnings.
2019-06-20 16:15:09 +02:00
Lukas Matena
07282eb24d Fixed unit tests when run with range checks on std::vector
There was a bug in unit tests that led to generating the wipe tower with non-normalized preset.
This caused out-of-bounds access into max_layer_height vector in fill_wipe_tower_partitions.
The problem surfaced in https://github.com/prusa3d/PrusaSlicer/issues/2288.
I quickly patched additional normalization of the preset to prevent this from happening.

Also, an assert in the same function turned out to trip on one of the tests.
This one was commented out for now and will (hopefully) be looked into later.

Function Print::apply_config was renamed to apply_config_perl_tests_only so everyone
sees its current purpose and does not mistake it for the more important Print::apply.
2019-05-22 16:48:20 +02:00
bubnikv
5c567af36e Fix of the previous commit 2019-05-14 15:48:00 +02:00
bubnikv
74fee6ef78 Fix of unit tests after change of default nozzle and filament diameter. 2019-05-14 15:35:54 +02:00
bubnikv
b4a61a3acb Fixed unit test after splitting the external fill pattern to top/bottom. 2019-02-25 09:11:20 +01:00
bubnikv
bb7f504296 Removed "Slice to SVG" and "Quick Slice" 2018-09-14 11:16:54 +02:00
bubnikv
0235f1a821 Merged with dev 2018-09-12 11:59:02 +02:00
Enrico Turri
5c90746914 Merge with master + resolved conflicts 2018-07-17 10:44:23 +02:00
Enrico Turri
cf1ccacd41 Perimeters test modified to skip lines M73 2018-07-13 10:46:30 +02:00
Lukas Matena
54bd0af905 Infill wiping turned off by default and in some automatic tests 2018-06-27 15:07:37 +02:00
bubnikv
7645e9cb7a Added layer_num, layer_z variables to the end_gcode, end_filament_gcode,
added min(.,.), max(.,.) functions to the placeholder parser syntax.
2018-05-15 14:04:29 +02:00
bubnikv
cbaf0ccc51 Refactored cooling logic for readibility and maintainability. 2018-04-25 22:54:52 +02:00
bubnikv
269770bbbc Fix of a new cooling logic. 2018-04-25 22:06:44 +02:00
Lukas Matena
7951349a1f Another t-test change to avoid fails 2018-03-28 10:32:23 +02:00
Lukas Matena
0d2637fede t tests changed so they don't fail on the extruder number check 2018-03-28 10:16:04 +02:00
bubnikv
e931f75010 Work in progress: Good bye, Perl Threads! 2018-03-23 11:41:20 +01:00
bubnikv
e162c47167 Removed some dependencies on Perl IO module. 2018-03-16 12:07:54 +01:00
bubnikv
b4483fdcbd Fix of "Conditional gcode with "<=" condition fails"
https://github.com/prusa3d/Slic3r/issues/683
2018-02-02 11:49:09 +01:00
bubnikv
9d3ade81fa Fixed placeholder parser tests. 2017-12-21 17:27:24 +01:00
bubnikv
a402b1b83d Implemented <,>,<=,>=,or,and,||,&& operators. 2017-12-19 16:48:14 +01:00
bubnikv
bb61de8379 Fixed a regression error: The "current_extruder" identifier was not set
at the placeholder parser.
Implemented a new PlaceholderParser::evaluate_boolean_expression()
functionality to evaluate just a boolean expression using the full
expressive power of the macro processing syntax. This function
will now be used for deciding, which print or filament preset
is compatible with which printer preset.
2017-12-18 12:14:09 +01:00
bubnikv
ae118519ab Fixed a 32bit build bug in the new PlaceholderParser macro processor. 2017-11-29 19:27:26 +01:00