Commit Graph
100 Commits
Author SHA1 Message Date
Lukas Matena 92b2d624a4 Painter gizmos: only render the circle cursor when the pointer is on the mesh
It does not paint otherwise, let the user know by not drawing it.
2020-10-12 14:46:48 +02:00
Lukas Matena 482a58ccdc Merge PR #7435 by @wavexx (Shift+Tab shortcut to collapse sidebar):
The extra commit by lukasmatena fixes toolbar tooltip updating.
2020-10-12 09:16:34 +02:00
Lukas Matena 9755f82b90 Fix of tooltip updating when sidebar is being hidden/shown
The tooltip would only update when the toolbar was clicked, not when respective menu item or keyboard shortcut were used
2020-10-12 09:16:08 +02:00
Lukas Matena 40121c56e9 Fixed an undo/redo problem with SLA gizmo
When the undo/redo stack opened the SLA gizmo, it would erroneously obliterate all future snapshots
2020-10-12 09:06:47 +02:00
Lukas Matena 6f2ea224b9 Combo in painter gizmos replaced with radios (for cursor type selection) 2020-10-10 14:02:14 +02:00
Lukas Matena 6871c2ccd8 Fixed updating of pages on startup, reverted changes from b17c829
The second commit should be no longer needed, the CallAfter cause crashes on Linux when switching technologies
2020-10-07 16:16:37 +02:00
Lukas Matena c4951c5efc Fix of a modifier transparency problem in painting gizmos 2020-10-06 14:57:31 +02:00
Lukas Matena b42a12db66 Fixup of 8df0181 (turning off the export of machine limits)
This should solve #1212 for good
2020-10-06 13:31:42 +02:00
Lukas Matena dbedd3f9b0 Merge branch 'lm_painter_fixes' 2020-10-06 12:09:56 +02:00
Lukas Matena b155e58a9d Painting gizmos: show painted triangles inside modifier meshes 2020-10-06 12:06:39 +02:00
Lukas Matena 8bcdbb7a60 Painter gizmos should now work with non-uniformly scaled models 2020-10-06 12:06:39 +02:00
Lukas Matena f4e3eb7482 Painting gizmos fixes:
- modifiers are not rendered in neutral color when a painting gizmo is open, so they are distinguishable from model parts
- modifiers are now correctly handled by clipping plane (the cut was not triangulated for them)
2020-10-06 12:06:39 +02:00
Lukas Matena 4d3190f988 Changed cmake minimal version to 3.13 (#4720) 2020-10-05 12:10:19 +02:00
Lukas Matena dd94b34a8d Fixed missing include on Linux, printf format string fix
boost/format.hpp was missing in the header
2020-10-02 09:32:50 +02:00
Lukas Matena f1c24e6a8c Fix build with wxWidgets 3.0 2020-10-02 00:11:44 +02:00
Lukas Matena 26fb87242b Merge branch 'lm_sphere_cursor2' 2020-10-01 00:51:09 +02:00
Lukas Matena 3f7d41df15 Imgui dialog layout adjustments after the new combo was added 2020-10-01 00:49:14 +02:00
Lukas Matena 3ec5d9e2cf Cache raycast results so they don't have to be repeated on the same mouse pos
Fixed incorrect handling of clipping plane with multiple volumes - only the first volume was correctly clipped by the painter.
2020-10-01 00:05:59 +02:00
Lukas Matena fac7e735ac Moved the raycasting query in painting gizmos to a separate function
This way it can be called when rendering the spherical cursor and when processing the mouse clicks/drags
2020-10-01 00:05:18 +02:00
Lukas Matena 6744a40cd5 Slight refactoring 2020-10-01 00:05:12 +02:00
Lukas Matena 1ca8120398 Sphere selection added as an option for painting gizmos 2020-10-01 00:05:01 +02:00
Lukas Matena c696e6ec19 Experiment with spherical cursor (painting gizmos) 2020-09-30 17:34:11 +02:00
Lukas Matena 8bf0f75e83 Fixed compilation with wxWidgets 3.0 2020-09-30 17:33:08 +02:00
Lukas Matena f890cd5b9c FDM painting gizmos (support/seam) now render object in neutral color
The goal is to ensure enough contrast independent on current filament color
2020-09-25 16:05:34 +02:00
Lukas Matena 48b0a14c4c Fixup of previous commit 2020-09-25 13:00:43 +02:00
Lukas Matena b178d0af38 Wipe tower - small refactoring and fix
Collection of data from internal wipe tower gcode generator now uses move semantics.
Part of gcode at the end of priming was erroneously not exported (extruder current reset etc.)
2020-09-25 12:35:20 +02:00
Lukas Matena 0974d2a0e6 Added missing include to fix build against wx3.0 (Linux) 2020-09-24 14:14:22 +02:00
Lukas Matena 4bf49d960c Merge branch 'lm_seam_painter_backend' 2020-09-22 21:02:07 +02:00
Lukas Matena 67bdf9687d Alessandro's name spelling fix (README, manifests) 2020-09-22 20:45:59 +02:00
Lukas Matena a13fc805d7 Removed obsolete wipe tower related code
Most of the code is already commented out for a long time, it should be safe to remove now.
2020-09-22 15:20:24 +02:00
Lukas Matena e7ae26fb8a Fix of #2834 (unretracted wipes on wipe tower)
Wiping moves performed before moving away from the wipe tower were replaced by
scheduling a regular wipe that is performed after normal gcode generator regains
control. This makes it consistent with wipes on the model and gets rid of the
unretracted wipes.
2020-09-22 15:20:19 +02:00
Lukas Matena cf50224248 Fix build on macOS and one logic error 2020-09-18 14:26:06 +02:00
Lukas Matena 6db2d3a0b2 Merge branch 'master' into lm_seam_painter_backend 2020-09-18 13:44:45 +02:00
Lukas Matena f2951b53c0 Fix build on Linux 2020-09-18 13:37:37 +02:00
Lukas Matena 8123930ee5 Store seam history for more islands 2020-09-18 12:20:02 +02:00
Lukas Matena 8dd345ed4c use center of enforcer only with spAligned 2020-09-18 12:00:48 +02:00
Lukas Matena fffb79a085 Simple implementation of spRandom 2020-09-18 12:00:40 +02:00
Lukas Matena 5d6bf3261e fixed center-finding algorithm 2020-09-18 12:00:40 +02:00
Lukas Matena e78221409a Renamed CustomSeam to SeamPlacer, move to a separate file 2020-09-18 12:00:14 +02:00
Lukas Matena a1fadaf955 Partially working implementation of custom seam backend 2020-09-18 12:00:14 +02:00
Lukas Matena 4d5d1390f0 Added a missing include for gcc 2020-09-15 16:40:57 +02:00
Lukas Matena 436e12e99f Seam gizmo: fixed action names in undo/redo stack 2020-09-04 12:46:39 +02:00
Lukas Matena 7844ca12fa First naive prototype of seam painter 2020-09-02 00:36:30 +02:00
Lukas Matena 60cf002e94 Fixed merge conflicts (whitespace only) 2020-09-02 00:36:30 +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