Commit Graph

576 Commits

Author SHA1 Message Date
YuSanka
e9083556ee ObjectList: Fixed positioning of the object's part/modifiers when it's added
Use load_modifier() for everything without a respect to the type
2021-10-08 12:14:49 +02:00
YuSanka
cf624b081d Try to fix a focus for Application after closing of the "fix thought NetFab" ProgressBarDialog 2021-10-07 11:53:19 +02:00
YuSanka
d83b2e0d3d ObjectList: Fixes
* Fixed update of a warning icon for multi-part object, when some part with errors was deleted
 * Fixed a crash when selecting non-Object and non-Volume item (in get_mesh_errors_info() was missed check of the obj_idx)

+ Follow-up 1cc7b4ba97 - some code refactoring:
  * fixed RepairedMeshErrors.merge()
  * get_mesh_errors_count() renamed to get_repaired_errors_count()
2021-10-06 17:24:40 +02:00
David Kocik
76012e6021 Netfabb finished notification, fix of #7067 2021-10-06 13:07:38 +02:00
YuSanka
93317618dd Save/Load repaired errors from/to a mesh statistics to/from a 3MF 2021-10-06 10:57:28 +02:00
YuSanka
3dfe710b2c ObjectList: Fixed mouse click on the WarningIcon, when mesh wasn't repaired and isn't manifold. 2021-10-06 10:12:21 +02:00
YuSanka
46f7d946c9 Changed conditions for the warning icon.
If mesh isn't manifold then always show the red "exclamation" icon
It mesh is manifold but was repaired then show the gray/white "exclamation" icon
2021-10-05 13:21:38 +02:00
Vojtech Bubnik
f573fe8ad5 Manifold mesh may contain self-intersections, so we want to always allow fixing the mesh.
This is a fix of a regression wrt. https://github.com/prusa3d/PrusaSlicer/releases/tag/version_2.4.0-alpha2
2021-10-04 10:39:58 +02:00
Vojtech Bubnik
f3961f38c4 Merge remote-tracking branch 'remotes/origin/vb_project_state' 2021-09-27 14:36:22 +02:00
Vojtech Bubnik
52e9574d1b WIP Undo / Redo and project state: Marking Undo / Redo snapshots
with their purpose.
2021-09-27 14:10:53 +02:00
Oleksandra Yushchenko
4e17e61be4 Check unsaved changes (#6991)
* Check Unsaved changes (partially related to #5903)
 + Allow create new project when Plater is empty, but some of presets are modified (related to #5903)
 + When creating new project allow Keep or Discard modification from previous project
 + Added check of changes:
    * before any load project (including DnD and "Load From Recent Projects")
    * before preset updater
    * when configuration is changing from the ConfigWizard
 + Dialog caption is added for each check

 + Create/Destroy ConfigWizard every time when it's called

* Check Unsaved changes: Next Improvements
 + For dialog "Save project changes" added a reason of saving and name of the current project (or "Untitled")
 + UnsavedChangesDialog: Headers are extended to better explain the reason
 + Preferences: Fixed tooltiops for "Always ask for unsaved changes when..."
 + Suppress "Remember my choice" checkbox for actions which are not frequently used

* Fixed behavior of the application when try to save changed project but "Cancel" button is selected in "Save file as..." dialog

* Check unsaved changes: Improvements for Config Wizard - Check all cases when presets should be updated
 + Fixed info line for Materials pages. Text of the info relates to the printer technology now

* Improved suggested name for a project when Application is closing

* Fixed Linux/OSX build warnings
2021-09-22 12:44:13 +02:00
YuSanka
37b45d048c Improvements for statistics information:
+ Show 2 groups of errors: "Auto-repared" and "Remaning".
 + Use different icons for volumes with/without remaining errors
 + Fixed update of the ObjectList warnings icons after switch the color mode of a PrusaSlicer
 + Some code refactoring: Use same code for tooltips for "exclamation"-icon from an ObjectList and from a Sidebar->ObjectInfo
2021-09-21 17:20:12 +02:00
Vojtech Bubnik
53a5c23d0f Eradicated admesh from TriangleMesh:
TriangleMesh newly only holds indexed_triangle_set and
TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats.
TriangleMeshStats are updated when initializing with indexed_triangle_set.

Admesh triangle mesh fixing is newly only used when loading an STL.
AMF / 3MF / OBJ file formats are already indexed triangle sets, thus
they are no more converted to admesh stl_file format, nor fixed
through admesh repair machinery. When importing AMF / 3MF / OBJ files,
volume is calculated and if negative, all faces are flipped. Also
a bounding box and number of open edges is calculated.

Implemented its_number_of_patches(), its_num_open_edges()
Optimized its_split(), its_is_splittable() using a visitor pattern.

Reworked QHull integration into TriangleMesh:
    1) Face normals were not right.
    2) Indexed triangle set is newly emitted instead of duplicating
       vertices for each face.

Fixed cut_mesh(): Orient the triangulated faces correctly.
2021-09-20 17:12:22 +02:00
YuSanka
a243421a87 Implemented possibility to fix several objects at once 2021-09-16 10:07:00 +02:00
Vojtech Bubnik
01451d2e63 Removed the PRUS format parser. WIP: admesh eradication:
stl_stats are newly only accessed by TriangleMesh::stats(),
most of the direct access to TriangleMesh::stl is gone with the exception
of parsing input files (3MF, AMF, obj).
2021-09-14 11:58:14 +02:00
YuSanka
4dd20ea9d2 ObjectList: Fixed a bug related to an update of selection in 3DScene.
Steps to repro:
1. Create some object with several parts.
2. Increase instances count.
3. Select some volume in ObjectList => all related volumes for each instance are selected in 3DScene (CORRECT)
4. Select last instance in ObjectList => all volumes (except one) of selected instance are selected in 3DScene (UNCORRECT).
                                         ALL volumes of selected instance have to be selected in 3DScene

Fix: To avoid lost of some volumes in selection
check non-selected volumes only if 3DScene-selection mode wasn't changed
or there is no single selection in ObjectList
2021-09-09 17:51:45 +02:00
YuSanka
8eaa7d1924 ObjectList:: Allow use BACKSPACE to delete selected items 2021-09-07 15:19:59 +02:00
Lukas Matena
5cbf9c18ff Do not allow 'replace by stl' when a gizmo is active,
some of the gizmos might not cope well. ALso avoided
code duplication in all such cases (currently fix by
Netfabb, simplify, replace by stl).
2021-09-03 13:53:07 +02:00
Lukas Matena
d4d842791b Fixed a crash when 'Repair by Netfabb' was called with multiple object selection,
the bug was introduced with 1eebaa4 and possibly manifested in other scenarios as well.
2021-09-02 14:20:04 +02:00
Vojtech Bubnik
d31562f5d3 Fix for #6803 - Illegal character in filename when STL opened direct from CAD app
Follow-up to ea4e9b35a3
Win32 specific: Substitute slashes to back slashes in file paths
when loading model files (STLs, 3MFS ...)
2021-09-01 11:08:08 +02:00
David Kocik
8457e643d2 Passing call_selection_changed to update_info_items.
Helps to decide correctly if object was added or only undo / redo operation.
2021-08-31 11:26:00 +02:00
Lukas Matena
ff08edc441 Fixed undo/redo issue when clear method of FacetsAnnotation and ModelConfig
reset timestamp to 1. This led to a bug where e.g. deleting painted facets
through the respective item in object list followed by  possible other actions
and undo restored the painted facets from the time when the project was loaded.
I'm not sure if there was any other situation where this problem manifested.
2021-08-31 09:16:09 +02:00
enricoturri1966
f16eb95ea2 Revert of d701dfe436 2021-08-30 08:29:50 +02:00
enricoturri1966
a36a51a669 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-08-26 08:06:44 +02:00
enricoturri1966
19480d53b8 Fixed update of objects list in sidebar after deleting a part from a sinking object 2021-08-26 08:06:37 +02:00
Filip Sykala
07b77828f2 Merge branch 'master' into fs_QuadricEdgeCollapse
# Conflicts:
#	src/slic3r/GUI/NotificationManager.hpp
2021-08-25 13:16:01 +02:00
enricoturri1966
3e283d0acb Fixed update of backend after the changes introduced with b3010a817b (Do not allow objects to be placed fully below bed) and pop object on the bed when only one part is left 2021-08-25 12:39:46 +02:00
enricoturri1966
84c6547d0c Fixed deletion of objects/volumes by pressing Del key while the mouse cursor is hovering the objects list in sidebar 2021-08-25 09:11:20 +02:00
Filip Sykala
b25cbac1a4 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-23 11:33:14 +02:00
Lukas Matena
03d38e3468 Fix opening of gizmos after clicking on info lines in object list when object has instances 2021-08-19 10:23:38 +02:00
Filip Sykala
925705ca55 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-18 10:37:21 +02:00
Filip Sykala
4c075d42a1 Add restriction for simplification
Refuse outgoing during simlification.
Refuse start simplification when other Gizmo is active
Fix close after preview to revert changes
Allow change model for simplification
2021-08-18 10:37:08 +02:00
Lukas Matena
464b5cb2fa Use Del key to delete custom supports etc. from the object list 2021-08-17 10:05:03 +02:00
YuSanka
64e06b6a17 ObjectList: Implemented interface for delete InfoItem 2021-08-17 10:05:03 +02:00
YuSanka
2506a53b1a ObjectList: Update InfoItems after set some instance as a separate object 2021-08-12 15:23:31 +02:00
David Kocik
7ce1a2dd65 Updated Items Info notification
Showing only when new object is added (typically loading projects).
All info in 1 notification.
2021-08-11 09:24:14 +02:00
Lukas Matena
3c0d2d7647 Update info items in object list after repair by netfabb,
painted data are removed and the info line stays hanging
2021-08-10 11:22:19 +02:00
YuSanka
975876b49f DoubleSlider with MM-printer preset: When Object has "Paint-on segmentation", DoubleSlider has same behavior as with modifiers
+ MSW specific: Use BitmapComboBox instead of wxBitmapComboBox to DarkMode for extruder selectors
2021-08-09 13:38:48 +02:00
Vojtech Bubnik
62407d36f3 Merge remote-tracking branch 'remotes/origin/master' into fs_QuadricEdgeCollapse 2021-08-05 17:17:18 +02:00
YuSanka
a422a815a4 ObjectList: Fixed a crash during a print technology change when InfoItem is selected
+ Add "Gallery" menu Item for Advanced mode too
2021-08-04 12:35:44 +02:00
Filip Sykala
7b6a65eaea Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-02 09:04:15 +02:00
enricoturri1966
09cf0ffaba ENABLE_PROJECT_DIRTY_STATE set as default 2021-07-30 09:33:51 +02:00
enricoturri1966
ff8932ed1a Fixed sinking objects popping-up when deleting modifiers 2021-07-30 08:18:11 +02:00
David Kocik
a22d6e920e Update item info notification with icon 2021-07-29 16:52:08 +02:00
enricoturri1966
66ffb6663a Changed detection of sinking objects into ObjectList::update_info_items() 2021-07-29 15:15:57 +02:00
enricoturri1966
a471c21b25 Added sinking property item to objects list 2021-07-29 08:37:41 +02:00
YuSanka
56c5b85aa1 ObjectDataViewModel: Added function to add warning icon 2021-07-23 13:48:38 +02:00
Filip Sykala
3de1f26760 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 12:05:58 +02:00
YuSanka
95c16c7c9b Added "Modify Shapes Gallery" to the "Window" menu
+ Fixed a non-MSW build (added missed include)
2021-07-20 11:25:24 +02:00
Filip Sykala
dc6291c434 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 08:22:06 +02:00