Commit Graph

5496 Commits

Author SHA1 Message Date
tamasmeszaros
69c02a407b Add libnest tests for various basic object functions 2020-04-23 18:17:58 +02:00
tamasmeszaros
8c04536514 Integrate scaling and unscaling into Point.hpp 2020-04-23 18:17:50 +02:00
tamasmeszaros
89d376dc35 Add min_object_distance method as free function taking ConfigBase argument 2020-04-23 18:17:37 +02:00
YuSanka
fcb85dcdc3 First implementation of the separate plater from the settings tabs
+ Added collapse_toolbar
2020-04-23 17:11:49 +02:00
YuSanka
b447b45a3e Search: Fixed "Search" menu item under OSX
+ deleted search combobox
2020-04-22 20:27:42 +02:00
tamasmeszaros
611a243447 Add question box on PrusaSlicer start to accept detected CA store..
Fix compile
2020-04-22 17:14:09 +02:00
Lukas Matena
61e5eab35d Custom supports projection now runs in parallel 2020-04-22 16:08:36 +02:00
YuSanka
07411e795c Search: Implemented SearchDialog.
Search window on Plater: set flag SelectAll for search line
2020-04-22 15:46:23 +02:00
Lukas Matena
a40d60ce08 Custom support generation now ignores triangles with upward-pointing normal 2020-04-22 14:01:29 +02:00
Lukas Matena
1e12863ceb FDM custom supports gizmo now has a 'Remove all' button 2020-04-22 11:57:12 +02:00
Lukas Matena
d74b5cb1da Custom supports data change forces invalidation of supports step 2020-04-22 11:16:28 +02:00
bubnikv
03eb5ffcd5 WIP: Reworking of FillRectilinear2 to support monotonous infill
with ant colony optimization and 3-opt flips.
2020-04-22 10:54:11 +02:00
Lukas Matena
8d95345ede Fixed a logic error in the algorithm
The error created extremely large projections of triangles that were close to horizontal
2020-04-22 10:11:42 +02:00
Lukas Matena
7fc4a71715 Moved the projection function into PrintObject.cpp 2020-04-21 13:50:47 +02:00
YuSanka
9bc96bf28e Removed "Support materials" item from "Add Settings" context menu for the Layer ranges
Related to #3060 and #4100
2020-04-21 12:42:52 +02:00
Lukas Matena
79ef456d7c Fixed the algorithm so it works for horizontal triangles
Partial code cleanup
2020-04-21 01:39:40 +02:00
Lukas Matena
20068842ec Project each part of the triangle on one slice only (WIP) 2020-04-21 01:39:35 +02:00
YuSanka
83782e59b6 Search: Implemented "Option type" checkbox for imGui window on Plater
+ code refactoring
2020-04-20 21:54:46 +02:00
YuSanka
3b88dc2688 Search: Implemented cursor movement inside SearchWindow on Plater 2020-04-20 17:37:03 +02:00
Lukas Matena
7b104bcdd1 Save z heights of the triangle vertices 2020-04-20 14:01:11 +02:00
Lukas Matena
40e4be6ede Fixed a crash in the FDM supports gizmo when the wipe tower was shown
The crash happened during showing/hiding of volumes, which historically assumed to always run in SLA mode and so did not expect to encounter the wipe tower.
2020-04-20 09:17:48 +02:00
YuSanka
b5fcc23460 ConfigWizard: fixed first column name on SLA Material page 2020-04-20 08:09:19 +02:00
Lukas Matena
2f8a5dd6f6 Merge branch 'master' into lm_fdm_custom_supports_backend 2020-04-17 14:19:16 +02:00
Lukas Matena
be9dcf0c77 Fixup of previous commit 2020-04-17 14:17:11 +02:00
Lukas Matena
c570fc40de First partially working implementation of custom supports at the backend
The solution is temporary and should be improved and moved elsewhere - see comments in the code.
2020-04-17 13:15:26 +02:00
Lukas Matena
9921945cbf Fixed a failing assertion in FDM supports gizmo
It was a result of attempting to render an empty GLIndexedVertexArray
2020-04-17 11:11:12 +02:00
Lukas Matena
546b0702f9 Custom supports data are saved into ModelObject and propagate to the backend
Invalidation of supports after they change is not implemented yet.
2020-04-16 16:57:46 +02:00
YuSanka
6a8d0c5d84 Search: Experiment button 2020-04-16 15:49:40 +02:00
YuSanka
ae51f280b8 Merge remote-tracking branch 'origin/master' into ys_search 2020-04-16 11:46:29 +02:00
YuSanka
287e50d091 Localization: Fix of #4035
+ Added context for "Advanced" ("Mode")
+ Updated POT
2020-04-16 11:36:41 +02:00
YuSanka
b69dfd63ca Completed a search list cleaning (deleted unused options).
+ Implemented BlinkingBitmap
+ Options, that doesn't have related controls, are highlighted near the widgets.
2020-04-16 09:59:12 +02:00
YuSanka
45147d887b Implemented cursor movement inside SearchComboPopup
+ Added checkboxes for editing of the option's name (include "Group"/"Category" or not)
+ some code refactoring
2020-04-14 17:54:15 +02:00
Lukas Matena
46ade45ced The bed texture is not shown when looking from below and FDM/SLA support gizmo is active 2020-04-14 13:18:08 +02:00
bubnikv
10110ed307 WIP: Ironing over top surfaces. 2020-04-14 11:53:28 +02:00
YuSanka
167f7cf5de Added map for save Group and Category values for each option
+ Some code refactoring in Tab (the translation of the titles moved to the OptionGroups) and Search
+ Fixed assert in fts_fuzzy_match
2020-04-13 17:55:38 +02:00
Lukas Matena
51739b70a1 FDM supports gizmo cursor size now accounts for (uniform) scaling of the mesh
Added tooltips on the sliders
2020-04-09 18:36:57 +02:00
Lukas Matena
23da5910c6 FDM supports gizmo now uses VBOs instead of immediate mode 2020-04-09 15:56:43 +02:00
YuSanka
218abacb75 Search: Set focus on search line in popup control on Plater 2020-04-08 21:03:58 +02:00
Lukas Matena
3e15d22f35 Fixed a crash when switching to Preview 2020-04-08 17:22:30 +02:00
Lukas Matena
23fbc2ff1a Alt+mouse wheel adjusts cursor size in FDM supports gizmo 2020-04-08 15:21:41 +02:00
Lukas Matena
4d8e6538e8 FDM supports gizmo - use right mouse to place support blockers 2020-04-08 14:59:53 +02:00
Lukas Matena
55c87886fa FDM supports gizmo now ignored modifiers and support enforcer/blockers 2020-04-08 12:58:48 +02:00
Lukas Matena
c32fa67523 Clipping plane can now handle multiple-part objects 2020-04-08 11:52:22 +02:00
YuSanka
8ab7956c26 Search: Added shortkey Ctrl+F on Plater 2020-04-08 09:47:33 +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
YuSanka
05f4b7aa60 Search: Code cleaning 2020-04-07 20:34:09 +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
YuSanka
dcdafb6208 Implemented OnMouseMove and OnMouseClick for PopupSearchList 2020-04-07 19:09:33 +02:00
Lukas Matena
a380053a17 Merge branch 'lm_gizmos' into lm_fdm_supports_gizmo 2020-04-07 17:16:48 +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
cd13356b6d Code cleaning 2020-04-07 16:22:03 +02:00
YuSanka
752083cbe6 Implemented blinking icon to highlight a searched field 2020-04-07 12:09:58 +02:00
YuSanka
ce2e53dbfa Added control of "Invalid numeric input" for the PointCtrl 2020-04-05 23:18:22 +02:00
YuSanka
2317437ede Next Experiment 2020-04-05 22:11:45 +02:00
YuSanka
b81c774ee5 Fixed build on OSX 2020-04-05 13:20:27 +02:00
YuSanka
17bd52342b Next experiments with search on Tabs 2020-04-04 19:25:57 +02:00
YuSanka
6faae0aa12 + Fixed clear_marked_string() 2020-04-03 14:29:57 +02:00
YuSanka
c8cf11b11b Added missed destroy for search_line 2020-04-03 12:51:20 +02:00
YuSanka
2a9190c27d Merge remote-tracking branch 'origin/master' into ys_search 2020-04-03 10:48:54 +02:00
YuSanka
5ca6b9f8d0 Implemented SearchCtrl class instead of SearchComboBox
Search string are synchronized between Plater and Tabs.

List with options and filtered list are in Sidebar.
All options list on tabs and Plater use this data from Sidebar

Note: SearchComboBox.cpp(hpp) was renamed to Search.cpp(hpp)
2020-04-03 10:27:50 +02:00
enricoturri1966
a6fe16c612 3rd attempt to fix build on AppleClang 2020-04-02 08:11:25 +02:00
YuSanka
5f31d9ed41 Merge remote-tracking branch 'origin/master' into ys_search 2020-04-01 20:23:34 +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
YuSanka
67c55c7490 Added code for deactivating of search toolbar item
+ invalidated its unused callbacks.

 + ImGui::Selectable function is copied to InGuiWrapper.cpp and a little beat modified to change a label text, when item is hovered
2020-04-01 15:28:07 +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
YuSanka
042880ba2d Search: Implemented highlighting of a letters from the search string 2020-04-01 09:07:33 +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
YuSanka
abad9133eb Added new icon for "collapse sidebar"
+ The tooltip for a "Collapse" button is updated according to the collapse state
2020-03-30 11:53:58 +02:00
YuSanka
ab02d344e4 Activated "collapsed sidebar" button 2020-03-29 20:52:14 +02:00
YuSanka
d317f0753a Merge remote-tracking branch 'origin/master' into ys_search 2020-03-29 20:21:00 +02:00
YuSanka
7236abe473 Merge remote-tracking branch 'origin/ys_collapse_sidebar' into ys_search 2020-03-28 22:07:56 +01:00
YuSanka
14703fe561 Implemented Search on Plater, usint imGui 2020-03-28 19:39:24 +01: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
bubnikv
750e704b37 Merge remote-tracking branch 'remotes/origin/et_slope_shader' 2020-03-25 16:09:04 +01:00
bubnikv
8d7f88b381 Imported error reporting when loading presets with option keys
or option values that our poor software does not understand.
This applies to configs added by some forks of slic3r, for example
slic3r++
PrusaSlicer has encountered an error: Failed loading the preset file: #3909
2020-03-25 16:04:11 +01:00
enricoturri1966
dd34aef643 Follow-up of bfbcd45209 -> completed fix 2020-03-25 15:30:25 +01:00
YuSanka
4ab83af9e4 Merge remote-tracking branch 'origin/master' into ys_search 2020-03-25 15:30:09 +01:00
enricoturri1966
bfbcd45209 Fixed build on Mac 2020-03-25 15:15:20 +01:00
enricoturri1966
a54d77699b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_canvas_manager 2020-03-25 14:54:10 +01:00
enricoturri1966
f12b39be25 Fixed conflicts after merge with master 2020-03-25 14:41:47 +01:00
bubnikv
faf8df7864 Show just a short build info at the application toolbar even on OSX. 2020-03-25 14:35:41 +01:00
bubnikv
4656102dba Compile with 32bit coord_t by default. 2020-03-25 14:35:41 +01:00
bubnikv
c27297f6cc 64bit coord_t
Vec3i as a vertex index to TriangleMesh constructor
2020-03-25 14:35:41 +01:00
enricoturri1966
ed0f3b3406 Small refactoring 2020-03-25 13:55:17 +01:00
tamasmeszaros
bf5d52f221 Only do OpenSSL override on Linux 2020-03-25 12:27:10 +01:00
YuSanka
45d064d4cb Merge remote-tracking branch 'origin/master' into ys_search 2020-03-25 11:20:34 +01:00
YuSanka
de06c5d659 Merge remote-tracking branch 'origin/ys_fix_cb_selection' 2020-03-25 11:12:37 +01:00
tamasmeszaros
d207ea7dc5 Merge branch 'tm_cert_store' 2020-03-25 11:07:06 +01:00
enricoturri1966
10eb954c7e ENABLE_AUTO_CONSTRAINED_CAMERA set as default 2020-03-25 10:24:52 +01:00
YuSanka
1010fff8af Added fts_fuzzy_match.h borrowed from https://github.com/forrestthewoods/lib_fts
Search impoved using lib_fts
Function for filtering by score is prepared.
2020-03-25 10:24:43 +01:00
enricoturri1966
3d6c9e54e9 ENABLE_THUMBNAIL_GENERATOR set as default 2020-03-25 10:15:02 +01:00
tamasmeszaros
1123689a22 Search for openssl cert store on app init, if the store is not present.
fixes  #3851
2020-03-25 09:41:29 +01:00
enricoturri1966
fac28ea27a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_bug_fixes 2020-03-25 09:34:17 +01:00
enricoturri1966
3990598f01 Fixed build when ENABLE_GIZMO_TOOLBAR_DRAGGING_FIX is disabled 2020-03-25 09:33:59 +01:00
enricoturri1966
df8def7545 Fixed build when ENABLE_CANVAS_TOOLTIP_USING_IMGUI is disabled 2020-03-25 09:22:37 +01:00
enricoturri1966
c300b66b7e ENABLE_MODIFIED_GIZMOBAR_MOUSE_EVENT_HANDLING merged into ENABLE_CANVAS_TOOLTIP_USING_IMGUI 2020-03-25 09:05:35 +01:00
enricoturri1966
69ca14a695 ENABLE_MODIFIED_TOOLBAR_MOUSE_EVENT_HANDLING merged into ENABLE_CANVAS_TOOLTIP_USING_IMGUI 2020-03-25 08:52:57 +01:00
enricoturri1966
6f1c99db34 ENABLE_CANVAS_DELAYED_TOOLTIP_USING_IMGUI merged into ENABLE_CANVAS_TOOLTIP_USING_IMGUI 2020-03-25 08:43:18 +01:00
enricoturri1966
36041ced26 ENABLE_CANVAS_CONSTRAINED_TOOLTIP_USING_IMGUI merged into ENABLE_CANVAS_TOOLTIP_USING_IMGUI 2020-03-25 08:31:15 +01:00
Lukas Matena
97b9de47b4 Merge branch 'master' into dev 2020-03-24 21:51:05 +01:00
enricoturri1966
7c72231fcd Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_bug_fixes 2020-03-24 12:26:48 +01:00
enricoturri1966
c6d5ad1517 Refactoring of toolbars' tooltip generation 2020-03-24 12:26:30 +01:00
bubnikv
c3a9915fa1 Added the order of the print parameter priorities when slicing
from command line to command line help.
Follow up on
PrusaSlicer Console --load my_config.ini doesnt overwrites the 3mf profiles or not used. #3893
2020-03-24 11:59:55 +01:00
bubnikv
015a4a37dc Fix of a wrong order of processing the config sources when slicing
from command line. Fixes
PrusaSlicer Console --load my_config.ini doesnt overwrites the 3mf profiles or not used. #3893

The priority of config values is now:

1) Config keys from command line, for example --fill-pattern=stars
   (highest priority, overwrites everything below)
2) Config files loaded with --load
3) Config from 3mf
   (lowest priority)
2020-03-24 11:52:43 +01:00
bubnikv
ad5ae50933 Fix of Crash when trying to set up non-existent flashair (#3899)
fixed a typo in formatting text, throwing an exception.
2020-03-24 10:04:41 +01:00
enricoturri1966
a1ec38a7fb Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_bug_fixes 2020-03-24 08:08:12 +01:00
YuSanka
5215b2ecb2 Fix of #3889 2020-03-23 22:47:35 +01:00
enricoturri1966
4c1d867ba0 #3897 - Small optimisation in GCodePreviewData::RangeBase::get_color_at (thanks to rongith) 2020-03-23 16:12:52 +01:00
enricoturri1966
c480041487 Close undo/redo windows when an item in the list is selected 2020-03-23 16:00:56 +01:00
enricoturri1966
b8c4369c4f ImGui upgraded to version 1.75 + fixes required by upgrade 2020-03-23 12:41:16 +01:00
YuSanka
ebfaf7abb0 Removed SearchCombobox from the Sidebar.
Tab->SearchCombobox works with all parameters now.
Overridden GetWindow() for PointCtrl.
2020-03-23 10:28:28 +01:00
bubnikv
046f0dbfa2 Fixed a regression issue to PrusaSlicer 2.1.1
Custom printer with center of bed at 0,0 results in "toolpath outside print area" #3510
The G92 A0 B0 was incorrectly considered to be equal to just G92
to reset all axes.
2020-03-21 10:09:33 +01:00
bubnikv
1cbb822dd7 Enabled "clip multipart objects" by default, see discussion in
https://github.com/prusa3d/PrusaSlicer/issues/2803#issuecomment-524602137
2020-03-20 18:25:11 +01:00
bubnikv
92162d8fe5 Merge branch 'et_bug_fixes' 2020-03-20 17:19:46 +01:00
bubnikv
4938d5ab63 Fixed orientations of some 3D connexion axes when in the swapped YZ mode. 2020-03-20 17:19:20 +01:00
Enrico Turri
7c56cc9f22 Follow-up of f912fecad5 -> option to swap y/z axes extended to rotations 2020-03-20 16:13:08 +01:00
YuSanka
a46a225cf1 Merge remote-tracking branch 'origin/master' into ys_search 2020-03-20 14:56:05 +01:00
YuSanka
ec381c5854 Update of Settings in ObjectList from Tab::update() is suppressed, if Undo/Redo is not completed 2020-03-20 13:45:37 +01:00
bubnikv
a9fc39491e Fix of weird double extrusions with multiple regions and their
parameters being changed between slicing runs.
2020-03-20 13:37:13 +01:00
Enrico Turri
f912fecad5 3DConnexion devices: added option to swap y/z translations 2020-03-20 13:09:42 +01:00
enricoturri1966
5b24a0fb91 Fixed conflicts after merge with master 2020-03-20 10:55:37 +01:00
YuSanka
e188893c28 Start to implement "Search through options" 2020-03-20 10:30:55 +01:00
bubnikv
b1fbc2c59c Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-03-19 17:32:18 +01:00
Slic3rPE
b4a7822098 Fixed Command character on OSX in ImGUI 2020-03-19 16:10:16 +01:00
enricoturri1966
cd5154b8e1 Fixed tooltip reappering after leaving imgui dialog 2020-03-19 15:12:18 +01:00
enricoturri1966
5b3ca3e4b7 Merge branch 'et_gizmos_tooltip' of https://github.com/prusa3d/PrusaSlicer into et_gizmos_tooltip 2020-03-19 14:06:49 +01:00
enricoturri1966
2501cf64c0 Modified mouse events handling for gizmobar
The gizmobar was consuming the mouse up event preventing the gizmos to update their tooltip

The gizmobar was also consuming the mouse dragging event transforming a gizmo manipulation into a scene rotation
2020-03-19 14:05:49 +01:00
bubnikv
be2fd7164c ImGUI characters for OSX keyboard keyboard modifiers are only contained
in the CJK fonts, not in the regular fonts. Load them from CJK fonts
even for non CJK languages.
2020-03-19 13:32:34 +01:00
bubnikv
966b2ce371 Fixing spurious deselection of objects when switching from 3d path
preview to plater using the bottom tool bar & left mouse click.
This is result of the recent commits refactoring the mouse focus
over toolbars handling. 739d8131ab
2020-03-19 12:39:25 +01:00
Lukas Matena
6d23c08d00 WIP 2020-03-19 12:04:05 +01:00
Lukas Matena
f275461354 WIP: FDM supports gizmo now works with multiple part objects into some extent 2020-03-19 11:15:17 +01:00
Lukas Matena
1b05ecae8c WIP: FDM gizmo: triangles not facing the camera are no more selected with fdm selection tool 2020-03-19 11:15:17 +01:00
Lukas Matena
590569e8f6 WIP: Optimized the triangle selection so it does not iterate over all the triangles 2020-03-19 11:15:17 +01:00
Lukas Matena
2e71dcefc3 WIP: Added a circle cursor and naive logic to select triangles inside
Deselection is possible when holding shift
Triangles obscured by the mesh are selected nonetheless (so far)
2020-03-19 11:15:17 +01:00
Lukas Matena
08daddb5de WIP: First working implementation of the triangle selector for the FDM support gizmo 2020-03-19 11:15:17 +01:00
Lukas Matena
7afe7326b6 WIP: Duplicated the SLA gizmo for the FDM, removed what was not needed
Clipping plane and the m_model_object pointer keeping was duplicated
2020-03-19 11:15:17 +01:00
Enrico Turri
5a4e80fdb2 Added readme.md file for imgui 2020-03-19 10:43:48 +01:00
bubnikv
8f762168ba Adding special OS characters for keyboard shortcuts to ImGUI font map. 2020-03-19 09:52:24 +01:00
enricoturri1966
739d8131ab Modified mouse events handling for toolbar
The toolbar was consuming the mouse up event preventing the gizmos to update their tooltip
2020-03-18 16:59:30 +01:00
bubnikv
a901b17d33 Merge branch 'et_gizmos_tooltip' of https://github.com/Prusa3d/PrusaSlicer into et_gizmos_tooltip 2020-03-18 14:28:54 +01:00
bubnikv
79951630ec Hiding the tooltip when the window gets deactivated and reactivated. 2020-03-18 14:28:43 +01:00
enricoturri1966
9da16aeaa9 Merge branch 'et_gizmos_tooltip' of https://github.com/prusa3d/PrusaSlicer into et_gizmos_tooltip 2020-03-18 14:27:02 +01:00
enricoturri1966
61f3b53ef8 Fixed conflicts after merge with master 2020-03-18 14:26:44 +01:00
enricoturri1966
cd55b235ad Canvas tooltip constrained inside canvas 2020-03-18 14:13:50 +01:00
Lukas Matena
37be82c8aa Tooltips are rendered unformatted so percent signs in them do not break rendering 2020-03-18 13:50:08 +01:00
enricoturri1966
c5552843ab Merge branch 'et_gizmos_tooltip' of https://github.com/prusa3d/PrusaSlicer into et_gizmos_tooltip 2020-03-18 13:36:01 +01:00
enricoturri1966
8a824bb8c2 Refactoring 2020-03-18 13:35:46 +01:00
bubnikv
067e128651 Suppress tooltips when the mouse is processed by an ImGUI dialog. 2020-03-18 13:23:07 +01:00
enricoturri1966
1c1a6b933a Fixed interference between tooltips and imgui dialogs 2020-03-18 10:46:46 +01:00
enricoturri1966
f4aa9c5b0e #3858 - Added missing reset for fan speed visualization 2020-03-18 08:10:05 +01:00
enricoturri1966
a85a2b2e2a Attempt to fix build on Linux 2020-03-17 15:47:49 +01:00
enricoturri1966
166389e6a8 Initial delay for ImGUI-based tooltip 2020-03-17 14:35:56 +01:00
enricoturri1966
7a1fa3d847 Canvas' tooltip using ImGUI 2020-03-17 13:01:38 +01:00
enricoturri1966
12c0170e3c Attempt to fix gizmos tooltip on Mac 2020-03-17 11:02:32 +01:00
bubnikv
98fb8b626f Fix of Wipe to Infill causes severe overextrusion (thicker walls & infill) (#3842)
Regressinon in regard to PrusaSlicer 2.2.1 due to Vojtech's refactorings
for efficiency.
2020-03-17 09:41:54 +01:00
enricoturri1966
df6170b9bd Fixed gizmos' tooltips 2020-03-17 09:41:54 +01:00
enricoturri1966
2ab8a474c2 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_slope_shader 2020-03-17 07:59:10 +01:00
YuSanka
8233a910b9 Fix of #3303
+ Fixed wrong update of selection in object and scene, when change selection in ObjectList after editing of values in Height range modifiers.
Repro:
 1. Add 2 objects
 2. Add Height range modifiers for one of them
 3. Select range
 4. Edit some of values
 5. Select other object.

Expected behavior:
 1. Edited value is saved
 2. New object is selected in object list and on the 3D scene_selection

Real behavior:
 1. New object is selected in object list and on the 3D scene_selection
 But:
 2. Every next selection in object list has no update on the scene or "temporary" panel
 3. Selection from the scene updates selection in ObjectList
 But:
 4. Next editing of layer range and press "Enter" causes a crash
2020-03-16 21:32:48 +01:00
enricoturri1966
a0ed240af1 Generate gizmos' tooltip on demand 2020-03-16 16:37:22 +01:00
tamasmeszaros
5ed7d0aa29 Fix arrangement with items larger or equal to bed dimesions.
fixes #2897 
fixes #1186
2020-03-16 14:37:54 +01:00
bubnikv
6bace46be1 Revert "#3034 - Keyboard shortcuts for 'Delete selected' and 'Delete all' commands enabled also in Preview"
It is too late before 2.2.0-final.

This reverts commit 350a85cf43.
2020-03-16 14:25:05 +01:00
enricoturri1966
505181ddfd Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_slope_shader 2020-03-16 14:19:30 +01:00
enricoturri1966
abcd01d64a ENABLE_SLOPE_RENDERING - Do not apply slope shading to modifiers and small refactoring 2020-03-16 14:17:19 +01:00
enricoturri1966
19d93b3b01 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-03-16 13:35:15 +01:00
enricoturri1966
350a85cf43 #3034 - Keyboard shortcuts for 'Delete selected' and 'Delete all' commands enabled also in Preview 2020-03-16 13:34:53 +01:00
YuSanka
ea0cb4d761 Sidebar can be hidden/shown from menu "View/Collapse sidebar" 2020-03-16 12:51:55 +01:00
enricoturri1966
ffe404fc5b Fixed gizmos' tooltips 2020-03-16 12:45:39 +01:00
bubnikv
c1e92a5759 Fix of
"Print settings reloaded with 0.05 layer and fill percentage changed
after click on modified profile #3755"

Combo box callback was not removing the "(modified)" suffix.
2020-03-16 09:57:20 +01:00
enricoturri1966
ac4d9ea172 Fixed conflicts after merge with master 2020-03-16 08:09:52 +01:00
bubnikv
6bf56d5cb4 Updated the "Remove user profiles" message at the install wizard to
indicate that it does nothing to user profiles.
2020-03-15 12:19:56 +01:00
bubnikv
2e1aef87a1 The import of system profiles was improved to not inherit
the "renamed_from" field as it is specific to a concrete profile.

Prusa Research system profile was annotated with "renamed_from"
to indicate that the PETG profiles were renamed from PET somewhere
after PrusaSlicer 2.2.1 release.
2020-03-15 08:38:17 +01:00
bubnikv
7f3ac39757 Fixed conversion of installed presets from PrusaSlicer 2.1.1 to 2.2.0 2020-03-14 20:18:31 +01:00
bubnikv
a3ded8fa95 Reworked filaments / SLA materials in installation wizard:
1) When the wizard is initialized, filament and SLA profile names
   are verified and current names of renamed profiles are resolved.
   Fixes "Add/Remove Filaments is not hiding all of the un-checked filaments #3835"
2) When adding a printer model, default materials are installed in case
   the printer model has no default material installed.
3) When leaving the Filaments or SLA materials page, and some printer models
   have no material installed, those Printer Models are listed
   in a message box and only for those printer models the default
   materials are installed.
2020-03-14 18:35:42 +01:00
bubnikv
fcb04039e8 New shorcut _L() for _(L())
New shorcut _u8L() for _utf8(L())
2020-03-14 17:51:56 +01:00
bubnikv
7f376fa927 Fix of infill type update with vase mode enabled after change
of the number of bottom layers.
related to [2.2.1-RC] Vase mode prints base no matter what #3823
2020-03-14 11:59:50 +01:00
bubnikv
dc1ffe15a8 Revert "Added "Filament spool weight" option to filament options"
This reverts commit 3d3e36ba8d.

The change is too risky just before the PrusaSlicer 2.2.0 final release
and the feature may need a bit of polishing before release.
2020-03-14 09:49:12 +01:00
Lukas Matena
c731f04331 Follow-up of previous commit - check that gizmos are enabled
To be on the safe side, reinstate one part of
the check that the previous code did.
2020-03-14 09:46:48 +01:00
bubnikv
99ff6763a1 Layer height editing: Fixed to satisfy the minimum layer heigth,
improved wording of the tooltips indicating why a new layer height range
cannot be inserted.
2020-03-14 09:44:29 +01:00
bubnikv
af4a5c3f8a Synchronization of skirt input field enable / disable state
in the parameter tab.
An inconsistency between the slicing back-end and the parameter page
has been fixed, where the slicing back end only creates skirt for
non-zero number of skirt loops even if the minimum skirt extrusion is set.
2020-03-14 09:44:28 +01:00
Lukas Matena
ac103f334c Actual fix of the rare crash recently mentioned in e547a0c
The problem was in fact elsewhere. After an object is added, it is necessary to
update the gizmos. GLGizmoManager::update_data needs to be called, but regardless
of whether any gizmo is currently opened (which is what is_running returns).

To reproduce the crash that this fixes: add an object, delete it, add another one,
open SLA gizmo -> crash
2020-03-14 09:18:49 +01:00
bubnikv
6b58f67fb8 "inifinit_skirt" renamed to "draft_shield"
Polished the tooltip for the draft shield.
Legacy conversion from old skirt_heigth == -1 to draft_shield = 1
2020-03-14 07:46:39 +01:00
bubnikv
b97a12da98 Documented the previous merge. 2020-03-14 07:14:45 +01:00
bubnikv
37b3780a72 Merge remote-tracking branch 'remotes/origin/et_free_camera' 2020-03-14 07:02:08 +01:00
bubnikv
87303951a7 Little refactoring of get_mouse_position_in_control() for const
correctness and readability.
2020-03-14 07:00:09 +01:00
YuSanka
79be13438e Fixed context menu issues, related to #3802 fixed with commit (4ca03c3f8a)
The code which caused an impossibility to edit objects in list under OSX using mouse right click, is deleted
2020-03-13 23:22:09 +01:00
bubnikv
3234823a1a Windows do not send an update on insert / eject of an SD card into
an external SD card reader. Windows also do not send an update
on software eject of a FLASH drive. We can likely use the Windows
WMI API, but it will be quite time consuming to implement,
therefore we lower the polling interval back to two seconds.

https://www.codeproject.com/Articles/10539/Making-WMI-Queries-In-C
https://docs.microsoft.com/en-us/windows/win32/wmisdk/wmi-start-page
https://docs.microsoft.com/en-us/windows/win32/wmisdk/com-api-for-wmi
https://docs.microsoft.com/en-us/windows/win32/wmisdk/example--receiving-event-notifications-through-wmi-
2020-03-13 19:30:41 +01:00
bubnikv
d3236f5e70 Merge remote-tracking branch 'remotes/origin/ys_improvements' 2020-03-13 16:52:12 +01:00
bubnikv
76f9aaf13c Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-03-13 16:52:07 +01:00
YuSanka
0f5f0b6333 Toggled "Skirt height" option in respect to "Use unlimit skirt" option 2020-03-13 16:31:27 +01:00
YuSanka
380fffd248 Merge remote-tracking branch 'origin/master' into ys_improvements 2020-03-13 16:05:46 +01:00
bubnikv
c8b177966d Merge remote-tracking branch 'remotes/origin/ys_improvements' 2020-03-13 16:01:30 +01:00
Lukas Matena
e547a0c3d1 Fix of a rare crash on opening an SLA gizmo (supports or hollow) 2020-03-13 15:58:59 +01:00
bubnikv
2e6a5e7783 Fixed crash in skirt preview for multiple objects with different height
and full size skirt used as a draft shield.
2020-03-13 15:57:07 +01:00
bubnikv
324b9d4f67 Fixed compilation on Linux / OSX 2020-03-13 15:11:40 +01:00
enricoturri1966
b36051af82 New tech ENABLE_SLOPE_RENDERING - 1st installment of rendering objects colored by facets slope 2020-03-13 15:09:07 +01:00
bubnikv
98fc01afe7 Fix of compilation on OSX and Linux, update of camera after 3D mouse
disconnect moved to the main thread.
2020-03-13 14:57:45 +01:00
bubnikv
2f6326a2eb Windows specific refactoring of Mouse3DController and RemovableDriveManager.
PrusaSlicer newly registers by Windows operating system for HID USB
plug / unplug notifications and for Volume attach / detach notifications,
and the background threads of the two respective services are waken up
on these Windows notifications.
The RemovableDriveManager also wakes up every 30 seconds to cope with
the drives ejected from Windows Explorer or from another application,
for example Cura, for which Windows OS does not send out notifications.
2020-03-13 14:19:14 +01:00
Enrico Turri
3684eea53d Follow-up of 4a59a45d51 -> missed cleanup 2020-03-13 13:20:38 +01:00
YuSanka
56c6193ff4 Merge remote-tracking branch 'origin/ys_add_new_options' into ys_improvements 2020-03-13 11:49:51 +01:00
Enrico Turri
3fd6c8a2ff #2922 - Fan speed for gcode visualization modified as proposed by rongith 2020-03-13 08:25:48 +01:00
bubnikv
45e0079356 Refactoring of suppress background process update for clarity. 2020-03-12 16:11:25 +01:00
bubnikv
1d5249f9b0 Fix of #3660 : Background processing restart and error messages
are suppressed while tracking a pop-up menu.
2020-03-12 16:05:39 +01:00
YuSanka
6a6790b8e7 Implemented disabling of Add buttons if next layer range couldn't be added
+ Fixed "Layer ranges" expand.
2020-03-12 15:11:31 +01:00
bubnikv
f71d3e63f2 Changed location of vendor specific thumbnail images of printers:
These images are newly stored inside the resources/profiles/VENDOR_NAME/,
they should be named by the printer_model identifier suffixed with
"_thumbnail.png"

All the existing printer thumbnails were moved and renamed,
thumbnails for the 3rd party printers were added, marked as Beta.
2020-03-12 14:13:08 +01:00
bubnikv
b71161265f Follow-up on 550e5c2fbb3a5151e18b573f246fa78dcef8e964
Fixed some spurious moves of data that should have not been moved.
2020-03-12 12:57:52 +01:00
David Kocik
3858257e28 info message - ejecting of sd/flash has failed 2020-03-12 12:57:52 +01:00
bubnikv
e2274bfc83 Saving one enumeration of external drives when deciding whether
to verify the file saved or not.
2020-03-12 12:43:09 +01:00
David Kocik
b941560736 RemovableDriveManager: not calling update from status()
Update was called too often on main thread mostly from status() causing delays
2020-03-12 11:57:05 +01:00
bubnikv
c145d60df4 Improvement in the RemovableDriveManager update function:
Don't call the update() if it is already running. Wait for the
other instance to finish instead.
2020-03-12 11:30:58 +01:00
tamasmeszaros
29f2394ecb Fix faulty nfp edge cache with argument > 1.0
in reaction to #3781
2020-03-12 10:45:35 +01:00
bubnikv
84c9136e2d Fixed formatting error in preset update from the net. 2020-03-12 09:42:25 +01:00
bubnikv
ccbf5379ab More detailed logging of hid_init() on unixes to detect why
loading of "libudev.so.1" or "libudev.so.0" failed.
2020-03-12 09:42:25 +01:00
Enrico Turri
4c16ce442f #3816 - Use constrained camera when navigating the 3D scene with regular mouse, if free camera is not selected 2020-03-12 09:29:24 +01:00
bubnikv
6664a548d6 Show busy cursor on eject, improves
2.2.0-RC Eject is very slow in Linux #3795
2020-03-11 18:25:05 +01:00