Commit Graph
100 Commits
Author SHA1 Message Date
Lukas Matena ae7bb123a9 Fix win build 2020-05-21 11:27:47 +02:00
Lukas Matena 35c8c84631 Fix of #3965 (properly disable linear advance with RepRap firmware) 2020-05-21 10:47:50 +02:00
Lukas Matena a3646f843c Merge branch 'lm_gizmos_improvements' 2020-05-21 10:25:44 +02:00
Lukas Matena ff0630cad2 FDM supports gizmo: fixed rendering on mirrored objects 2020-05-21 10:25:31 +02:00
Lukas Matena feb591782f FDM supports gizmo: fixed a crash when trying to paint on the clipping plane 2020-05-21 10:25:31 +02:00
Lukas Matena 9c365da828 Removed immediate OpenGL mode calls in place on face gizmo 2020-05-21 10:25:31 +02:00
Lukas Matena 6e597bb1ee Removed immediate OpenGL mode calls for clipping plane rendering 2020-05-21 10:25:31 +02:00
Lukas Matena ac8491b599 SLA supports gizmo bugfix: show supports when not in editing mode
The bug was introduced after 2.2.0 release
2020-05-21 10:25:31 +02:00
Lukas Matena 581892cb0d FDM supports gizmo uses neighbor data from stl_file 2020-05-21 10:25:31 +02:00
Lukas Matena d0e0387b82 Merge branch 'lm_fdm_gizmo_experiments' 2020-05-18 16:08:29 +02:00
Lukas Matena 1a38d39f82 FDM supports gizmo: slight code refactoring 2020-05-18 16:08:21 +02:00
Lukas Matena ed55ebba55 FDM supports gizmo: Further attempts to increase performance when painting 2020-05-18 16:08:21 +02:00
Lukas Matena e312f3be43 FDM supports gizmo: caching triangle normals in order to increase performance 2020-05-18 16:08:21 +02:00
Lukas Matena e2ccc6ec0c FDM supports gizmo: trying to increase performance during painting 2020-05-18 16:08:21 +02:00
Lukas Matena ee639a4710 FDM supports gizmo: do not disable slope visualizer when it should stay on 2020-05-14 14:17:20 +02:00
Lukas Matena d928d6e47e Hollowing gizmo fix: selection of single holes was recently broken 2020-05-12 14:03:10 +02:00
Lukas Matena 3a6bc2e31a Merge branch 'lm_fdm_custom_supports_polishing' 2020-05-11 17:03:43 +02:00
Lukas Matena b046eb4fc9 Merge branch 'master' into lm_fdm_custom_supports_polishing 2020-05-11 17:03:03 +02:00
Lukas Matena cab3bf2f20 FDM supports gizmo: the cursor does not stick to the cut when clipping plane is used 2020-05-11 16:59:51 +02:00
Lukas Matena 6391200390 FDM supports gizmo fix: make sure that slope visualizer is off when turning off the gizmo 2020-05-11 16:59:43 +02:00
Lukas Matena 4ed1b49955 Slope visualiser angle inverted
It showed facet normal angle in the GUI, now it shows slope angle (90 deg complement). This change was made to unify it with threshold angle in Print Settings.
2020-05-11 16:57:40 +02:00
Lukas Matena d90cea7aad FDM supports - setting by angle highlight the facets in real time (experiment) 2020-05-06 08:16:44 +02:00
Lukas Matena d24a3453af Added simple autosetting of custom supports based on facet normal angle 2020-05-06 07:03:32 +02:00
Lukas Matena e0b04e7d36 Merge branch 'master' into lm_fdm_custom_supports_polishing 2020-05-05 13:46:01 +02:00
Lukas Matena 272de22055 Undo/redo in FDM supports gizmo 2020-05-05 13:45:04 +02:00
Lukas Matena 0c84a0b696 Fixed SLA supports gizmo undo/redo stack
broken by 4f43c6d even before 2.2.0 release
2020-05-05 11:17:32 +02:00
Lukas Matena 377c7d3086 FDM supports gizmo is aware of the clipping plane 2020-04-30 16:57:09 +02:00
Lukas Matena 04cfd5f832 Fix updating of gizmos when instances are added
Gizmos were in fact updated after an instance was added, but before it was selected
2020-04-30 15:21:11 +02:00
Lukas Matena bc34928ea8 Follow-up of previous commit (Slic3r::GUI::format issues)
Another missing namespace qualification caused infinite recursion
2020-04-30 11:32:17 +02:00
Lukas Matena 5679438e64 Added missing namespace qualification for Slic3r::GUI::format in Http.cpp 2020-04-30 08:37:48 +02:00
Lukas Matena 5b15e778ef Selection rectangle is supressed when FDM custom supports gizmo is active 2020-04-29 13:36:11 +02:00
Lukas Matena 2bd524849a Custom support blockers are now working 2020-04-27 17:45:55 +02:00
Lukas Matena bf2a10803e Fixing debug build broken after recent merge 2020-04-27 12:15:45 +02:00
Lukas Matena 8afc9338de Merge branch 'lm_fdm_custom_supports_backend' 2020-04-24 15:16:33 +02:00
Lukas Matena 5a80f0442f Optimization of the custom support projection algorithm
- transformation matrix is precalculated for each volume
- number of heap allocations was reduced
2020-04-24 01:26:13 +02:00
Lukas Matena 61e5eab35d Custom supports projection now runs in parallel 2020-04-22 16:08:36 +02:00
Lukas Matena a40d60ce08 Custom support generation now ignores triangles with upward-pointing normal 2020-04-22 14:01:29 +02:00
Lukas Matena 1e12863ceb FDM custom supports gizmo now has a 'Remove all' button 2020-04-22 11:57:12 +02:00
Lukas Matena d74b5cb1da Custom supports data change forces invalidation of supports step 2020-04-22 11:16:28 +02:00
Lukas Matena 8d95345ede Fixed a logic error in the algorithm
The error created extremely large projections of triangles that were close to horizontal
2020-04-22 10:11:42 +02:00
Lukas Matena 7fc4a71715 Moved the projection function into PrintObject.cpp 2020-04-21 13:50:47 +02:00
Lukas Matena 79ef456d7c Fixed the algorithm so it works for horizontal triangles
Partial code cleanup
2020-04-21 01:39:40 +02:00
Lukas Matena 20068842ec Project each part of the triangle on one slice only (WIP) 2020-04-21 01:39:35 +02:00
Lukas Matena 7b104bcdd1 Save z heights of the triangle vertices 2020-04-20 14:01:11 +02:00
Lukas Matena 40e4be6ede Fixed a crash in the FDM supports gizmo when the wipe tower was shown
The crash happened during showing/hiding of volumes, which historically assumed to always run in SLA mode and so did not expect to encounter the wipe tower.
2020-04-20 09:17:48 +02:00
Lukas Matena 2f8a5dd6f6 Merge branch 'master' into lm_fdm_custom_supports_backend 2020-04-17 14:19:16 +02:00
Lukas Matena be9dcf0c77 Fixup of previous commit 2020-04-17 14:17:11 +02:00
Lukas Matena c570fc40de First partially working implementation of custom supports at the backend
The solution is temporary and should be improved and moved elsewhere - see comments in the code.
2020-04-17 13:15:26 +02:00
Lukas Matena 9921945cbf Fixed a failing assertion in FDM supports gizmo
It was a result of attempting to render an empty GLIndexedVertexArray
2020-04-17 11:11:12 +02:00
Lukas Matena 546b0702f9 Custom supports data are saved into ModelObject and propagate to the backend
Invalidation of supports after they change is not implemented yet.
2020-04-16 16:57:46 +02:00
Lukas Matena 46ade45ced The bed texture is not shown when looking from below and FDM/SLA support gizmo is active 2020-04-14 13:18:08 +02:00
Lukas Matena 51739b70a1 FDM supports gizmo cursor size now accounts for (uniform) scaling of the mesh
Added tooltips on the sliders
2020-04-09 18:36:57 +02:00
Lukas Matena 23da5910c6 FDM supports gizmo now uses VBOs instead of immediate mode 2020-04-09 15:56:43 +02:00
Lukas Matena 3e15d22f35 Fixed a crash when switching to Preview 2020-04-08 17:22:30 +02:00
Lukas Matena d3bb966f4d Merge branch 'lm_fdm_supports_gizmo' 2020-04-08 16:11:49 +02:00
Lukas Matena 23fbc2ff1a Alt+mouse wheel adjusts cursor size in FDM supports gizmo 2020-04-08 15:21:41 +02:00
Lukas Matena 4d8e6538e8 FDM supports gizmo - use right mouse to place support blockers 2020-04-08 14:59:53 +02:00
Lukas Matena 55c87886fa FDM supports gizmo now ignored modifiers and support enforcer/blockers 2020-04-08 12:58:48 +02:00
Lukas Matena c32fa67523 Clipping plane can now handle multiple-part objects 2020-04-08 11:52:22 +02:00
Lukas Matena ba08d5da9e Fix of #3983 - Crash caused by a typo in Korean localization 2020-04-08 10:37:26 +02:00
Lukas Matena fe57826695 Improved the FDM supports gizmo dialog
Removed unused code
Fixed a clipping-plane related crash
Fixed a crash in hollowing gizmo when no hollowed mesh was provided
Forbid opening the gizmo when a part of an object is selected
2020-04-08 09:37:49 +02:00
Lukas Matena 17811598ac Fixed obvious merge conflicts
FDM supports gizmo uses the new common data infrastructure
2020-04-07 19:44:29 +02:00
Lukas Matena a380053a17 Merge branch 'lm_gizmos' into lm_fdm_supports_gizmo 2020-04-07 17:16:48 +02:00
Lukas Matena f1fd445ce6 Merge branch 'lm_gizmos_data_pool'
The branch contains refactoring of common gizmos data handling
2020-04-07 17:03:03 +02:00
Lukas Matena 1d65ce760b Removed obsolete code
Got rid of dummy header GLGizmos.hpp
2020-04-07 16:47:39 +02:00
Lukas Matena 535a27de65 Fixed crash related to ClippingPlane and incorrect handling of sla z shift in hollowing gizmo 2020-04-07 16:47:39 +02:00
Lukas Matena c704849a7a SLA supports gizmo is now enabled and uses the new infrastructure 2020-04-07 16:47:39 +02:00
Lukas Matena c79e90b921 SupportsClipper implementation 2020-04-07 16:47:39 +02:00
Lukas Matena e82ead0335 InstancesHider allows to show/hide supports on demand 2020-04-07 16:47:39 +02:00
Lukas Matena 5d4014a4a5 ObjectClipper implementation, hollowing gizmo reenabled
ObjectClipper tracks active mesh (incl. possible hollowing), remembers clipping plane position and can render the cut on demand
Hollowing gizmo uses the new infrastructure
2020-04-07 16:45:16 +02:00
Lukas Matena d9e5721cb7 Raycaster can now handle multiple volumes
This is necessary for future FDM supports gizmo. SLA objects only have one volume, so it wasn't needed until now.
2020-04-07 16:42:59 +02:00
Lukas Matena bf734c8f68 Raycaster wrapper
The raycaster manages a MeshRaycaster object that the gizmo can ask to perform raycasts
If the hollowed mesh tracker is enabled and the hollowed mesh is newly calculated/invalidated, the raycaster automatically updates.
2020-04-07 16:40:59 +02:00
Lukas Matena 81dba7677b Hollowed mesh tracker implementation
The class tracks state of the backend calculation and if there is a hollowed/drilled mesh, it can provide a pointer to it
2020-04-07 16:40:10 +02:00
Lukas Matena 7e797eaaf8 Dependencies check in debug mode
Some common resources can depend on each other - this checks that the requirements are consistent
2020-04-07 16:39:18 +02:00
Lukas Matena 3db3a61520 InstancesHider implementation
Any gizmo can now ask for hiding all but the active instance by returning proper value from on_get_requirements
2020-04-07 16:39:06 +02:00
Lukas Matena 593e7a1546 Flattening gizmo now uses the new CommonDataPool to store pointer to active object 2020-04-07 16:35:52 +02:00
Lukas Matena 3b06332999 Common gizmos data are now handled by the CommonGizmosDataPool object 2020-04-07 16:35:52 +02:00
Lukas Matena 7c4071c541 Disabled the SLA gizmos 2020-04-07 16:35:52 +02:00
Lukas Matena 8475968025 First installation of common gizmo data pool 2020-04-07 16:35:52 +02:00
Lukas Matena 0054134ff8 Fix of #3916 (macOS crash when generating WarningTexture)
Likely the same cause as #3371, hopefully the same solution as presented in 4f1f507
2020-03-25 23:55:25 +01:00
Lukas Matena ece0d4ca18 Merge branch 'dev' 2020-03-24 21:51:33 +01:00
Lukas Matena 97b9de47b4 Merge branch 'master' into dev 2020-03-24 21:51:05 +01:00
Lukas Matena 6d23c08d00 WIP 2020-03-19 12:04:05 +01:00
Lukas Matena f275461354 WIP: FDM supports gizmo now works with multiple part objects into some extent 2020-03-19 11:15:17 +01:00
Lukas Matena 1b05ecae8c WIP: FDM gizmo: triangles not facing the camera are no more selected with fdm selection tool 2020-03-19 11:15:17 +01:00
Lukas Matena 590569e8f6 WIP: Optimized the triangle selection so it does not iterate over all the triangles 2020-03-19 11:15:17 +01:00
Lukas Matena 2e71dcefc3 WIP: Added a circle cursor and naive logic to select triangles inside
Deselection is possible when holding shift
Triangles obscured by the mesh are selected nonetheless (so far)
2020-03-19 11:15:17 +01:00
Lukas Matena 08daddb5de WIP: First working implementation of the triangle selector for the FDM support gizmo 2020-03-19 11:15:17 +01:00
Lukas Matena 7afe7326b6 WIP: Duplicated the SLA gizmo for the FDM, removed what was not needed
Clipping plane and the m_model_object pointer keeping was duplicated
2020-03-19 11:15:17 +01:00
Lukas Matena 37be82c8aa Tooltips are rendered unformatted so percent signs in them do not break rendering 2020-03-18 13:50:08 +01:00
Lukas Matena c731f04331 Follow-up of previous commit - check that gizmos are enabled
To be on the safe side, reinstate one part of
the check that the previous code did.
2020-03-14 09:46:48 +01:00
Lukas Matena ac103f334c Actual fix of the rare crash recently mentioned in e547a0c
The problem was in fact elsewhere. After an object is added, it is necessary to
update the gizmos. GLGizmoManager::update_data needs to be called, but regardless
of whether any gizmo is currently opened (which is what is_running returns).

To reproduce the crash that this fixes: add an object, delete it, add another one,
open SLA gizmo -> crash
2020-03-14 09:18:49 +01:00
Lukas Matena e547a0c3d1 Fix of a rare crash on opening an SLA gizmo (supports or hollow) 2020-03-13 15:58:59 +01:00
Lukas Matena a6a77361ba Multimaterial purging lines fixed on rectangular beds with non-standard origin (#3805) 2020-03-11 16:10:51 +01:00
Lukas Matena a48a79603c Multimaterial purging lines fixed on rectangular beds with non-standard origin (#3805) 2020-03-10 15:31:53 +01:00
Lukas Matena e22cc58397 Copyright year incremented (AboutDialog, manifests) 2020-03-06 16:06:21 +01:00
Lukas Matena 9453c644dd Fixed encoding in error messages sent from the backend 2020-03-06 16:06:21 +01:00
Lukas Matena 85bf78f7e7 Fix of #3765 - relaxed empty layer detection 2020-03-05 15:27:00 +01:00
Lukas Matena 0869a63eaf Fix of #3769 - wipe into infill 2020-03-05 15:26:52 +01:00
Lukas Matena ca55e8e6df Fix of #3775 - wrong background color in ErrorDialog on macOS Sierra 2020-03-05 13:21:26 +01:00