Commit Graph

327 Commits

Author SHA1 Message Date
Filip Sykala
a50d93cd66 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Geometry.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoBase.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoMove.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoMove.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoRotate.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoScale.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoScale.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp
#	src/slic3r/GUI/ImGuiWrapper.cpp
#	src/slic3r/GUI/ImGuiWrapper.hpp
#	src/slic3r/GUI/Selection.cpp
#	tests/slic3rutils/slic3r_jobs_tests.cpp
2022-02-02 15:27:25 +01:00
Filip Sykala
af69a4f2de create emboss text mesh on same place as update
fix:
Un Itelic redraw
../src/slic3r/Utils/WxFontUtils.hpp:49:77: error: non-const lvalue reference to type 'shared_ptr<...>' cannot bind to a temporary of type 'shared_ptr<...>'
../src/slic3r/Utils/WxFontUtils.hpp:55:75: error: non-const lvalue reference to type 'shared_ptr<...>' cannot bind to a temporary of type 'shared_ptr<...>'
2022-01-31 13:17:24 +01:00
enricoturri1966
8d94841fa3 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into dev 2022-01-29 09:17:30 +01:00
Vojtech Bubnik
ba84240a85 Fixed unit-tests of GCodeFindReplace
Follow-up to 7da4bebe7a
    WIP GCode substitutions: Changed the format of gcode_substitutions by
    adding an empty comment as a fourth parameter to each substitution.
    In the future, we will provide a UI to show / edit the comment.
2022-01-28 11:02:06 +01:00
enricoturri1966
703aefa75c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into dev 2022-01-27 12:04:47 +01:00
Vojtech Bubnik
7ba5a2f5bc GCodeFindReplace - single line option unit tests. 2022-01-25 16:54:16 +01:00
tamasmeszaros
960158b79f Fix failing test for new ui jobs 2022-01-18 10:54:37 +01:00
YuSanka
fec654513e Merge remote-tracking branch 'origin/master' into dev 2022-01-18 08:41:10 +01:00
Vojtech Bubnik
aa62868ccb WIP G-code find & replace: Unit tests and some bug fixes. 2022-01-17 12:29:47 +01:00
enricoturri1966
c07a848257 Follow-up of 6201dad245 - Fixed test_color.cpp 2022-01-14 08:26:13 +01:00
enricoturri1966
a2dc1cd446 Fixed conflicts after merge with dev branch 2022-01-12 15:54:48 +01:00
tamasmeszaros
43f5e61b5f Add possibility to wait for current job to stop. 2022-01-11 11:26:26 +01:00
tamasmeszaros
e367ef8011 Fix job tests on Win, don't use usleep() 2022-01-11 11:26:26 +01:00
tamasmeszaros
7e070d393e Fix issue with non atomic transition to running state
After popping a job from input queue
2022-01-11 11:26:26 +01:00
tamasmeszaros
7352e1a01a Basic tests for BoostThreadWorker
Separate job tests
2022-01-11 11:26:26 +01:00
Filip Sykala
4ec4bafe19 Create Emboss::Font as unique ptr not optional
Reason: Job need pointer on font until finished
2022-01-06 16:12:15 +01:00
Filip Sykala
b1b8eee3c9 add is italic check for font file 2022-01-06 11:29:16 +01:00
enricoturri1966
ab99a7865f Fixed build of test_color.cpp on non-Windows OSs 2021-12-22 11:31:35 +01:00
enricoturri1966
cd4094743e Tech ENABLE_COLOR_CLASSES - 1st installment -> Introduction of classes ColorRGB and ColorRGBA to unify color data definition and manipulation 2021-12-22 10:45:35 +01:00
Filip Sykala
5464b650d1 Merge branch 'tm_ui_job_rework_2' into fs_emboss
# Conflicts:
#	src/slic3r/CMakeLists.txt
#	src/slic3r/GUI/Jobs/PlaterJob.cpp
2021-12-14 19:04:52 +01:00
Filip Sykala
88523bceb6 Merge branch 'master' into fs_emboss 2021-12-13 10:52:04 +01:00
Vojtech Bubnik
d6bb8eead9 Fixed 3mf unit tests to pass on ARM 64bit 2021-12-06 14:20:52 +01:00
tamasmeszaros
35ca045b1c Add possibility to wait for current job to stop. 2021-12-03 01:59:34 +01:00
tamasmeszaros
2b945f36f1 Fix job tests on Win, don't use usleep() 2021-12-02 15:34:20 +01:00
tamasmeszaros
78118b7b1d Fix issue with non atomic transition to running state
After popping a job from input queue
2021-12-02 15:06:58 +01:00
tamasmeszaros
39198ff845 Basic tests for BoostThreadWorker
Separate job tests
2021-12-02 15:06:35 +01:00
Filip Sykala
d698df2c31 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/slic3r/GUI/GUI_App.cpp
#	tests/libslic3r/test_indexed_triangle_set.cpp
2021-12-01 14:35:42 +01:00
Vojtech Bubnik
7a2bd9023a One more fix to run unit tests on Windows: Missing DLLS need to be copied. 2021-11-30 11:00:26 +01:00
Vojtech Bubnik
5fd279cbc8 Fixing clang compiler warnings 2021-11-30 10:50:27 +01:00
Justin Schuh
cb4bade69f
Add missing setupapi.lib to slic3rutils tests (#7382)
thanks
2021-11-30 10:22:50 +01:00
Filip Sykala
eba68f9a9e Merge branch 'master' into fs_emboss
# Conflicts:
#	src/slic3r/GUI/GUI_ObjectList.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp
#	src/slic3r/GUI/ImGuiWrapper.hpp
2021-11-23 09:09:09 +01:00
Vojtech Bubnik
cc44089440 New BuildVolume class was created, which detects build volume type (rectangular,
circular, convex, concave) and performs efficient collision detection agains these build
volumes. As of now, collision detection is performed against a convex
hull of a concave build volume for efficency.

GCodeProcessor::Result renamed out of GCodeProcessor to GCodeProcessorResult,
so it could be forward declared.

Plater newly exports BuildVolume, not Bed3D. Bed3D is a rendering class,
while BuildVolume is a purely geometric class.

Reduced usage of global wxGetApp, the Bed3D is passed as a parameter
to View3D/Preview/GLCanvas.

Convex hull code was extracted from Geometry.cpp/hpp to Geometry/ConvexHulll.cpp,hpp.
New test inside_convex_polygon().
New efficent point inside polygon test: Decompose convex hull
to bottom / top parts and use the decomposition to detect point inside
a convex polygon in O(log n). decompose_convex_polygon_top_bottom(),
inside_convex_polygon().

New Circle constructing functions: circle_ransac() and circle_taubin_newton().

New polygon_is_convex() test with unit tests.
2021-11-16 10:15:51 +01:00
Filip Sykala
d3dd025833 Draw text convex hull 2021-11-04 12:41:53 +01:00
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