Maniphest T73208

In Face-select Mode, Hiding unselected doesn't hide loose edges
Confirmed, NormalBUG

Assigned To
None
Authored By
Pasang Bomjan (irex124)
Jan 18 2020, 9:19 AM
Tags
  • BF Blender
  • Modeling
Subscribers
Alastair James (KiritoA)
Campbell Barton (campbellbarton)
Germano Cavalcante (mano-wii)
Pasang Bomjan (irex124)
Philipp Oeser (lichtwerk)
Stanislav Blinov (radcapricorn)
William Reynish (billreynish)

Description

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: Intel(R) HD Graphics 400 Intel 4.4.0 - Build 20.19.15.5070

Blender Version
Broken: version: 2.83 (sub 0), branch: master, commit date: 2020-01-17 19:09, hash: rB1f92e9903fb7
Worked: (optional)

Short description of error
I don't really know if it is a bug or a limitation but Loose edges are not hidden when hiding unselected in face select mode.

Exact steps for others to reproduce the error
Open the attached blend file and hit Shift+H with the selected face. It doesn't hide the loose edges.

Event Timeline

Pasang Bomjan (irex124) created this task.Jan 18 2020, 9:19 AM
William Reynish (billreynish) added subscribers: Campbell Barton (campbellbarton), William Reynish (billreynish).Jan 18 2020, 8:14 PM

Since those aren't faces, I think it works as intended. But would be good to get someone else to confirm. @Campbell Barton (campbellbarton) thoughts`?

Stanislav Blinov (radcapricorn) added a subscriber: Stanislav Blinov (radcapricorn).Jan 19 2020, 8:55 PM

It certainly isn't working as intended, that operator should hide all unselected geometry (i.e. it should do precisely the inverse of Hide Selected). There was a fix for Hide Unselected semi-recently as per T71554, but it seems the core implementation is missing something.

Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Confirmed.Jan 21 2020, 1:23 AM
Germano Cavalcante (mano-wii) added a project: Modeling.
Germano Cavalcante (mano-wii) added a subscriber: Germano Cavalcante (mano-wii).

Although it may be intended, this does not appear to be desirable behavior.
And it would not be difficult to fix:

diff --git a/source/blender/editors/mesh/editmesh_utils.c b/source/blender/editors/mesh/editmesh_utils.c
index f7092a8c6ab..18b13d8934c 100644
--- a/source/blender/editors/mesh/editmesh_utils.c
+++ b/source/blender/editors/mesh/editmesh_utils.c
@@ -1287,7 +1287,7 @@ bool EDBM_mesh_hide(BMEditMesh *em, bool swap)
   char hflag_swap = swap ? BM_ELEM_SELECT : 0;
   bool changed = true;
 
-  if (em->selectmode & SCE_SELECT_VERTEX) {
+  if (swap || em->selectmode & SCE_SELECT_VERTEX) {
     itermode = BM_VERTS_OF_MESH;
   }
   else if (em->selectmode & SCE_SELECT_EDGE) {
Philipp Oeser (lichtwerk) changed the subtype of this task from "Report" to "Bug".Jan 24 2020, 2:21 PM
Philipp Oeser (lichtwerk) added a subscriber: Philipp Oeser (lichtwerk).

I dare calling this a bug.

Alastair James (KiritoA) added a subscriber: Alastair James (KiritoA).May 29 2020, 1:42 PM

I would argue that this is intended behaviour, and if a user also wanted to hide the loose edges, then they should have "Edge select" (or "Vertex select" to hide _all_ unselected geometry) enabled rather than "Face select".

Pasang Bomjan (irex124) added a comment.EditedMay 30 2020, 3:55 PM
  • You can't see a loose vertex in edge and face mode, no issue here.
  • But You can see loose edges (that don't create any faces) in the face mode. This is OK as well.
  • You can't select those loose edges in face mode, makes sense.
  • But you can select everything all at once which selects faces and those loose edges.
  • Now you can move/rotate/scale and even subdivide the selection.
  • But when you hide only the faces are hidden.
  • You can still move/rotate/scale the remaining selected loose edges. BUT CAN'T HIDE IT.

Not consistent !!

Campbell Barton (campbellbarton) moved this task from Backlog to Bugs on the Modeling board.Jun 17 2020, 5:13 AM
Campbell Barton (campbellbarton) moved this task from Bugs to Bugs (Mesh) on the Modeling board.Sep 21 2020, 11:51 AM