19 Commits

Author SHA1 Message Date
Lukáš Hejl
c8d4eb5788 Fixed shared_ptr cycle in TabFilament::add_filament_overrides_page(), TabFilament::build(), and TabFilament::build_fff(), which also caused a memory leak. 2022-01-28 14:43:10 +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
enricoturri1966
cf380fb456 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Out of bed detection for circular printbeds 2021-09-21 13:51:57 +02:00
YuSanka
5243d3e53c Fixed crash on BedShapeDialog creation 2020-09-25 10:44:22 +02:00
YuSanka
8af49d7d87 Code refactoring for last commit 2020-08-19 15:35:58 +02:00
YuSanka
15285a68a0 BedShape is extracted to the separate structure 2020-08-19 13:04:51 +02:00
Lukas Matena
d9b764bd10 Removed obsolete LambdaObjectDialog.cpp/hpp, more include cleanups:
BedShapeDialog.hpp (needs not include) OptionsGroup.hpp
Tab.hpp            GUI_App.hpp
2020-05-27 14:01:48 +02:00
Lukas Matena
48c186331a Includes cleanup:
GUI_App.hpp      (should not include) MainFrame.hpp
MainFrame.hpp    Plater.hpp
ModelArrange.hpp Model.hpp
Slicing.hpp      PrintConfig.hpp
FillBase.hpp     PrintConfig.hpp
GUI_App.hpp      PrintConfig.hpp
OptionsGroup.hpp GUI_App.hpp
2020-05-27 14:01:47 +02:00
Enrico Turri
de383b1809 Added selection of custom bed model to bed shape dialog 2019-07-18 12:56:52 +02:00
Enrico Turri
08d37aad06 Added selection of custom bed texture to bed shape dialog 2019-07-18 11:12:11 +02:00
Enrico Turri
75c53a53b6 Refactoring of BedShapePanel and BedShapeDialog 2019-07-17 14:53:02 +02:00
Enrico Turri
e8461f65df Refactoring in class BedShapePanel 2019-07-09 13:33:15 +02:00
Enrico Turri
d07b3fb08b Bed shape dialog refactoring 2019-06-12 10:00:51 +02:00
YuSanka
e97e8c6af6 Overrided on_dpi_changed() for some Dialogs:
BedShapeDialog, KBShortcutsDialog, ConfigWizard, Preferences
2019-04-18 02:03:40 +02:00
YuSanka
46f32d091a Fixed scaling of the controls and InfoDialogs (Sys and About) 2019-02-06 10:13:27 +01:00
YuSanka
4005d06452 Fixed "hard_code" setting of the size for the Sidebar and Tabs
+ Fixed assert after config_wizard changing
2019-02-04 10:35:16 +01:00
bubnikv
a378bb7bed Removed some obsolete Perl bindings.
Removed libslic3r from the default include paths for all modules but
libslic3r. Now headers from libslic3r need to be included with an
explicit path (libslic3r/libslic3r.h etc)
Split the localization macros into I18N.{cpp,h}
2018-11-26 14:41:58 +01:00
YuSanka
7f08f460f1 Some code review 2018-10-31 12:58:35 +01:00
bubnikv
0558b53493 WIP: Moved sources int src/, separated most of the source code from Perl.
The XS was left only for the unit / integration tests, and it links
libslic3r only. No wxWidgets are allowed to be used from Perl starting
from now.
2018-09-19 11:02:24 +02:00