Commit graph

552 commits

Author SHA1 Message Date
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
enricoturri1966
75856d5e65 Tech ENABLE_SEAMS_USING_MODELS set as default 2021-11-30 08:36:55 +01:00
Lukas Matena
6180e3a89e Do not open simplify dialog on top of the main toolbar 2021-11-22 11:00:17 +01:00
enricoturri1966
9af9b9b35d Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS set as default 2021-11-16 12:39:54 +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
Lukas Matena
ba56a79795 Simplify gizmo now renders the volume by itself,
it does not rely on the usual GLVolume rendering. GLCanvas3D::toggle_model_object_visibility
was extended to hide a single volume. Rendering the model and wireframe uses the same
vertex buffer, which is now used through GLModel class. GLGizmoRenderTransparent class
should no longer be needed. GLCanvas3D::reload_scene calls replaced with request_rerender.
2021-11-12 06:49:09 +01:00
enricoturri1966
f7662682c8 Tech ENABLE_ENHANCED_IMGUI_SLIDER_FLOAT - Modified ImGuiWrapper::slider_float() to create a compound widget where an additional button can be used to set the keyboard focus into the slider to allow the user to type in the desired value 2021-11-05 14:46:44 +01:00
enricoturri1966
e1b3ba063b Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Printbed collision detection made cheaper for rectangular beds and faster for circular beds 2021-10-26 08:45:21 +02:00
enricoturri1966
2c0815f537 Fixed conflicts after merge with master and ported changes into gouraud shaders to gouraud_mod shaders 2021-10-19 11:27:11 +02:00
Lukáš Hejl
b45675b4e1 Follow-up of 6194e67e68 - Separated the part that computed triangles normals and lighting inside the fragment shader into a separate shader mm_gouraud, which is only used for the multi-material painting gizmo. 2021-10-18 11:35:13 +02:00
enricoturri1966
4ff13a5d63 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Reworked detection of collision with printbed. The detection uses now different algorithms in dependence of the printbed type (rectangular, circular, convex) to improve performance. 2021-10-06 13:47:54 +02:00
enricoturri1966
b19c742455 Fixed conflicts after merge with master 2021-09-30 10:31:25 +02:00
enricoturri1966
1df91ea930 Follow-up of 67e519d3ab - Use a platform-indipendent fix 2021-09-29 13:34:30 +02:00
enricoturri1966
1af0c5c73b Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Call GLVolumeCollection::check_outside_state() only when needed 2021-09-20 13:40:34 +02:00
enricoturri1966
d52ee52098 Tech ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER set as default 2021-09-14 15:05:33 +02:00
enricoturri1966
30d2c3787f Tech ENABLE_DELAYED_TRANSPARENT_VOLUMES_RENDERING set as default 2021-09-14 14:34:21 +02:00
Vojtech Bubnik
880feb3a3d GCodeViewer slight opitmization: reuse (move) G-code line indices
in G-code viewer.
2021-09-13 10:41:28 +02:00
enricoturri1966
8bd0f8ada9 Removed duplicated method GLVolumeCollection::check_outside_state() 2021-09-10 08:27:03 +02:00
Vojtech Bubnik
32733b7db9 GCodeProcessor collects positions of line ends for GCodeViewer,
GCodeViewer no more parses G-code just to extract line end positions.
Removed start_mapping_gcode_window(), void stop_mapping_gcode_window(),
they are no more needed.
2021-09-07 15:42:56 +02:00
enricoturri1966
39ec1a6318 Fixed conflicts after merge with master 2021-08-26 12:39:28 +02:00
Filip Sykala
11c91d781e FIX: extra frame request
Do not freeze bargraph in Siplify dialog when no mouse move.
2021-08-17 15:28:08 +02:00
enricoturri1966
599a4d97e3 Removed constness from a few renderXXX() methods 2021-08-04 12:47:36 +02:00
enricoturri1966
a8552512cf Fixed sinking objects popping-up when deleting modifiers 2021-07-30 08:18:11 +02:00
enricoturri1966
dc21fb1100 Changed detection of sinking objects into ObjectList::update_info_items() 2021-07-29 15:15:57 +02:00
David Kocik
0d74502aeb Hint notification
Reads data from hints.ini. Has hyperlinks to highlight settings, toolbars and gizmos.
2021-07-29 13:20:50 +02:00
Lukas Matena
a54f5fb41a Render statistics now shows actual SwapBuffers() calls per second 2021-07-28 12:50:01 +02:00
enricoturri1966
90a23d73bc Hopefully final follow-up of 8ebb2e2 -> GCodeViewer: Ensure that the view is properly updated after automatic selection of view type when loading model using multiextruders prints 2021-07-27 08:47:40 +02:00
enricoturri1966
8ebb2e2a29 Fixed import of color print view from gcode files into GCodeViewer 2021-07-23 11:27:07 +02:00
enricoturri1966
d5ad47d0ca Tech ENABLE_SCROLLABLE_LEGEND set as default 2021-07-22 12:18:38 +02:00
enricoturri1966
7817105abe Tech ENABLE_GCODE_WINDOW set as default 2021-07-22 09:37:02 +02:00
enricoturri1966
1f3252dd78 Revert of b140709fa8 and new implementation of fixing picking for sinking objects 2021-07-21 11:56:39 +02:00
enricoturri1966
c61785f775 Tech ENABLE_SEQUENTIAL_LIMITS set as default 2021-07-20 12:05:15 +02:00
enricoturri1966
ccf67793bd Fixed typo introduced with 2848ae9c4d 2021-07-19 11:21:26 +02:00
enricoturri1966
2848ae9c4d Colors in GLVolume defined as std::array<float, 4> 2021-07-19 11:11:49 +02:00
enricoturri1966
ef8ddacdfc Delayed rendering of transparent volumes 2021-07-14 13:20:57 +02:00
enricoturri1966
44d31f9bf2 Follow-up of d6fdf2d5c2 -> Automatic generation of missing thumbnails 2021-07-13 11:57:19 +02:00
enricoturri1966
8e75919948 #6587 - Fixed temporary .gcode file locked by gcode window visualizator while exporting to gcode 2021-06-07 11:54:16 +02:00
enricoturri1966
d8ac2ceaf6 Remove const_cast<> introduced with 0e3090fb28 2021-06-04 16:53:05 +02:00
enricoturri1966
90edccf772 Remove const_cast<> introduced with 4da8de5f49 2021-06-04 10:23:31 +02:00
enricoturri1966
6b7bd30da3 Show sequential print clearance regions when Move/Rotate/Scale gizmos are active 2021-06-01 11:36:12 +02:00
enricoturri1966
6192a3eaf7 Tech ENABLE_SEQUENTIAL_LIMITS -> Improved performance when showing sequential print clearance regions contours while dragging objects 2021-05-24 12:11:49 +02:00
enricoturri1966
d5c462f5a6 Tech ENABLE_SEQUENTIAL_LIMITS -> Show sequential print clearance regions contours while dragging objects 2021-05-21 14:57:03 +02:00
enricoturri1966
d13c550968 Fixed conflicts after merge with master 2021-05-20 15:37:56 +02:00
enricoturri1966
2bd3e018b1 Follow-up of d54548367a -> Reintroduce GLCanvas3D::m_old_size to avoid unneeded calls to render() 2021-05-20 14:42:40 +02:00
enricoturri1966
40086784fe Small refactoring in GLCanvas3D 2021-05-17 13:14:19 +02:00
enricoturri1966
6bddacee44 Fixed conflicts after merge with master 2021-05-13 14:10:42 +02:00
enricoturri1966
d54548367a Fixed imgui out of synch with mouse after switching between preview and 3D view 2021-05-13 10:59:13 +02:00
enricoturri1966
bc9fa18044 Tech ENABLE_SEQUENTIAL_LIMITS -> Fixed z-fighting between contours and fill 2021-05-12 14:35:57 +02:00
enricoturri1966
3006213d3b Removed obsolete member variable from Canvas3D::Slope 2021-05-12 14:25:13 +02:00
enricoturri1966
75677ba810 Tech ENABLE_SEQUENTIAL_LIMITS -> 1st installment of visualization of objects clearance for sequential prints 2021-05-11 13:12:25 +02:00