Commit Graph

16 Commits

Author SHA1 Message Date
Vojtech Bubnik
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
tamasmeszaros
1f82670fb3 Add notification if some objects are ignored after arrange 2021-07-08 13:35:40 +02:00
tamasmeszaros
a2be47a6e6 Allow rotation of multiple selected items. Disable auto positioning 2021-04-07 12:51:02 +02:00
Vojtech Bubnik
d62aace663 Reduction on compiler warnings, mainly on MSVC.
Fix of the new gap_fill_enable flag: Take it into account when comparing
regions.
2021-02-10 17:29:07 +01:00
enricoturri1966
9dc1b45735 Refresh object manipulator fields in sidebar after arrange 2021-01-28 12:44:38 +01:00
tamasmeszaros
7e1deed915 Implement exception rethrow for ui jobs 2021-01-19 15:01:20 +01:00
tamasmeszaros
58382b2aea Fix for bad wipe tower handling in arrangement
fixes #5320
2020-12-07 18:00:10 +01:00
tamasmeszaros
1fe708f9ce Further improvement on arrange settings handling 2020-12-02 14:04:39 +01:00
tamasmeszaros
7cbf4a3209 Fix arrange distance with enabled sequential printing
fixes #5258
2020-12-01 14:08:07 +01:00
tamasmeszaros
4e75d0ad88 Fix bed filling with more existing instances than needed 2020-11-26 15:11:54 +01:00
tamasmeszaros
28387920df Stop bed filling if enough instances are generated 2020-11-24 14:41:36 +01:00
tamasmeszaros
ea14735edf Fix broken wipe tower arrangement
fixes #5207
fixes #5216
2020-11-23 16:05:24 +01:00
tamasmeszaros
d6d6dff706 Prototype feature: fill plater with instances of selected object
#fixes #1350
2020-11-20 09:58:52 +01:00
tamasmeszaros
1c22667f21 Right mouse reaction to arrange button
Working arrange settings popup
2020-11-20 09:57:52 +01:00
Lukas Matena
937af2a2ce Include cleanup: Selection.hpp
It does not need 3DScene.hpp and Model.hpp
And it does not to be included by GLGizmoBase.hpp
2020-05-26 13:46:59 +02:00
tamasmeszaros
82aa16d123 Move ui jobs into separate folder 2020-04-23 18:56:09 +02:00