diff options
author | Campbell Barton <ideasman42@gmail.com> | 2007-09-17 22:22:06 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2007-09-17 22:22:06 +0400 |
commit | 0c7c57685ec20717f4d5860bc774b52913742e8d (patch) | |
tree | b3f351da8aecc111d019137605d7aee972f46b15 /source/blender/src/editmesh_mods.c | |
parent | d1e5c86b76501cef3ad5d5ae70825fc6398d642f (diff) |
New feature for UV/Editmode - 'Sync Mesh Selection' a button in the UV header this mode is disabled by default.
This is implimented by defining macro's that take the mode into account when get/set/checking the selection and that a face can be drawn.
When this is enabled, things work a bit differently
* all faces are drawn in the UV view (except hidden faces).
* selecting faces/verts in the UV window selects them on the mesh also and vice vercer.
* when EditMode (Face only) is enabled, selecting faces in the UV view is not sticky.
* hiding/(de)select all and invert selection simle call the editmesh functions.
* there is no way to select 1 uv corner of 1 face (because a mesh cannot have this as a valid selection) either all UV's that use a vert (sticky), or the whole face.
Diffstat (limited to 'source/blender/src/editmesh_mods.c')
-rw-r--r-- | source/blender/src/editmesh_mods.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/src/editmesh_mods.c b/source/blender/src/editmesh_mods.c index c117fd514d7..30028fa2453 100644 --- a/source/blender/src/editmesh_mods.c +++ b/source/blender/src/editmesh_mods.c @@ -52,6 +52,7 @@ editmesh_mods.c, UI level access, no geometry changes #include "DNA_texture_types.h" #include "DNA_scene_types.h" #include "DNA_screen_types.h" +#include "DNA_space_types.h" #include "DNA_view3d_types.h" #include "BLI_blenlib.h" @@ -2473,6 +2474,12 @@ void hide_tface_uv(int swap) if( is_uv_tface_editing_allowed()==0 ) return; + /* call the mesh function if we are in mesh sync sel */ + if (G.sima->flag & SI_SYNC_UVSEL) { + hide_mesh(swap); + return; + } + if(swap) { for (efa= em->faces.first; efa; efa= efa->next) { if(efa->f & SELECT) { @@ -2514,6 +2521,12 @@ void reveal_tface_uv(void) if( is_uv_tface_editing_allowed()==0 ) return; + /* call the mesh function if we are in mesh sync sel */ + if (G.sima->flag & SI_SYNC_UVSEL) { + reveal_mesh(); + return; + } + for (efa= em->faces.first; efa; efa= efa->next) { if (!(efa->h)) { if (!(efa->f & SELECT)) { |