Commit Graph

571 Commits

Author SHA1 Message Date
47b54d5ce0 ObjectList: Fixed mouse click on the WarningIcon, when mesh wasn't repaired and isn't manifold. 2021-10-06 10:12:21 +02:00
3e07d2e853 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
e533d237f9 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
8f4f02f84c Merge remote-tracking branch 'remotes/origin/vb_project_state' 2021-09-27 14:36:22 +02:00
41dc265a45 WIP Undo / Redo and project state: Marking Undo / Redo snapshots
with their purpose.
2021-09-27 14:10:53 +02:00
8f064dd155 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
238e65e455 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
8a2a9dba2f 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
03a692cfd1 Implemented possibility to fix several objects at once 2021-09-16 10:07:00 +02:00
58d8ab3dea 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
9c5c9a0e78 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
719c91514b ObjectList:: Allow use BACKSPACE to delete selected items 2021-09-07 15:19:59 +02:00
315663980b 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
0efa0fc512 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
ab84da6c56 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
788d114a2f 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
270c076e77 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
14659cf760 Revert of d701dfe436 2021-08-30 08:29:50 +02:00
f27448f322 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-08-26 08:06:44 +02:00
08b91d33e9 Fixed update of objects list in sidebar after deleting a part from a sinking object 2021-08-26 08:06:37 +02:00
790d445420 Merge branch 'master' into fs_QuadricEdgeCollapse
# Conflicts:
#	src/slic3r/GUI/NotificationManager.hpp
2021-08-25 13:16:01 +02:00
38cd7fea65 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
d701dfe436 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
89819c1c22 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-23 11:33:14 +02:00
b686b5764e Fix opening of gizmos after clicking on info lines in object list when object has instances 2021-08-19 10:23:38 +02:00
cc88b1e86b Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-18 10:37:21 +02:00
1e863cc031 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
dd1e1307be Use Del key to delete custom supports etc. from the object list 2021-08-17 10:05:03 +02:00
08e2e29afd ObjectList: Implemented interface for delete InfoItem 2021-08-17 10:05:03 +02:00
ac86c7c022 ObjectList: Update InfoItems after set some instance as a separate object 2021-08-12 15:23:31 +02:00
d735dbe147 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
1eebaa4576 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
1f131d130f 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
ea5a90f08c Merge remote-tracking branch 'remotes/origin/master' into fs_QuadricEdgeCollapse 2021-08-05 17:17:18 +02:00
7fd9a9cf6e 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
59d02aea0a Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-02 09:04:15 +02:00
5aff44debe ENABLE_PROJECT_DIRTY_STATE set as default 2021-07-30 09:33:51 +02:00
a8552512cf Fixed sinking objects popping-up when deleting modifiers 2021-07-30 08:18:11 +02:00
aa17d54eda Update item info notification with icon 2021-07-29 16:52:08 +02:00
dc21fb1100 Changed detection of sinking objects into ObjectList::update_info_items() 2021-07-29 15:15:57 +02:00
14a67b0c9e Added sinking property item to objects list 2021-07-29 08:37:41 +02:00
4a5496e3de ObjectDataViewModel: Added function to add warning icon 2021-07-23 13:48:38 +02:00
5ac2809426 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 12:05:58 +02:00
e6c361ec5e Added "Modify Shapes Gallery" to the "Window" menu
+ Fixed a non-MSW build (added missed include)
2021-07-20 11:25:24 +02:00
bc3da9973b Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 08:22:06 +02:00
d3ddb1cfa8 Fixed a bug with update of the warning icon for object after a deleting of the broken volume 2021-07-19 13:30:49 +02:00
86a3fd00a5 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-19 09:18:55 +02:00
af526c54f4 Add simplification GUI 2021-07-19 09:17:50 +02:00
bf7b554235 Disable reload from disk for built-in objects 2021-07-16 12:30:47 +02:00
afa4776ead Follow-up of 1a64abac96 -> Keep modifiers original size and do not reposition them when using load command 2021-07-16 10:03:35 +02:00