Commit: 04e76696f918de616ef5db78ef8e28cc4df691fb
Author: Campbell Barton
Date:   Mon Mar 12 14:38:10 2018 +1100
Branches: temp-object-multi-mode
https://developer.blender.org/rB04e76696f918de616ef5db78ef8e28cc4df691fb

Merge branch 'blender2.8' into temp-object-multi-mode

===================================================================



===================================================================

diff --cc source/blender/editors/uvedit/uvedit_intern.h
index 9441dafb7c9,c5f16d6fb14..4d0dae069ae
--- a/source/blender/editors/uvedit/uvedit_intern.h
+++ b/source/blender/editors/uvedit/uvedit_intern.h
@@@ -65,26 -63,17 +65,26 @@@ typedef struct UvNearestHit 
  
  #define UV_NEAREST_HIT_INIT { .dist_sq = FLT_MAX, }
  
- bool uv_find_nearest_vert_single(
+ bool uv_find_nearest_vert(
          struct Scene *scene, struct Image *ima, struct Object *obedit,
          const float co[2], const float penalty_dist, struct UvNearestHit 
*hit_final);
 +bool uv_find_nearest_vert_multi(
 +        struct Scene *scene, struct Image *ima, struct ViewLayer *view_layer,
 +        const float co[2], const float penalty_dist, struct UvNearestHit 
*hit_final);
  
- bool uv_find_nearest_edge_single(
+ bool uv_find_nearest_edge(
          struct Scene *scene, struct Image *ima, struct Object *obedit,
          const float co[2], struct UvNearestHit *hit_final);
 +bool uv_find_nearest_edge_multi(
 +        struct Scene *scene, struct Image *ima, struct ViewLayer *view_layer,
 +        const float co[2], struct UvNearestHit *hit_final);
  
- bool uv_find_nearest_face_single(
+ bool uv_find_nearest_face(
          struct Scene *scene, struct Image *ima, struct Object *obedit,
          const float co[2], struct UvNearestHit *hit_final);
 +bool uv_find_nearest_face_multi(
 +        struct Scene *scene, struct Image *ima, struct ViewLayer *view_layer,
 +        const float co[2], struct UvNearestHit *hit_final);
  
  /* utility tool functions */
  
diff --cc source/blender/editors/uvedit/uvedit_ops.c
index 298a48a483d,1c54ea0ebc1..c9ab8b1d3df
--- a/source/blender/editors/uvedit/uvedit_ops.c
+++ b/source/blender/editors/uvedit/uvedit_ops.c
@@@ -753,21 -749,7 +753,21 @@@ bool uv_find_nearest_edge
        return found;
  }
  
 +bool uv_find_nearest_edge_multi(
 +        Scene *scene, Image *ima, ViewLayer *view_layer, const float co[2],
 +        UvNearestHit *hit_final)
 +{
 +      bool found = false;
 +      FOREACH_OBJECT_IN_EDIT_MODE_BEGIN (view_layer, ob_iter) {
-               if (uv_find_nearest_edge_single(scene, ima, ob_iter, co, 
hit_final)) {
++              if (uv_find_nearest_edge(scene, ima, ob_iter, co, hit_final)) {
 +                      hit_final->ob = ob_iter;
 +                      found = true;
 +              }
 +      } FOREACH_OBJECT_IN_EDIT_MODE_END;
 +      return found;
 +}
 +
- bool uv_find_nearest_face_single(
+ bool uv_find_nearest_face(
          Scene *scene, Image *ima, Object *obedit, const float co[2],
          UvNearestHit *hit_final)
  {
@@@ -810,20 -792,6 +810,20 @@@
        return found;
  }
  
 +bool uv_find_nearest_face_multi(
 +        Scene *scene, Image *ima, ViewLayer *view_layer, const float co[2],
 +        UvNearestHit *hit_final)
 +{
 +      bool found = false;
 +      FOREACH_OBJECT_IN_EDIT_MODE_BEGIN (view_layer, ob_iter) {
-               if (uv_find_nearest_face_single(scene, ima, ob_iter, co, 
hit_final)) {
++              if (uv_find_nearest_face(scene, ima, ob_iter, co, hit_final)) {
 +                      hit_final->ob = ob_iter;
 +                      found = true;
 +              }
 +      } FOREACH_OBJECT_IN_EDIT_MODE_END;
 +      return found;
 +}
 +
  static bool uv_nearest_between(const BMLoop *l, const float co[2],
                                 const int cd_loop_uv_offset)
  {
@@@ -904,20 -872,6 +904,20 @@@ bool uv_find_nearest_vert
        return found;
  }
  
 +bool uv_find_nearest_vert_multi(
 +        Scene *scene, Image *ima, ViewLayer *view_layer,
 +        float const co[2], const float penalty_dist, UvNearestHit *hit_final)
 +{
 +      bool found = false;
 +      FOREACH_OBJECT_IN_EDIT_MODE_BEGIN (view_layer, ob_iter) {
-               if (uv_find_nearest_vert_single(scene, ima, ob_iter, co, 
penalty_dist, hit_final)) {
++              if (uv_find_nearest_vert(scene, ima, ob_iter, co, penalty_dist, 
hit_final)) {
 +                      hit_final->ob = ob_iter;
 +                      found = true;
 +              }
 +      } FOREACH_OBJECT_IN_EDIT_MODE_END;
 +      return found;
 +}
 +
  bool ED_uvedit_nearest_uv(Scene *scene, Object *obedit, Image *ima, const 
float co[2], float r_uv[2])
  {
        BMEditMesh *em = BKE_editmesh_from_object(obedit);
@@@ -1061,7 -1014,7 +1061,7 @@@ static int uv_select_edgeloop
        BM_mesh_elem_index_ensure(em->bm, BM_VERT | BM_FACE);
  
        if (!extend) {
--              uv_select_all_perform(scene, ima, obedit, em, SEL_DESELECT);
++              uv_select_all_perform(scene, ima, obedit, SEL_DESELECT);
        }
  
        BM_mesh_elem_hflag_disable_all(em->bm, BM_FACE, BM_ELEM_TAG, false);
@@@ -1141,10 -1094,9 +1141,10 @@@
  /*********************** linked select ***********************/
  
  static void uv_select_linked(
 -        Scene *scene, Image *ima, Object *obedit, BMEditMesh *em, const float 
limit[2],
 -        UvNearestHit *hit_final, bool extend, bool select_faces)
 +        Scene *scene, Image *ima, Object *obedit,
-         const float limit[2], UvNearestHit *hit, bool extend, bool 
select_faces)
++        const float limit[2], UvNearestHit *hit_final, bool extend, bool 
select_faces)
  {
 +      BMEditMesh *em = BKE_editmesh_from_object(obedit);
        BMFace *efa;
        BMLoop *l;
        BMIter iter, liter;
@@@ -2490,11 -2389,7 +2491,11 @@@ static int uv_select_linked_internal(bC
                }
        }
  
 -      uv_select_linked(scene, ima, obedit, em, limit, pick ? &hit : NULL, 
extend, select_faces);
 +      if (!extend) {
 +              uv_select_all_perform_multi(scene, ima, view_layer, 
SEL_DESELECT);
 +      }
 +
-       uv_select_linked(scene, ima, obedit, limit, hit_p, extend, 
select_faces);
++      uv_select_linked(scene, ima, obedit, limit, pick ? &hit : NULL, extend, 
select_faces);
  
        DEG_id_tag_update(obedit->data, 0);
        WM_event_add_notifier(C, NC_GEOM | ND_SELECT, obedit->data);

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to