Commit Graph
100 Commits
Author SHA1 Message Date
Lukas Matena 436e12e99f Seam gizmo: fixed action names in undo/redo stack 2020-09-04 12:46:39 +02:00
Lukas Matena 46eb96e84f Added two missing icons to fix build on Linux 2020-09-01 23:26:08 +02:00
Lukas Matena 6646198a9b Merge branch lm_seam_painter_frontend 2020-09-01 23:03:16 +02:00
Lukas Matena 9c59b4f930 Custom seam: Model integration, backend invalidation, 3MF loading/saving 2020-09-01 22:35:01 +02:00
Lukas Matena 01b59ff57b Seam gizmo created on frontend 2020-09-01 18:18:57 +02:00
Lukas Matena db7559157c Revert "Forbid translation of objects when SLA/Hollow/FDM gizmos are active"
This reverts commit c291717909. Translation of object when those
gizmos are active should already be supressed by previous commit (ba97ebb0). The FDM gizmo was
erroneously not blocking the translation, the commit that is reverted is therefore needless
after this was fixed the way it should have been fixed in the first place.
2020-09-01 18:18:57 +02:00
Lukas Matena a9435cccb8 Finished separation of FDM gizmo into base and child 2020-09-01 18:18:57 +02:00
Lukas Matena 7a6531ede7 Started work on separating FDM gizmo into base and child classes 2020-09-01 18:18:57 +02:00
Lukas Matena 223eb6933c TriangleSelector paints continuously when dragging fast
Previously there would be distinct circles with gaps in between
2020-09-01 18:18:57 +02:00
Lukas Matena d3e7684a5a Forbid translation of objects when SLA/Hollow/FDM gizmos are active 2020-09-01 18:18:56 +02:00
Lukas Matena 255469347f Fixed several indentation-related warnings 2020-09-01 18:18:56 +02:00
Lukas Matena 1eef1d32a0 Added two missing includes to fix build on gcc 2020-09-01 18:12:51 +02:00
Lukas Matena 20da7a8175 Merge branch 'lm_drainholes_fix' 2020-08-24 08:11:27 +02:00
Lukas Matena c51a45ee0f Drainholes are saved elevated for 3MF compatibility
This is a follow-up of previous commit
2020-08-24 08:11:12 +02:00
Lukas Matena a95509ce36 Changed internal coordinates of drain holes
Drain holes reference position was saved slightly above the mesh to avoid problem when the hole is placed on flat or nearly flat surface
The depth of the hole was internally bigger than what the user has set to compensato for it
However, this leads to problem with scaling and makes reprojection of the holes on the mesh complicated

This commit changes the reference point to the point on the mesh and the extra elevation is handled when rendering and drilling the hole.
The change is reflected in 3MF drain holes versioning so that old 3MFs are loaded correctly.
Reprojection on the mesh after reload from disk/fix through netfabb has been enabled.
2020-08-24 08:11:12 +02:00
Lukas Matena ba03429679 Merge branch 'lm_fdm_supports_gizmo_fixes' 2020-08-21 09:49:55 +02:00
Lukas Matena 320964a68c TriangleSelector paints continuously when dragging fast
Previously there would be distinct circles with gaps in between
2020-08-21 09:49:39 +02:00
Lukas Matena c291717909 Forbid translation of objects when SLA/Hollow/FDM gizmos are active 2020-08-21 09:49:39 +02:00
Lukas Matena 739cd2a4a2 Fixed several indentation-related warnings 2020-08-19 17:15:01 +02:00
Lukas Matena 6db1e5ab8f Slight code cleanup 2020-08-18 12:00:26 +02:00
Lukas Matena 97bc092cce Renamed FacetSupportType to EnforcerBlockerType
So it's not misleading if we use it for seam painting
2020-08-18 12:00:26 +02:00
Lukas Matena 7fd2209b48 Gizmos can be shown depending on current mode 2020-08-18 12:00:26 +02:00
Lukas Matena 6d4bb10ec5 Fix of custom supports: object offset for Clipper was incorrectly accounted for 2020-08-12 11:28:30 +02:00
Lukas Matena fd93d9768d Fixes of two crashes in paint-on supports 2020-08-12 11:08:10 +02:00
Lukas Matena afcc14861f Fix build on GCC (missing forward declaration) 2020-08-07 10:42:48 +02:00
Lukas Matena 41b1dc3d80 Fix of custom supports 3MF loading
Multiple-part objects were not handled correctly
2020-08-06 14:08:05 +02:00
Lukas Matena 4bfb69eb14 Added an icon for 'ironing' category 2020-08-03 12:21:00 +02:00
Lukas Matena 87824ef5f8 Merge branch 'lm_triangle_selector' 2020-07-24 17:47:38 +02:00
Lukas Matena 248fba82a4 TriangleSelector: 3MF loading and saving 2020-07-24 17:47:16 +02:00
Lukas Matena 7ddb64783b TriangleSelector: edge limit is derived from cursor size 2020-07-24 17:47:16 +02:00
Lukas Matena 74a1aeff8e TriangleSelector: bugfix - backend did not correctly account for mirrorring 2020-07-24 17:47:16 +02:00
Lukas Matena 5a1d9aee15 TriangleSelector: Fix of a macOS crash
Calling reset() from constructor relied on uninitialized variable
2020-07-24 17:47:16 +02:00
Lukas Matena afb5d929c4 TriangleSelector: Schedule restarting background process after edit 2020-07-24 17:47:16 +02:00
Lukas Matena 3b91d11ddf TriangleSelector: backend is aware of divided triangles 2020-07-24 17:47:16 +02:00
Lukas Matena 0756a7e4b3 TriangleSelector: 'Select by angle' and 'reset selection' functions fixed 2020-07-24 17:47:16 +02:00
Lukas Matena 6baff45759 TriangleSelector: Separated frontend/backend, support of multiple volumes, etc. 2020-07-24 17:47:16 +02:00
Lukas Matena b250c08ec9 TriangleSelector: Serialization and deserialization 2020-07-24 17:47:16 +02:00
Lukas Matena 814f8be92f TriangleSelector: getting ready for frontend/backend separation 2020-07-24 17:47:16 +02:00
Lukas Matena da6acd73e2 TriangleSelector: Vertices are reference-counted and garbage collected
Garbage collection is triggered automatically when more than half of all triangles are invalid
2020-07-24 17:47:16 +02:00
Lukas Matena b9321856f3 TriangleSelector: Reusing of previously calculated triangle divisions, partial garbage collection implementation 2020-07-24 17:47:16 +02:00
Lukas Matena fb73bb1c66 TriangleSelector: remerging triangles, bugfixes 2020-07-24 17:47:16 +02:00
Lukas Matena bed28bb2ff TriangleSelector: even more progress 2020-07-24 17:47:16 +02:00
Lukas Matena c3db84e382 TriangleSelector: Improvements 2020-07-24 17:47:16 +02:00
Lukas Matena d2b2446b07 TriangleSelector: first partially working implementation 2020-07-24 17:47:16 +02:00
Lukas Matena 953d1417a0 TriangleSelector: draft of interface 2020-07-24 17:47:16 +02:00
Lukas Matena d910f7934b Empty layer check fix
The test gave false positive in case there were supposed to be both object and support extrusions on the first layer
2020-07-21 08:43:23 +02:00
Lukas Matena f326352ceb Empty layers check converted to a warning (except for the first layer) 2020-07-16 15:42:33 +02:00
Lukas Matena e8736c47ae Bugfix: incorrect scaling of clipping plane cuts in SLA support gizmo 2020-06-16 16:11:42 +02:00
Lukas Matena 1e5d1cb616 Fixed a crash when switching from SLA to FDM with a gizmo active
If a gizmo used SupportsClipper or HollowedMesh common data, it would attempt to update from a dead SLAPrintObject
2020-06-03 16:39:12 +02:00
Lukas Matena d95c151823 Merge branch 'lm_empty_layer_crash' 2020-06-03 15:57:52 +02:00
Lukas Matena ed98a859af Fix of #3919 (extremely wide wipe tower with 0.35mm FAST profile)
This is an excerpt from ec86d94, which was recently reverted because
the other changes from that commit broke some functionality.
2020-06-03 15:34:33 +02:00
Lukas Matena 8ecb0bfe0e Revert "Workaround for the Prusa3D Fast (layer height 0.35mm) profile, which"
This reverts commit ec86d94f02.
2020-06-03 15:34:33 +02:00
Lukas Matena 2cc1dffc82 Fix of several issues related to gizmos updating and undo/redo
Common gizmos data cannot be used in on_set_state method
Also prevented calling render on empty GLVertexArrays
2020-06-03 15:33:39 +02:00
Lukas Matena dc725ecbad Fixup of previous commit 2020-06-02 14:49:40 +02:00
Lukas Matena a4d30fc9bb Fixed a crash when switching between tabs
Introduced in ba963ac
2020-06-02 11:42:25 +02:00
Lukas Matena 21de9d23ec Bugfix: Cut gizmo ignored SLA elevation and the cut ended up shifted
It is still possible to set the plane into the space under an object,
but at least it always cuts where indicated.
2020-05-28 16:15:49 +02:00
Lukas Matena b376e2c703 FDM supports gizmo: clicking the clipping plane starts painting 2020-05-28 13:10:40 +02:00
Lukas Matena 2c244732db Introduced a limit on max print z (1.2 m)
A follow-up of 815989d, related to #2877
2020-05-28 12:03:48 +02:00
Lukas Matena 6d432f5426 Fixes second part of #4282 (wxWidgets 3.0 compatibility) 2020-05-27 17:30:56 +02:00
Lukas Matena d9b764bd10 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
Lukas Matena 48c186331a 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
Lukas Matena f2f1cfef9a Fix of #4282 (wxOVERRIDE macro not available in wxWidgets 3.0)
Now that we use C++17, there is no point in using it in PrusaSlicer codebase
2020-05-27 10:58:38 +02:00
Lukas Matena 3ced59d2a3 Reenabled SLIC3R_HOLE_RAYCASTER before unit tests are updated properly
There are still tests of removing holes on slices and raycasting on unaltered mesh (which was eventually superseded by CGAL boolean operations)
2020-05-27 10:05:54 +02:00
Lukas Matena e6317cdefb Merge branch 'lm_aabb_improvements' 2020-05-27 02:15:54 +02:00
Lukas Matena 55395e046f EigenMesh3D does not store a copy of the mesh
Instead, it stores a pointer to extern TriangleMesh (which must not be destroyed before the EigenMesh3D object)
2020-05-27 00:51:11 +02:00
Lukas Matena 1f833921a2 More code cleaning,...
optimizations regarding normals calculation
removed unused EigenMesh3D(const Contour3D &other) constructor
removed unused class si_result
2020-05-27 00:51:11 +02:00
Lukas Matena d85fa8e9ab EigenMesh3D now stores TriangleMesh inside, not a mesh in Eigen format
Rotfinder was apparently building the AABB tree needlessly
2020-05-27 00:51:11 +02:00
Lukas Matena 9224a6a3e6 Removed some unused code
- removed define USE_AABB_INDIRECT (which switched between old and new AABB implementation)
- removed define SLIC3R_SLA_NEEDS_WINDTREE (relied on igl and was not used anyway)
- new define SLIC3R_HOLE_RAYCASTER (hides currently unused code)
- slight include cleanup
- removed obsolete source file SupportTreeIGL.cpp
2020-05-27 00:51:11 +02:00
Lukas Matena cdf80c3b3f Switched to new AABB tree implementation for raycasting 2020-05-27 00:13:38 +02:00
Lukas Matena 6e716faa1c Merge branch 'lm_includes_warnings'
No functional changes (hopefully).
2020-05-26 16:14:09 +02:00
Lukas Matena 32a353058f Fixed few warnings 2020-05-26 16:06:11 +02:00
Lukas Matena 3e855d36dc Fixed unit tests after previous include manipulations 2020-05-26 15:33:44 +02:00
Lukas Matena 94b0ab603f 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
Lukas Matena c2cd430941 Few more include chains broken 2020-05-26 13:46:59 +02:00
Lukas Matena 02838eaa30 Slight include cleanup 2020-05-26 13:45:36 +02:00
Lukas Matena cc5fe02cde Include cleanup: GUI_ObjectManipulation.hpp, GUI, GUI_Preview 2020-05-26 13:45:36 +02:00
Lukas Matena fb9d8b2025 Include cleanup: do not include Model.hpp from 3DScene.hpp 2020-05-26 13:45:36 +02:00
Lukas Matena 02e345159d Grey out wipe tower related config values when wipe tower is disabled 2020-05-22 09:23:26 +02:00
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