Commit Graph

12729 Commits

Author SHA1 Message Date
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
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
YuSanka
287e50d091 Localization: Fix of #4035
+ Added context for "Advanced" ("Mode")
+ Updated POT
2020-04-16 11:36:41 +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
Vojtěch Bubník
ebcc8ef7c2
Merge pull request #3863 from espr14/patch-2
Removing Slic3r name and links
2020-04-10 07:39:47 +02:00
Vojtěch Bubník
3d11f216b0
Merge pull request #3910 from photodude/BIBO2-Print-Profile-Corrections
BIBO2 printer general print profile improvements.
2020-04-10 07:39:06 +02:00
Vojtěch Bubník
fc7d7c6982
Merge pull request #4009 from probonopd/ender-2
Add Creality Ender-2
2020-04-10 07:37:45 +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
probonopd
5e134b5f30
Add max_print_height 2020-04-08 17:04:39 +00: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
enricoturri1966
bac10311bc Follow-up of c887ecfefa -> Removed unneded assignements from shaders 2020-04-08 09:00:08 +02:00
enricoturri1966
c887ecfefa Removed unneeded branching from shaders 2020-04-08 08:22:02 +02:00
enricoturri1966
0e2fba6d6f Fixed bug in calculating the specular component of the color in shaders 2020-04-08 08:07:36 +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