Commit Graph

357 Commits

Author SHA1 Message Date
YuSanka
51b18fddeb Changed data types 2019-06-03 15:35:21 +02:00
YuSanka
e09207e27e Fixed OSX and Linux build 2019-05-31 15:36:38 +02:00
YuSanka
5f4b7a5292 ObjectLayers::add_layer_range() -> add a layers range using "Add" button from ObjectLayers sizer 2019-05-31 15:29:09 +02:00
YuSanka
38641ef578 ObjectLayers::del_layer_range() -> delete a layers range using "Del" button from ObjectLayers sizer 2019-05-31 10:54:52 +02:00
YuSanka
e531d224e8 Implemented delete_layers_from_object() 2019-05-30 16:53:17 +02:00
YuSanka
a516f76f94 Improved layer sizer
+ fixed build under OSX and Linux
2019-05-30 14:42:38 +02:00
YuSanka
bf56d79354 Layers sizer updating 2019-05-30 12:41:16 +02:00
YuSanka
765d4264ae Implemented ObjectLayers class
+ some code refactoring
2019-05-28 16:38:04 +02:00
YuSanka
9d19e3d2a7 Improved Delete() Add() ans Select() functions for Layer(s)Item 2019-05-27 16:13:24 +02:00
YuSanka
dd70dd6e10 Implemented LayerItem for ObjectList 2019-05-27 14:00:34 +02:00
Enrico Turri
bf9740188a Code cleanup 2019-05-24 15:22:27 +02:00
Enrico Turri
734d946912 1) Added Scale to print volume menu item to objects list context menu
2) Disable [F] key when scale sizmo is dragging
2019-05-24 14:42:59 +02:00
YuSanka
149665742c Fix of #2318 2019-05-23 15:12:19 +02:00
bubnikv
666e9687ce Fixes PrusaSlicer exits after entering illegal object name #2348
For some reason, showing an error message box from inside the right panel
in place editor handler lealds to crashes at least on Windows.
Postpoing the dialog with a CallAfter cures that crash.
2019-05-23 12:18:28 +02:00
Enrico Turri
ac368e2c9e Tech ENABLE_GENERIC_SUBPARTS_PLACEMENT set as default 2019-05-21 10:01:04 +02:00
Enrico Turri
975ccc4ac1 Tech ENABLE_VOLUMES_CENTERING_FIXES set as default 2019-05-21 09:42:59 +02:00
bubnikv
45a2ced191 Fix of a crash when deleting all objects. 2019-05-20 18:49:32 +02:00
Enrico Turri
951f9c1dab Reset tooltip in objects list when no item is hovered 2019-05-20 13:52:58 +02:00
bubnikv
fc0bc15869 Fixed a regression, where in the object list when in-place editing
the object name, the accelerator keys were still captured and caused
weired effects or crashes.
2019-05-16 10:37:06 +02:00
bubnikv
325a5b8682 Fix of mangled UTF8 characters in ModelVolume name after copy / paste. 2019-05-15 17:16:31 +02:00
YuSanka
b62351299d Merge remote-tracking branch 'origin/master' into ys_menuicons 2019-05-13 15:12:36 +02:00
YuSanka
1b50ea3bda Deleted unused menu items for OSX
+ Marked items for "Change part type" list
+ new POT
2019-05-13 15:07:53 +02:00
YuSanka
d8d211cb67 Code refactoring for Bind(wxEVT_UPDATE_UI) universally (inside append_menu_item(...))
+ Marked text for "Change part type" list
2019-05-13 14:27:51 +02:00
YuSanka
cd82b03a0e Localization improvements : Empty spaces at the end of phrase are removed from dictionary.
+ new POT
2019-05-11 23:29:25 +02:00
YuSanka
394d02fdd9 Localized "default" extruder 2019-05-10 12:54:20 +02:00
YuSanka
2a57acfbd6 Fixed menu items "Add..." scaling under MSW 2019-05-09 14:53:31 +02:00
bubnikv
a8241ad7f7 Merge remote-tracking branch 'remotes/origin/master' into vb_wold_object_manipulation 2019-05-03 19:13:47 +02:00
YuSanka
8be585893a Fixed a crash, if try to add second settings grope for instance 2019-05-03 16:05:49 +02:00
YuSanka
b4dbd55623 Merge remote-tracking branch 'origin/ys_ftn_improvements' 2019-05-03 14:31:59 +02:00
YuSanka
80d3cbac73 Temporary fix for crash, if try to add second settings grope for instance 2019-05-03 14:29:28 +02:00
bubnikv
1c6006f657 Merge remote-tracking branch 'remotes/origin/master' into vb_wold_object_manipulation 2019-05-03 12:37:43 +02:00
Enrico Turri
a3385278e5 Export to STL of SLA supports and pad 2019-05-02 13:46:39 +02:00
YuSanka
88c9948c85 Fixed typo 2019-05-02 09:54:18 +02:00
YuSanka
b048669a3b Changed update_warning_icon_state() signature
(next try to fix OSX compilation)
2019-05-02 08:33:38 +02:00
YuSanka
7f37f82ad4 Added comments 2019-04-30 16:59:40 +02:00
YuSanka
11a04f918b ObjectList: Show tooltip for warning icon only instead of whole "Name" cell 2019-04-30 15:46:25 +02:00
YuSanka
3bc6c29b7a Added missed include 2019-04-30 11:27:41 +02:00
YuSanka
3eacb0a216 Next try 2019-04-30 09:38:23 +02:00
YuSanka
6ddefc6a65 Some refactoring to fix OSX build 2019-04-30 09:11:57 +02:00
bubnikv
6921a04077 Trying to bind the common accelerators on the object list. 2019-04-29 16:02:39 +02:00
YuSanka
2a47f0dc92 ObjectList improvements: Added warning icon for Parts with a repaired errors 2019-04-29 15:27:59 +02:00
bubnikv
16560f6e27 Merge remote-tracking branch 'remotes/origin/master' into vb_wold_object_manipulation 2019-04-26 17:42:51 +02:00
bubnikv
6526a8fcaf WIP: Transformation of instances in world coordinate space:
Ulocking the "anisotropic" scaling checkbox will bake the transformation
into meshes to allow for scaling in world axes.

Optimized and templated the stl_transform functions, now also available for 3x3 matrices.
The Canvas3D::reload_scene() now maintains selection even if all volumes of an instance changed their IDs.
2019-04-26 17:28:31 +02:00
YuSanka
3d48190616 After merge fixing 2019-04-25 16:19:50 +02:00
YuSanka
b39e9a81f3 Merge remote-tracking branch 'origin/master' into ys_ftn_improvements 2019-04-25 08:12:19 +02:00
YuSanka
065448e9e5 Big Refactoring: - deleted/renamed all _Prusa_ prefixes,
- cleaned code from commented parts
 - rescale() -> msw_rescale()
2019-04-25 01:45:00 +02:00
YuSanka
be60f0a53c Merge remote-tracking branch 'origin/ys_msw_dpi' 2019-04-24 23:09:50 +02:00
YuSanka
b4d5287d0c Refactoring: get_mesh_errors_count() moved to ModelObject
+ added get_object_stl_stats() to ModelObject
2019-04-24 16:04:47 +02:00
YuSanka
203e9e848c Changed Manipulation panel. (Simple mode)There is exclamation mark icon next for the object name, if it has errors.
+ some code refactoring
2019-04-24 13:33:05 +02:00
YuSanka
1f02eb704a Code refactoring: Deleted unused variables and _cleaned_ overbusy functions 2019-04-22 01:51:10 +02:00
YuSanka
de55801e31 Merge remote-tracking branch 'origin/ys_bug_fixing' into ys_msw_dpi 2019-04-18 15:24:50 +02:00
Enrico Turri
dfa924e8eb Ctrl+C and Ctrl+V for Copy and Paste refactored in the same way as Ctrl+A for Select All 2019-04-16 13:47:37 +02:00
YuSanka
ae2c61160f Application Scaling for MSW: Added rescale function for DoubleSlider (from Preview), ObjectList, ManipulationPanel and SettingsPanel
+ Set wider default size for Preset Comboboxes from Tabs (#2023)
2019-04-16 10:05:45 +02:00
Enrico Turri
8235ad2b02 ObjectList::paste_objects_into_list() refactored to call front end / back end synchronization and scene refresh only once 2019-04-15 15:40:40 +02:00
YuSanka
df7ada0199 Merge remote-tracking branch 'origin/master' into ys_msw_dpi 2019-04-14 13:49:22 +02:00
YuSanka
f7ddddcff5 Application Scaling for MSW: Next big step
- Added rescale() function for the most of controls
 - Created PrusaBitmap and PrusaButton classes like a wrap to wxBitmap and wxButton accordingly
2019-04-13 23:46:52 +02:00
YuSanka
cfa4f3f4d6 Added new icons 2019-04-12 17:10:29 +02:00
Enrico Turri
7d15ee8fd9 Offset used to place newly added volumes and instances proportional to the bed max size 2019-04-12 15:31:33 +02:00
Enrico Turri
c5fa804c33 Merge branch 'et_copy_and_paste' of https://github.com/prusa3d/Slic3r 2019-04-12 12:40:25 +02:00
YuSanka
3a412a3a82 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-04-12 12:28:36 +02:00
YuSanka
50f8f45e0a Added new icons 2019-04-12 12:15:56 +02:00
Enrico Turri
defcd26b4a Copy and paste -> Fixed paste for multivolumes copies 2019-04-12 11:28:24 +02:00
Vojtech Kral
5522ed9574 Also revert high DPI bitmaps in ObjectList for now 2019-04-12 11:28:07 +02:00
Enrico Turri
99993170eb Copy and paste -> Fixed copy of multiple instances and volumes insertion into objects list 2019-04-11 11:09:32 +02:00
Enrico Turri
8b9568797a Copy and paste -> prototype of copy and paste for objects 2019-04-10 15:55:32 +02:00
Enrico Turri
7a1fab09d4 Copy and paste -> Clipboard refactored to accept more than one object 2019-04-10 14:03:40 +02:00
Enrico Turri
6f6b78d661 Copy and paste -> Copy a volume from an object and paste to another 2019-04-10 09:27:42 +02:00
Enrico Turri
6cbf9d2523 1st installment of copy and paste -> prototype for volumes copy and paste 2019-04-10 08:40:58 +02:00
Enrico Turri
7aa6c1854f Follow-up to af05e5fc2c -> added missing #else 2019-04-09 15:43:16 +02:00
Enrico Turri
0889877e26 Tweaks to selection from 3D scene 2019-04-09 15:42:00 +02:00
Vojtech Kral
2494dc6706 Fix SVG & bitmap scaling on Mac depending on Retina scaling 2019-04-09 15:16:10 +02:00
bubnikv
d8cb1b0792 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-04-09 13:13:57 +02:00
bubnikv
6bd54f0112 Hopefully fixing the "scroll to the first selected line" issue
at the object list.
2019-04-09 13:13:42 +02:00
Enrico Turri
24b8c1fde3 Forced one frame render after selecting single volume in objects list 2019-04-09 11:38:56 +02:00
YuSanka
af05e5fc2c Fixed crash under oSX after selection with SHIFT from 3DScene 2019-04-08 11:10:57 +02:00
YuSanka
618d124bfb Icon updating for all application 2019-04-08 11:10:57 +02:00
YuSanka
0c662e298f Merge remote-tracking branch 'origin/ys_selection' 2019-04-05 11:25:29 +02:00
YuSanka
77dcb7f5a3 Added missed code for my last commit 2019-04-05 09:04:52 +02:00
YuSanka
ccee04cd68 Implemented new logic for Instances splitting 2019-04-04 18:03:40 +02:00
YuSanka
8631cb006b Improved Selection from ObjectList side 2019-04-04 18:03:40 +02:00
Enrico Turri
763a91e2ca Export to stl of parts and modifiers 2019-04-04 15:13:43 +02:00
YuSanka
63dea6d5dc Merge remote-tracking branch 'origin/master' into ys_selection 2019-04-04 15:09:37 +02:00
YuSanka
09054a0bc9 Fixed non-consistency of the selection 2019-04-04 15:07:54 +02:00
Enrico Turri
936f7a3b84 Select newly added parts/volumes from current selected instance when adding from 3D scene's context menu 2019-04-04 09:35:13 +02:00
bubnikv
527c213b57 Fixed cutting of objects in left oriented coordinate space.
Removed some spurious debugging printf.
2019-04-03 12:07:58 +02:00
YuSanka
fed0f189d3 Fixed typo 2019-04-03 08:39:36 +02:00
YuSanka
81809018bc Selection improvements
+ "Delete" menu_item for Instances under OSX
2019-04-02 16:33:52 +02:00
YuSanka
ac6a232795 Improved Selection from ObjectList side 2019-03-29 14:36:59 +01:00
Enrico Turri
49fe8a9f08 Volumes selected from the sidebar table taken from the currently selected instance 2019-03-29 10:48:20 +01:00
YuSanka
44d3243df1 Added context menu Item "Change Extruder" on 3D-Scene 2019-03-28 16:32:19 +01:00
YuSanka
c8291c6e52 Fix of #2029
+ Some improvements for the language changing
2019-03-26 18:02:26 +01:00
bubnikv
a5b27a7540 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-21 10:07:42 +01:00
YuSanka
0198e71789 Implemented issue #1990 2019-03-21 09:37:52 +01:00
bubnikv
001d0c0fe9 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-20 10:34:10 +01:00
bubnikv
4d37c8658d Merge remote-tracking branch 'remotes/origin/ys_preset_edit_buttons' 2019-03-19 17:37:02 +01:00
YuSanka
b7a1bd927a Some improvements 2019-03-19 14:36:32 +01:00
Enrico Turri
80c1a8d8e4 GLCanvas3D::Selection as a standalone class 2019-03-19 13:30:21 +01:00
YuSanka
bdaadcccd9 Implemented SPE-874
(Delete items from context menu for Simple mode)
2019-03-19 09:53:47 +01:00
Vojtech Kral
456d09be76 Fix out of bounds selection in ObjectList, fix #1890 2019-03-18 16:19:19 +01:00
YuSanka
639b641722 Disabled DoubleBuffered for Tabs
+ set helper functions like a static (GUI_ObjectList.cpp)
2019-03-14 15:46:26 +01:00
YuSanka
f02f24c4b7 Implemented set extruder number on multiple items at the same time (#1940) 2019-03-14 13:15:28 +01:00
YuSanka
7cced0613a Fixed crash after deleting of the part with no extruder options in configuration 2019-03-14 09:22:15 +01:00
YuSanka
5ecd78434c Fixed #1949 2019-03-14 09:19:21 +01:00
YuSanka
22fcf245c4 Fixed updating of the extruder value for last part in the object after deleting another parts (#1931) 2019-03-13 16:42:36 +01:00
YuSanka
46d19aa52d Added function for the updating of the Error icon after a fix through the NetFabb 2019-03-13 15:35:39 +01:00
Enrico Turri
77964de9f2 Update of ModelVolume::m_is_splittable moved inside ModelVolume itself 2019-03-13 14:04:59 +01:00
Vojtech Kral
9522cd1d4f OnInit: Move preset loading out of EVT_IDLE/once, remove temp workaround of sidebar scrollbar 2019-03-12 11:10:30 +01:00
YuSanka
ef3482a427 Fixed a scrolling of the selected item in ObjectList (SPE-849) 2019-03-07 15:26:19 +01:00
YuSanka
000a60e198 Added "Export object as STL" menu item to the ObjectList context menu 2019-03-07 12:09:23 +01:00
YuSanka
aa0737fa5e Fixed assert after try to add Part to Object with several Instances from the ObjectList.
+ Fixed selection on the 3DScene before a context menu showing
2019-03-07 10:08:21 +01:00
YuSanka
f1f68cfd85 Fixed a crash after a printer preset changing with selected setting's item in an object list 2019-03-06 09:28:55 +01:00
YuSanka
2ddd2ed4c7 Fixed a preset selection after a config wizard running (SPE-841) 2019-03-05 15:36:14 +01:00
YuSanka
de0bd2ea44 Fixed SLA-parameters initialization with correct current values, not default (SPE-834) 2019-03-05 10:46:57 +01:00
Lukas Matena
9c5194c89b An attempt to fix an OSX crash when manipulating the ImGui sliders 2019-03-04 12:47:02 +01:00
bubnikv
1f7db3d40c Reworked the "new modifier mesh place on face" code to not place
on face if the instance coordinate system is skewed.
2019-03-01 10:09:20 +01:00
bubnikv
dc0c58a9c5 Improvement of the initial placement of modifier meshes:
Sphere and Cylinder are scaled to the same volume as Box
Newly entered modifier meshes are rotated parallell to the world coordinates.
If the instance coordinate system is rotated and scaled, it is not possible
to create an unskewed modifier to world transformation. In that case
the best possible transformation is found to minimize least squares error
of the 8 corners of the new modifier mesh bounding box using
Levenberg-Marquardt algorithm.

FIXME:
1) The Levenberg-Marquardt non-linear least squares does not converge
nicely, it may require some tuning.
2) Above all, if 1) is called, then often the skew of the modifier mesh
is so high, that it is likely more useful to display the modifier
with zero rotation and inverse scaling, so that the modifier will be
of correct size, but not parallel to the world coordinates.
2019-02-28 11:20:01 +01:00
Vojtech Kral
46ed5505da Fix string conversion in ObjectList 2019-02-22 14:34:50 +01:00
bubnikv
917f044f81 Renamed the "lambda-" prefix for the generic modifiers to "Generic-"
Refactored ModelVolume::Type to enum class ModelVolumeType to be able
to forward declare it.

Refactored UI to use the ModelVolumeType instead of the untyped int.
2019-02-22 12:12:10 +01:00
YuSanka
2e14f3456e Changed sidebar controls layout 2019-02-07 14:50:48 +01:00
YuSanka
ef7512fc43 Added bitmap scaling 2019-02-06 15:29:13 +01:00
YuSanka
b2410e0f23 Merge remote-tracking branch 'origin/master' into ys_hdpi 2019-02-06 11:12:44 +01:00
YuSanka
948f03067d Added scale for ObjectList 2019-02-06 11:07:32 +01:00
bubnikv
8982664551 Improved stability (fixed crashes) of the Cut by plane function by
replacing the cut triangulation with freeglu tesselator.
Added performance tracing output of the Cut by plane function.
Added wait cursor to split to parts / objects, object cut, save to AMF/3MF.
2019-02-05 20:23:24 +01:00
Enrico Turri
8076b39c4b Emulation of kill focus event on object manipulator fields when changing selection into objects list [WIN+LINUX] 2019-01-31 14:12:07 +01:00
Enrico Turri
5fa5d495bb Merge branch 'master' of https://github.com/prusa3d/Slic3r into sidebar_fixes 2019-01-31 13:32:47 +01:00
YuSanka
a5ec951180 Added menu item for the "Fix through the Netfabb" 2019-01-30 16:27:33 +01:00
Enrico Turri
3deeab90f3 Merge branch 'master' of https://github.com/prusa3d/Slic3r into sidebar_fixes 2019-01-30 16:19:59 +01:00
YuSanka
5a28693ff4 Updated draw_colored_band() according to the new colors.
+ some code refactoring
2019-01-30 14:45:18 +01:00
Enrico Turri
168c3010fa Merge branch 'master' of https://github.com/prusa3d/Slic3r into sidebar_fixes 2019-01-30 14:09:18 +01:00
YuSanka
7957675a97 Fix to my last commit 2019-01-30 13:26:16 +01:00
Enrico Turri
fd65489c11 Added debug output to test event handling sequence between Objects List and Object Manipulator fields 2019-01-30 12:18:01 +01:00
YuSanka
411c02fef3 Implemented object/part renaming under OSX, using popup_menu 2019-01-30 11:35:37 +01:00
YuSanka
b6852d8bf2 Fixed first binding for "Split to parts" menu item in ObjectList 2019-01-30 10:06:10 +01:00
YuSanka
b0ecf07e9b Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-01-28 12:19:28 +01:00
YuSanka
c5152d04f8 Set options value from edited preset instead of default preset, when call "Add Settings"
+ added code for custom editing of the frequently used settings bundle (it's commented for this moment)
+ some code refactoring
2019-01-28 12:13:53 +01:00
bubnikv
588c07c12a Performance improvements:
Lazy "Place on face" gizmo update.
Caching of MeshObject::raw_mesh_bounding_box() for the object size display.
ModelObject::bounding_box(), raw_mesh_bounding_box(), full_raw_mesh_bounding_box() will not copy the mesh.
TriangleMesh::transformed_bounding_box(const Transform3d &trafo) will not copy the mesh data.
get_options_for_bundle() will not return reference to temp value
is_splittable() calls cheap mesh.has_multiple_patches()
2019-01-26 18:51:34 +01:00
YuSanka
9a01e313ad Implemented function create_freq_settings_popupmenu()
to add bundles with frequently used settings
2019-01-25 16:57:44 +01:00
YuSanka
5a7061a7fb Updated settings menu according to the view mode
+ Created new class PrusaMenu, derived from wxMenu and contains pointers to the separators.
2019-01-25 16:57:44 +01:00
Enrico Turri
348aa48121 Merge branch 'master' of https://github.com/prusa3d/Slic3r into objects_centering 2019-01-25 11:50:34 +01:00
YuSanka
9b8cdb95dc Updated view mode for object_list and object_menu 2019-01-25 10:57:13 +01:00
Enrico Turri
9a69305367 Merge branch 'master' of https://github.com/prusa3d/Slic3r into objects_centering 2019-01-24 08:33:14 +01:00
YuSanka
8fd6194403 Improved Instance splitting :
- Added icon and context menu for Instance.
- Added multiple selection and splitting for the instances (add new object with selected instances)
2019-01-23 16:12:47 +01:00
Enrico Turri
9a5d7a98a6 Merge branch 'master' of https://github.com/prusa3d/Slic3r into objects_centering 2019-01-23 08:26:55 +01:00
YuSanka
94b5f9c567 Implemented splitting of object instances by :
- drag & drop outside of any object
 - set as a separated Object (context menu)
2019-01-22 16:40:37 +01:00
Enrico Turri
f44510c272 Merge branch 'master' of https://github.com/prusa3d/Slic3r into objects_centering 2019-01-22 08:32:05 +01:00
YuSanka
5dafad3816 Fix of SPE-777
Added a flag to optimize the checking if the volume is splittable
2019-01-21 15:43:06 +01:00
Enrico Turri
25319113f1 Code cleanup 2019-01-21 11:29:45 +01:00
Enrico Turri
1eb01df0c8 Fixed .prusa i/o and split to objects 2019-01-18 16:01:43 +01:00
Enrico Turri
80bae6dd98 1st installment of volumes centering fixes (WIP) 2019-01-18 12:52:09 +01:00
Enrico Turri
01dc8e77ac Generic subparts placed at one of the bottom corners of the world bounding box of the transformed current selected instance (#1517) 2019-01-14 13:29:06 +01:00