Commit Graph

200 Commits

Author SHA1 Message Date
Filip Sykala
ee50af26c3 Fix Linux memory leaks 2022-03-25 15:50:13 +01:00
Filip Sykala
08c6e4faec Add emboss text test
(created mainly to profile conversion)
2022-03-25 11:06:58 +01:00
Filip Sykala
583babb3b4 Merge branch 'master' into fs_emboss 2022-03-24 11:48:09 +01:00
Lukáš Hejl
97a5aa9592 Added a new test case for a missing Voronoi vertex. 2022-03-24 11:30:32 +01:00
Filip Sykala
e6838f7e18 add new cgal as technology 2022-03-22 15:47:34 +01:00
Vojtech Bubnik
59e14cb752 Reworked constrained Delanay triangulation of polygons / expolygons
using CGAL CDT implementation:
Removed all the sets / maps, replaced with vectors and CDT vertex
intrusive indices.
Reworked the outside / inside classification using just the CDT
"constrained edge" attributes and a single queue.

Cherry pick commit 1648ae853d6c69a1118efbc694dadeb9965154ee
2022-03-17 13:09:10 +01:00
Filip Sykala
84bde2163d Partialy prepare surface cut 2022-03-16 16:58:36 +01:00
Filip Sykala
87f22765ba Separate functionality 2022-03-15 19:53:43 +01:00
Filip Sykala
41e6dba3df Fix fill on edge
change color to enum
2022-03-14 11:12:53 +01:00
Filip Sykala
572207e1c3 partial refactor 2022-03-11 16:54:53 +01:00
Filip Sykala
9e1ebcf4c6 revert auto formating 2022-03-09 13:41:41 +01:00
Filip Sykala
57c75395c6 fix test 2022-03-09 10:59:22 +01:00
Filip Sykala
4a399789f4 Add vojta test 2022-03-09 09:41:03 +01:00
Filip Sykala
a6834a1a82 WxUtils are using imap
Remove unused map utils
2022-03-08 09:22:56 +01:00
Filip Sykala
41a506688a Change 2 map to bimap in TextConfigurationSerialization 2022-03-08 08:35:26 +01:00
Filip Sykala
6fdaee3cfe Fix data type of collection
Fix warnings
../src/libslic3r/Emboss.cpp:135:24: warning: comparison of integer expressions of different signedness: 'int' and 'const unsigned int' [-Wsign-compare]
../src/libslic3r/Emboss.cpp:653:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
../src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp:2057:12: warning: unused variable 'count_icons' [-Wunused-variable]
../src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp:2058:12: warning: unused variable 'count_states' [-Wunused-variable]
2022-03-07 12:16:24 +01:00
Filip Sykala
0d724ad646 Fix test to be runable on other computers. 2022-03-07 11:40:23 +01:00
Filip Sykala
a000d12361 Change test to use font from resources 2022-03-02 14:31:56 +01:00
Filip Sykala
18d269506a add index of font inside of collection to FontProp(font property) + serialization/deserialization (3mf + appConfig)
separate glyph cache from FontFile
2022-02-28 18:32:50 +01:00
Filip Sykala
ca79932d30 Reduce test to use only STB calls 2022-02-23 13:55:27 +01:00
Filip Sykala
482e510d7f Add temporary test for win/mac 2022-02-23 13:29:26 +01:00
Filip Sykala
faa63f3182 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Format/3mf.cpp
2022-02-10 14:04:02 +01:00
tamasmeszaros
72da90d28f WIP
wip
2022-02-03 16:10:03 +01:00
Filip Sykala
3f58cf73af Fix for:
../tests/libslic3r/test_emboss.cpp:200:38: error: 'directory_iterator' is unavailable: introduced in macOS 10.15
../tests/libslic3r/test_emboss.cpp:200:57: error: 'path' is unavailable: introduced in macOS 10.15
2022-02-03 13:12:14 +01:00
Filip Sykala
546009a8e9 Fix Mac build 2022-02-03 12:45:39 +01:00
Filip Sykala
e783086689 Remove Simplify from tests 2022-02-03 10:25:06 +01:00
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
c07a848257 Follow-up of 6201dad245 - Fixed test_color.cpp 2022-01-14 08:26:13 +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
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
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
5fd279cbc8 Fixing clang compiler warnings 2021-11-30 10:50:27 +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