567 Commits

Author SHA1 Message Date
tamasmeszaros
b2d43c8719 Fix arrange in fff tests 2023-08-18 16:50:35 +02:00
tamasmeszaros
3277b5ee06 Fix compilation on in VS 2019 in certain environments
MSVC crashes when compiling
Thanks to @enricoturri1966 for reporting and fixing
2023-08-17 19:31:19 +02:00
tamasmeszaros
aea278ab55 Fix failing tests
still the arrange is broken
2023-08-16 18:52:05 +02:00
tamasmeszaros
be9bbb7552 Follow up fix for ctest slow test filter expression 2023-08-16 16:53:42 +02:00
tamasmeszaros
90a7bc929c Exclude tests marked as Slow from ctests 2023-08-16 16:47:47 +02:00
tamasmeszaros
c613669718 Follow-up, get rid of even more NOMINMAX warnings 2023-08-16 14:15:38 +02:00
tamasmeszaros
9bb5bdb80f Fixing crashes with objects residing at large world coordinate values
fixes issue SPE-1844
2023-08-16 09:59:10 +02:00
tamasmeszaros
0c0a1af1e9 Temporarily disable rotations for wipe tower when arranging
It is problematic due to varying interpretation of rotation in arrange and slicer's wipe tower handling 
fixes SPE-1787
2023-08-16 09:59:10 +02:00
tamasmeszaros
2224ce0ca7 Rename WritableItemTraits to MutableItemTraits
makes more sense, avoids confusion with WritableDataStore
2023-08-16 09:59:10 +02:00
tamasmeszaros
ace6cb1f78 Complete test for vbed involvement 2023-08-16 09:59:10 +02:00
tamasmeszaros
08e10ec98f Add test involving simple arrange on vbeds 2023-08-16 09:59:10 +02:00
tamasmeszaros
e4a1df0add Fix failing tests 2023-08-16 09:59:10 +02:00
tamasmeszaros
2730d2e14f Remove unneeded check from fill bed test 2023-08-16 09:59:10 +02:00
tamasmeszaros
0b31ef6e1e Beginning of arrange gen2 2023-08-16 09:59:10 +02:00
PavelMikus
827230174f Fix tests for new ensuring under bridges 2023-05-12 10:32:14 +02:00
tamasmeszaros
d4ad9deb94 Archive format registration refactored
Fix tests
2023-05-10 14:08:11 +02:00
Vojtech Bubnik
b67ad6434d Follow-up to 9cde96993e9f996b44f417570ba05455472efa08
use tbb::scallable_allocator for Polygons and ExPolygon::holes
to better scale on multiple threads
2023-04-20 14:30:52 +02:00
Vojtech Bubnik
9cde96993e Reworked the ClipperLib / Polygon types to use
the tbb::scallable_allocator to better scale on multiple threads.
2023-04-20 11:31:44 +02:00
PavelMikus
68d0f2da2b Improve bridge over infill filtering, fix tests 2023-04-06 15:54:16 +02:00
Vojtech Bubnik
c2baa9ad4f PlaceholderParser: Throw if valid or invalid UTF-8 sequence
is encountered inside a code block.
2023-04-06 13:30:29 +02:00
Vojtech Bubnik
030cfaf4b3 Fix of SPE-1630 crash when referencing an invalid variable name
using the old placeholder parser syntax.
Also implemented unescaping of \r\n\"\\ in string syntax.
2023-04-06 10:40:20 +02:00
Lukáš Hejl
9ed97abdb0 Fix of #10034 (SPE-1608): Fixed crash inside Arachne caused by degenerated Voronoi diagram.
Boost Voronoi diagram produced degenerated Voronoi diagram. This Voronoi diagram was detected by our method for detection of those types of degeneration. But rotation by PI / 6 wasn't able to fix it.
So now, when the Voronoi diagram is still degenerated after the first rotation, then we try another rotation by different angles to fix the degenerated Voronoi diagram.
2023-03-29 14:38:22 +02:00
Vojtech Bubnik
f591c2503a PlaceholderParser: changed the syntax of if inside a {} block to
{if condition then block elsif}
The "then" keyword is now mandatory.
On the other hand, "then" keyword must NOT be used using old syntax:
{if condition}...{endif}
2023-03-27 15:36:14 +02:00
PavelMikus
0eb2a2cf04 Disable "infill only where needed" option
Note: only commented out for now.
2023-03-27 13:27:57 +02:00
Vojtech Bubnik
a53070f5e6 PlaceholderParser: Simpler if / elsif / else / endif syntax.
{if cond1}{expr1}{elsif cond2}{expr2}{else}{expr3}{endif}
could be written as
{if cond1;expr1;elsif cond2;expr2;else;expr3;endif}
the first semicolon after else is not manadtory, thus the following is valid
{if cond1;expr1;elsif cond2;expr2;else expr3;endif}
each expression could be also empty or contain multiple expressions:
{if cond1;elsif cond2;else endif}
2023-03-24 16:35:53 +01:00
Vojtech Bubnik
5b115b7972 PlaceholderParser: Implemented skipping of inactive if / else / endif
and ternary operator branches, thus missing variables or addressing
outside of the variable range in an inactive branch will not trigger
an error.
2023-03-24 13:55:58 +01:00
Vojtech Bubnik
9cb50e6586 PlaceholderParser: added size() and empty() functions over vector variables. 2023-03-23 17:51:37 +01:00
Vojtech Bubnik
929a0eba2c PlaceholderParser: replaced the new "array" operator with "repeat",
simplified the parser a bit more.
2023-03-23 17:08:56 +01:00
Vojtech Bubnik
e46891fa8c PlaceholderParser: Fixed compilation issues, added integration test
with FDM slicing process.
2023-03-23 09:23:20 +01:00
Vojtech Bubnik
c28585ab7f WIP PlaceholderParser: Support for local and global variables.
Implements #4048 #7196

Syntax:

(global|local) variable_name =
	(scalar_expression|vector_variable|array_expr|initializer_list)

array_expr := array(repeat, value)
initializer_list := (value, value, value, ...)

The type of the newly created variable is defined by the type
of the right hand side intitializer.

Newly declared variable must not override an existing variable.
Variable may be assigned with global|local expression, but its type
must not be changed.

Newly the assignment operator also accepts the same right hand expressions
as the global|local variable definition.
2023-03-22 17:46:57 +01:00
Vojtech Bubnik
963ca415d4 PlaceholderParser: new interpolate_table() "function"
interpolate_table(x, (x0, y0), (x1, y1), (x2, y2), ...)
interpolates a table at position x.
2023-03-22 17:46:57 +01:00
Vojtech Bubnik
7afabcde95 PlaceholderParser: Implemented one_of() matching function:
1st parameter is the text to match against,
the rest of the parameters are pattern to be matched:
either strings, then the match is exact,
or regex enclosed in //
or regex string starting with ~

For example
one_of("a", "a", "b")
	finds a in "a", "b"
one_of("abc", /.*a.*/)
	matches "abc" using regular expression /.*a.*/
2023-03-20 15:55:18 +01:00
Vojtech Bubnik
b9d8fe7118 WIP: PlaceholderParser support for writable output variables. 2023-03-20 07:48:38 +01:00
tamasmeszaros
1154f51aab Fix failing libnest2d tests
Fix the test itself
2023-03-13 13:52:21 +01:00
PavelMikus
de09af23b7 Fix/Disable some tests after Removal of ensure vertical shell thickness option 2023-03-03 18:15:21 +01:00
Vojtech Bubnik
65ab83d6a9 Fix of Build failed with CGAL 5.5: UserVisitor’ {aka ‘struct priv::Visitor’}
has no member named ‘start_filtering_intersections’
Fixes #9582
Co-authored-by: @hexane360
2023-03-03 13:07:41 +01:00
PavelMikus
5b0c270b30 Merge remote-tracking branch 'origin/master' into pm_anchor_bridges_on_sparse_infill 2023-03-01 16:45:26 +01:00
Vojtech Bubnik
55533397f9 PlaceholderPareser: new is_null() function to test whether a variable
has a "nil" value or not.
Implements SPE-1539
2023-02-28 18:30:04 +01:00
Vojtech Bubnik
001358cbba Merge remote-tracking branch 'remotes/origin/master' into vb_ensurovani 2023-02-02 09:53:14 +01:00
Lukas Matena
c909391e86 Fix a failing test (which is now obsolete) 2023-01-27 12:04:55 +01:00
Filip Sykala - NTB T15p
1a33a31a9f Comment visualization in test 2023-01-26 16:42:41 +01:00
Filip Sykala - NTB T15p
94982c758d Merge branch 'master' into fs_fix_for_Allura_script_font 2023-01-26 12:01:12 +01:00
Filip Sykala - NTB T15p
f2803c4ae1 Move unused implementation behinde macro 2023-01-26 12:00:36 +01:00
Filip Sykala - NTB T15p
badbe9ddba Remove spikes from glyph shape 2023-01-26 08:04:44 +01:00
Lukas Matena
98fea2f6ee Wipe tower: use GCode::set_extruder, allow ooze prevention:
this removes duplicated code and fixes toolchange retraction
The ooze prevention part needs further work, now it does not
work as advertised (the tall skirt)
2023-01-26 07:28:37 +01:00
Filip Sykala - NTB T15p
8f09c3ac82 WIP: Create another approach to heal shape BUT it is not working 2023-01-20 17:33:53 +01:00
tamasmeszaros
76d0e11699 Merge branch 'master' into et_tm_sla_volumes_6-SPE-1285 2023-01-18 16:40:12 +01:00
tamasmeszaros
c79a46e6cb Remove unnecessary stuff 2023-01-18 09:26:28 +01:00
tamasmeszaros
dfea5e5633 prepare new test data 2023-01-18 09:26:28 +01:00
tamasmeszaros
02b06f0107 try 2 phase optimization with auglag and inequalities 2023-01-18 09:26:28 +01:00