diff options
author | Ton Roosendaal <ton@blender.org> | 2004-11-29 15:57:35 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2004-11-29 15:57:35 +0300 |
commit | a54cde872d1162b1aec73c3b6ff893719cdde995 (patch) | |
tree | 48516e032a176a7824aaa5a5287ea3d1b4fe880d /source/blender/src/editmesh_mods.c | |
parent | e2d4750f41dbd2bf7a67b35951ddd909c29e9ded (diff) |
Fixed fgon issues;
- removed rule restricting to co-planar fgons; isn't useful anyway. Now
allows to fgonize the entire surface of a tube :)
- Hide/Reveil fgons cleared fgon flags
- Reveil ended with wrong selection status for verts/edges... solved with
correctly using EM_select_edge and EM_select_face
Diffstat (limited to 'source/blender/src/editmesh_mods.c')
-rw-r--r-- | source/blender/src/editmesh_mods.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/source/blender/src/editmesh_mods.c b/source/blender/src/editmesh_mods.c index 76a6f8a75c9..07fb23511ee 100644 --- a/source/blender/src/editmesh_mods.c +++ b/source/blender/src/editmesh_mods.c @@ -1269,8 +1269,8 @@ void hide_mesh(int swap) if(G.scene->selectmode >= SCE_SELECT_EDGE) { for(eed= em->edges.first; eed; eed= eed->next) { - if(eed->f1==1) eed->h= 1; - if(eed->h) a= 1; else a= 2; + if(eed->f1==1) eed->h |= 1; + if(eed->h & 1) a= 1; else a= 2; eed->v1->f1 |= a; eed->v2->f1 |= a; } @@ -1307,18 +1307,19 @@ void reveal_mesh(void) for(eed= em->edges.first; eed; eed= eed->next) { if(eed->h & 1) { eed->h &= ~1; - eed->f |= SELECT; + EM_select_edge(eed, 1); } } for(efa= em->faces.first; efa; efa= efa->next) { if(efa->h) { efa->h= 0; - efa->f |= SELECT; + EM_select_face(efa, 1); } } - EM_select_flush(); + EM_fgon_flags(); // redo flags and indices for fgons + EM_selectmode_flush(); allqueue(REDRAWVIEW3D, 0); makeDispList(G.obedit); |