Commit Graph

12697 Commits

Author SHA1 Message Date
b609ab4f8d Alt+mouse wheel adjusts cursor size in FDM supports gizmo 2020-04-08 15:21:41 +02:00
7f5dd56772 FDM supports gizmo - use right mouse to place support blockers 2020-04-08 14:59:53 +02:00
a484e5adff FDM supports gizmo now ignored modifiers and support enforcer/blockers 2020-04-08 12:58:48 +02:00
dc97f71c8d Clipping plane can now handle multiple-part objects 2020-04-08 11:52:22 +02:00
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
3695c30494 Fixed obvious merge conflicts
FDM supports gizmo uses the new common data infrastructure
2020-04-07 19:44:29 +02:00
c39bcd8afe Merge branch 'lm_gizmos' into lm_fdm_supports_gizmo 2020-04-07 17:16:48 +02:00
873b24744f Merge branch 'lm_gizmos_data_pool'
The branch contains refactoring of common gizmos data handling
2020-04-07 17:03:03 +02:00
5994d8a92e Removed obsolete code
Got rid of dummy header GLGizmos.hpp
2020-04-07 16:47:39 +02:00
81cb23f357 Fixed crash related to ClippingPlane and incorrect handling of sla z shift in hollowing gizmo 2020-04-07 16:47:39 +02:00
70dc1721a1 SLA supports gizmo is now enabled and uses the new infrastructure 2020-04-07 16:47:39 +02:00
d3fcf2335d SupportsClipper implementation 2020-04-07 16:47:39 +02:00
207778f347 InstancesHider allows to show/hide supports on demand 2020-04-07 16:47:39 +02:00
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
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
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
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
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
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
3c49db94f5 Flattening gizmo now uses the new CommonDataPool to store pointer to active object 2020-04-07 16:35:52 +02:00
f1d7420278 Common gizmos data are now handled by the CommonGizmosDataPool object 2020-04-07 16:35:52 +02:00
0b29346e5d Disabled the SLA gizmos 2020-04-07 16:35:52 +02:00
e999cb8a7b First installation of common gizmo data pool 2020-04-07 16:35:52 +02:00
1c137da6d7 Added control of "Invalid numeric input" for the PointCtrl 2020-04-05 23:18:22 +02:00
30c5ca0f68 New parameter DEP_WX_GTK3=on/off to build wxWidgets against GTK3. 2020-04-02 11:42:45 +02:00
37cc7f9ea5 3rd attempt to fix build on AppleClang 2020-04-02 08:11:25 +02:00
d6a661354c The print bed is limited to 1.2m x 1.2m. (related to #2877) 2020-04-01 19:01:38 +02:00
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
31d57c4b31 Fixed build on AppleClang 2020-04-01 15:54:25 +02:00
8a7490edb1 Merge remote-tracking branch 'origin/et_lower_ram_footprint' 2020-04-01 15:11:25 +02:00
70da70cc9c Fixed conflicts after merge with master 2020-04-01 15:06:30 +02:00
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
a8933b6f77 Fixed the new Slic3r::GUI::format_wxstr(): The arguments were not passed. 2020-04-01 13:27:12 +02:00
b2130e2ede Follow-up fix for big bed arrangement 2020-04-01 12:34:50 +02:00
c261b6eda6 Yet another missing include that windows compiler did not mind. 2020-04-01 10:42:10 +02:00
9dafa01fc2 fixed missing include 2020-04-01 10:30:33 +02:00
ace38ea7c1 Fixing OSX and Linux builds 2020-04-01 10:09:31 +02:00
6e39b0db92 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-04-01 09:58:48 +02:00
9c7acca1cf #3964 - Attempt to fix crash when closing on Linux (Debian unstable) 2020-04-01 09:58:31 +02:00
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
6026ae7d9f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-03-31 18:05:12 +02:00
76a117ce75 Fixed build when tech ENABLE_NON_STATIC_CANVAS_MANAGER is disabled 2020-03-31 18:04:49 +02:00
8422b56faf Follow-up of 095062e371 -> 3DConnexion settings dialog (Ctrl+M) shown only on Linux (not Mac) 2020-03-31 15:30:24 +02:00
1a872f769b 3DConnexion settings dialog (Ctrl+M) shown only on Mac 2020-03-31 14:16:53 +02:00
d0a100971f Fixed shaders on Intel Cards - not allowed use of 'active' word 2020-03-31 12:51:50 +02:00
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
e3f0a2adf6 Fix arrange for large beds 2020-03-30 13:26:24 +02:00
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
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
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