Commit Graph

12694 Commits

Author SHA1 Message Date
Lukas Matena
c32fa67523 Clipping plane can now handle multiple-part objects 2020-04-08 11:52:22 +02:00
Lukas Matena
fe57826695 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
17811598ac Fixed obvious merge conflicts
FDM supports gizmo uses the new common data infrastructure
2020-04-07 19:44:29 +02:00
Lukas Matena
a380053a17 Merge branch 'lm_gizmos' into lm_fdm_supports_gizmo 2020-04-07 17:16:48 +02:00
Lukas Matena
f1fd445ce6 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
1d65ce760b Removed obsolete code
Got rid of dummy header GLGizmos.hpp
2020-04-07 16:47:39 +02:00
Lukas Matena
535a27de65 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
c704849a7a SLA supports gizmo is now enabled and uses the new infrastructure 2020-04-07 16:47:39 +02:00
Lukas Matena
c79e90b921 SupportsClipper implementation 2020-04-07 16:47:39 +02:00
Lukas Matena
e82ead0335 InstancesHider allows to show/hide supports on demand 2020-04-07 16:47:39 +02:00
Lukas Matena
5d4014a4a5 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
d9e5721cb7 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
bf734c8f68 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
81dba7677b 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
7e797eaaf8 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
3db3a61520 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
593e7a1546 Flattening gizmo now uses the new CommonDataPool to store pointer to active object 2020-04-07 16:35:52 +02:00
Lukas Matena
3b06332999 Common gizmos data are now handled by the CommonGizmosDataPool object 2020-04-07 16:35:52 +02:00
Lukas Matena
7c4071c541 Disabled the SLA gizmos 2020-04-07 16:35:52 +02:00
Lukas Matena
8475968025 First installation of common gizmo data pool 2020-04-07 16:35:52 +02:00
YuSanka
ce2e53dbfa Added control of "Invalid numeric input" for the PointCtrl 2020-04-05 23:18:22 +02:00
Vojtech Bubnik
b578b7ec87 New parameter DEP_WX_GTK3=on/off to build wxWidgets against GTK3. 2020-04-02 11:42:45 +02:00
enricoturri1966
a6fe16c612 3rd attempt to fix build on AppleClang 2020-04-02 08:11:25 +02:00
YuSanka
815989d488 The print bed is limited to 1.2m x 1.2m. (related to #2877) 2020-04-01 19:01:38 +02:00
enricoturri1966
f27999e136 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
cfb6ac76fc Fixed build on AppleClang 2020-04-01 15:54:25 +02:00
enricoturri1966
87ba9f251b Merge remote-tracking branch 'origin/et_lower_ram_footprint' 2020-04-01 15:11:25 +02:00
enricoturri1966
f598c2d5d8 Fixed conflicts after merge with master 2020-04-01 15:06:30 +02:00
bubnikv
31b0ae164d 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
f4cc0ce075 Fixed the new Slic3r::GUI::format_wxstr(): The arguments were not passed. 2020-04-01 13:27:12 +02:00
tamasmeszaros
4945a0dc0e Follow-up fix for big bed arrangement 2020-04-01 12:34:50 +02:00
bubnikv
8027fc2fb2 Yet another missing include that windows compiler did not mind. 2020-04-01 10:42:10 +02:00
bubnikv
3a1bb2fece fixed missing include 2020-04-01 10:30:33 +02:00
bubnikv
22c671e593 Fixing OSX and Linux builds 2020-04-01 10:09:31 +02:00
enricoturri1966
8a03d5642d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-04-01 09:58:48 +02:00
enricoturri1966
1f3046f65d #3964 - Attempt to fix crash when closing on Linux (Debian unstable) 2020-04-01 09:58:31 +02:00
bubnikv
b843a094f6 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
daa6dd0a25 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-03-31 18:05:12 +02:00
enricoturri1966
e886475fe7 Fixed build when tech ENABLE_NON_STATIC_CANVAS_MANAGER is disabled 2020-03-31 18:04:49 +02:00
Enrico Turri
081a24abf3 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
095062e371 3DConnexion settings dialog (Ctrl+M) shown only on Mac 2020-03-31 14:16:53 +02:00
Enrico Turri
f1ccd38258 Fixed shaders on Intel Cards - not allowed use of 'active' word 2020-03-31 12:51:50 +02:00
bubnikv
25d58faaad 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
70baa0d246 Fix arrange for large beds 2020-03-30 13:26:24 +02:00
bubnikv
ec86d94f02 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
58192ba6c2 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
3fdd643f49 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
bubnikv
a1aee69c5a Fixed a logical error in substitution of the selected language with
the system language: System language returned by Windows for pt_BR
is pt_PT, and this language was then used incorrectly to select
the dictionary.

Now the selected language is stored into PrusaSlicer.ini and
if a substitution is to be performed to select locales (not the dictionary)
based on the system recommended locales, this substitution is being
done in runtime just before switching the locales.
Fixes PrusaSlicer 2.3.0 - Language Portuguese (Brazilian) dont work #3901

Also hopefully fixed
LANGUAGE environment variable not respected #2970
by calling
wxTranslations::Get()->GetBestTranslation()
on Unix systems as well, which reads the "LANGUAGE" environment.
2020-03-26 14:27:18 +01:00
Lukas Matena
0054134ff8 Fix of #3916 (macOS crash when generating WarningTexture)
Likely the same cause as #3371, hopefully the same solution as presented in 4f1f507
2020-03-25 23:55:25 +01:00
bubnikv
b3cebdb672 Fix after merge 2020-03-25 17:55:46 +01:00