Commit Graph

572 Commits

Author SHA1 Message Date
93317618dd Save/Load repaired errors from/to a mesh statistics to/from a 3MF 2021-10-06 10:57:28 +02:00
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
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
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
f3961f38c4 Merge remote-tracking branch 'remotes/origin/vb_project_state' 2021-09-27 14:36:22 +02:00
52e9574d1b WIP Undo / Redo and project state: Marking Undo / Redo snapshots
with their purpose.
2021-09-27 14:10:53 +02:00
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
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
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
a243421a87 Implemented possibility to fix several objects at once 2021-09-16 10:07:00 +02:00
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
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
8eaa7d1924 ObjectList:: Allow use BACKSPACE to delete selected items 2021-09-07 15:19:59 +02:00
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
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
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
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
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
f16eb95ea2 Revert of d701dfe436 2021-08-30 08:29:50 +02:00
a36a51a669 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-08-26 08:06:44 +02:00
19480d53b8 Fixed update of objects list in sidebar after deleting a part from a sinking object 2021-08-26 08:06:37 +02:00
07b77828f2 Merge branch 'master' into fs_QuadricEdgeCollapse
# Conflicts:
#	src/slic3r/GUI/NotificationManager.hpp
2021-08-25 13:16:01 +02:00
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
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
b25cbac1a4 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-23 11:33:14 +02:00
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
925705ca55 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-18 10:37:21 +02:00
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
464b5cb2fa Use Del key to delete custom supports etc. from the object list 2021-08-17 10:05:03 +02:00
64e06b6a17 ObjectList: Implemented interface for delete InfoItem 2021-08-17 10:05:03 +02:00
2506a53b1a ObjectList: Update InfoItems after set some instance as a separate object 2021-08-12 15:23:31 +02:00
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
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
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
62407d36f3 Merge remote-tracking branch 'remotes/origin/master' into fs_QuadricEdgeCollapse 2021-08-05 17:17:18 +02:00
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
7b6a65eaea Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-02 09:04:15 +02:00
09cf0ffaba ENABLE_PROJECT_DIRTY_STATE set as default 2021-07-30 09:33:51 +02:00
ff8932ed1a Fixed sinking objects popping-up when deleting modifiers 2021-07-30 08:18:11 +02:00
a22d6e920e Update item info notification with icon 2021-07-29 16:52:08 +02:00
66ffb6663a Changed detection of sinking objects into ObjectList::update_info_items() 2021-07-29 15:15:57 +02:00
a471c21b25 Added sinking property item to objects list 2021-07-29 08:37:41 +02:00
56c5b85aa1 ObjectDataViewModel: Added function to add warning icon 2021-07-23 13:48:38 +02:00
3de1f26760 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 12:05:58 +02:00
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
dc6291c434 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 08:22:06 +02:00
175467263c 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
babc34af01 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-19 09:18:55 +02:00
a364ef3d6a Add simplification GUI 2021-07-19 09:17:50 +02:00
635622c039 Disable reload from disk for built-in objects 2021-07-16 12:30:47 +02:00