Lukas Matena
04e18025f9
Fix build on macOS
...
std::optional<T>::value() not yet available
2020-10-13 13:51:47 +02:00
Lukas Matena
f0de7f13fc
Added a missing include
2020-10-12 17:52:48 +02:00
Lukas Matena
fa74f50af1
Fixed clipping plane in painter gizmos:
...
Obsolete variable m_clipping_plane was used instead of getting the clipping plane from
the common gizmo data pool. This means the clipped parts of objects captured hits and
could not be painted through.
The clipped_mesh_was_hit variable is obsolete now. It was a mistake to introduce it in the first place.
2020-10-12 16:26:17 +02:00
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