Commit Graph

18 Commits

Author SHA1 Message Date
537df6b503 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
d383c0ccf4 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Out of bed detection for circular printbeds 2021-09-21 13:51:57 +02:00
6fe520be2d Fixed crash on BedShapeDialog creation 2020-09-25 10:44:22 +02:00
b844581d86 Code refactoring for last commit 2020-08-19 15:35:58 +02:00
359412dba3 BedShape is extracted to the separate structure 2020-08-19 13:04:51 +02:00
ffab25560c 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
edcaab8b0a 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
0425cb77b3 Added selection of custom bed model to bed shape dialog 2019-07-18 12:56:52 +02:00
dfb9d127d4 Added selection of custom bed texture to bed shape dialog 2019-07-18 11:12:11 +02:00
5353f8bae5 Refactoring of BedShapePanel and BedShapeDialog 2019-07-17 14:53:02 +02:00
f740d3ab4f Refactoring in class BedShapePanel 2019-07-09 13:33:15 +02:00
c37a733b3d Bed shape dialog refactoring 2019-06-12 10:00:51 +02:00
aae9bc0367 Overrided on_dpi_changed() for some Dialogs:
BedShapeDialog, KBShortcutsDialog, ConfigWizard, Preferences
2019-04-18 02:03:40 +02:00
774f4096e2 Fixed scaling of the controls and InfoDialogs (Sys and About) 2019-02-06 10:13:27 +01:00
042b206a2e 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
91ac484405 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
0167087d7d Some code review 2018-10-31 12:58:35 +01:00
1260b8deb3 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