Commit Graph

12697 Commits

Author SHA1 Message Date
Lukas Matena
b609ab4f8d Alt+mouse wheel adjusts cursor size in FDM supports gizmo 2020-04-08 15:21:41 +02:00
Lukas Matena
7f5dd56772 FDM supports gizmo - use right mouse to place support blockers 2020-04-08 14:59:53 +02:00
Lukas Matena
a484e5adff FDM supports gizmo now ignored modifiers and support enforcer/blockers 2020-04-08 12:58:48 +02:00
Lukas Matena
dc97f71c8d Clipping plane can now handle multiple-part objects 2020-04-08 11:52:22 +02:00
Lukas Matena
3e136a821a 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
3695c30494 Fixed obvious merge conflicts
FDM supports gizmo uses the new common data infrastructure
2020-04-07 19:44:29 +02:00
Lukas Matena
c39bcd8afe Merge branch 'lm_gizmos' into lm_fdm_supports_gizmo 2020-04-07 17:16:48 +02:00
Lukas Matena
873b24744f 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
5994d8a92e Removed obsolete code
Got rid of dummy header GLGizmos.hpp
2020-04-07 16:47:39 +02:00
Lukas Matena
81cb23f357 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
70dc1721a1 SLA supports gizmo is now enabled and uses the new infrastructure 2020-04-07 16:47:39 +02:00
Lukas Matena
d3fcf2335d SupportsClipper implementation 2020-04-07 16:47:39 +02:00
Lukas Matena
207778f347 InstancesHider allows to show/hide supports on demand 2020-04-07 16:47:39 +02:00
Lukas Matena
7f6096784c 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
04899d536b 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
9e5d680d6c 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
4b6e1da6b8 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
4c06da2b78 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
5adc955364 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
3c49db94f5 Flattening gizmo now uses the new CommonDataPool to store pointer to active object 2020-04-07 16:35:52 +02:00
Lukas Matena
f1d7420278 Common gizmos data are now handled by the CommonGizmosDataPool object 2020-04-07 16:35:52 +02:00
Lukas Matena
0b29346e5d Disabled the SLA gizmos 2020-04-07 16:35:52 +02:00
Lukas Matena
e999cb8a7b First installation of common gizmo data pool 2020-04-07 16:35:52 +02:00
YuSanka
1c137da6d7 Added control of "Invalid numeric input" for the PointCtrl 2020-04-05 23:18:22 +02:00
Vojtech Bubnik
30c5ca0f68 New parameter DEP_WX_GTK3=on/off to build wxWidgets against GTK3. 2020-04-02 11:42:45 +02:00
enricoturri1966
37cc7f9ea5 3rd attempt to fix build on AppleClang 2020-04-02 08:11:25 +02:00
YuSanka
d6a661354c The print bed is limited to 1.2m x 1.2m. (related to #2877) 2020-04-01 19:01:38 +02:00
enricoturri1966
feaa214f8b Follow-up of cfb6ac76fc - Another attempt to fix the build on AppleClang (std::array in lambdas) 2020-04-01 16:47:35 +02:00
enricoturri1966
31d57c4b31 Fixed build on AppleClang 2020-04-01 15:54:25 +02:00
enricoturri1966
8a7490edb1 Merge remote-tracking branch 'origin/et_lower_ram_footprint' 2020-04-01 15:11:25 +02:00
enricoturri1966
70da70cc9c Fixed conflicts after merge with master 2020-04-01 15:06:30 +02:00
bubnikv
7bddfde708 Optimization of the GCodeTimeEstimator to only keep a fixed number
of trapeziodal blocks around. The number is hard coded to 64,
and 3x64 blocks are flushed everytime the queue grows over 4x64 blocks.
This time estimator is slightly more close to what the firmware does, which
keeps a fixed number of blocks and it recalculates all the blocks
every time a new block is added while the oldest block is pushed out
of the queue. Therefore this optimization shall produce negligible
differences to what the previous code produced.
2020-04-01 13:42:26 +02:00
bubnikv
a8933b6f77 Fixed the new Slic3r::GUI::format_wxstr(): The arguments were not passed. 2020-04-01 13:27:12 +02:00
tamasmeszaros
b2130e2ede Follow-up fix for big bed arrangement 2020-04-01 12:34:50 +02:00
bubnikv
c261b6eda6 Yet another missing include that windows compiler did not mind. 2020-04-01 10:42:10 +02:00
bubnikv
9dafa01fc2 fixed missing include 2020-04-01 10:30:33 +02:00
bubnikv
ace38ea7c1 Fixing OSX and Linux builds 2020-04-01 10:09:31 +02:00
enricoturri1966
6e39b0db92 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-04-01 09:58:48 +02:00
enricoturri1966
9c7acca1cf #3964 - Attempt to fix crash when closing on Linux (Debian unstable) 2020-04-01 09:58:31 +02:00
bubnikv
6da3c1646e Slic3r::format(), Slic3r::GUI::format_wxstr():
wrappers around boost::format using C++17 variadic templates,
replacing the ugly and verbose
	(boost::format("template") % arg1 % arg2).str()
syntax.
The wrappers also implictely convert input parameters including the template
from wxString to UTF8.

The new format wrapper has been applied at multiple places as a start,
also some double macros _(L()) with new single macro _L().
2020-04-01 09:49:04 +02:00
enricoturri1966
6026ae7d9f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-03-31 18:05:12 +02:00
enricoturri1966
76a117ce75 Fixed build when tech ENABLE_NON_STATIC_CANVAS_MANAGER is disabled 2020-03-31 18:04:49 +02:00
Enrico Turri
8422b56faf Follow-up of 095062e371 -> 3DConnexion settings dialog (Ctrl+M) shown only on Linux (not Mac) 2020-03-31 15:30:24 +02:00
Enrico Turri
1a872f769b 3DConnexion settings dialog (Ctrl+M) shown only on Mac 2020-03-31 14:16:53 +02:00
Enrico Turri
d0a100971f Fixed shaders on Intel Cards - not allowed use of 'active' word 2020-03-31 12:51:50 +02:00
bubnikv
2bda907a5b WIP: Windows specific 3Dconnexion using WM_INPUT.
This implementation works with the 3DConnexion driver (sic!)
if PrusaSlicer.xml is stored into c:\Program Files\3Dconnexion\3DxWare\3DxWinCore64\Cfg\

The implementation is inspired with Blender, see code inside WITH_INPUT_NDOF blocks.
2020-03-31 09:01:55 +02:00
tamasmeszaros
e3f0a2adf6 Fix arrange for large beds 2020-03-30 13:26:24 +02:00
bubnikv
f1a3d8dca9 Workaround for the Prusa3D Fast (layer height 0.35mm) profile, which
collides with the maximum allowed layer height at the Printer Extruder
0.25mm.

Works around "MMU2s and supports on prusaslicer 2.2.0 issue #3919"
2020-03-27 14:15:09 +01:00
bubnikv
33c8e02d5d Win32 specific: Using SHChangeNotifyRegister to get notifications
on removable media insert / eject events.
From now on we no more poll for removable media on Windows.

Thanks @mjgtp from prusaprinters.org
See the following discussion:
https://forum.prusaprinters.org/forum/prusaslicer/prusaslicer-trying-to-access-my-floppy-disk-a

The final working code sample was taken from Chromium source code,
volume_mount_watcher_win.cc
2020-03-27 08:10:00 +01:00
bubnikv
2109136985 Fix of PrusaSlicer trying to access my floppy disk (A:\)
Some customers seem to posses a floppy drive (sic!) and some floppy
drives start spinning if accessed just to check whether there is
a medium plugged in or not.

From now, the A: and B: drives are not checked anymore for removable
media. Now let's pray nobody maps an SD card or flash drive to A: or B:

Fixes
https://forum.prusaprinters.org/forum/prusaslicer/prusaslicer-trying-to-access-my-floppy-disk-a
2020-03-26 19:06:23 +01:00