Commit: a5c0964c70cc4c12e574ef7e51fcf6c0b5f38680
Author: Campbell Barton
Date:   Wed Dec 2 18:08:48 2015 +1100
Branches: master
https://developer.blender.org/rBa5c0964c70cc4c12e574ef7e51fcf6c0b5f38680

Cleanup: transform snap arguments

This was getting very hard to follow,

- mixing input/output args.
- mixing arg order between functions.
- arg names (mode, snap_mode) rename to (snap_to, snap_select)

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

M       source/blender/editors/armature/editarmature_sketch.c
M       source/blender/editors/curve/editcurve.c
M       source/blender/editors/include/ED_transform.h
M       source/blender/editors/mesh/editmesh_tools.c
M       source/blender/editors/space_view3d/view3d_edit.c
M       source/blender/editors/space_view3d/view3d_walk.c
M       source/blender/editors/transform/transform_snap.c
M       source/blender/makesrna/intern/rna_scene_api.c
M       source/blenderplayer/bad_level_call_stubs/stubs.c

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

diff --git a/source/blender/editors/armature/editarmature_sketch.c 
b/source/blender/editors/armature/editarmature_sketch.c
index 9319ccf..87d75aa 100644
--- a/source/blender/editors/armature/editarmature_sketch.c
+++ b/source/blender/editors/armature/editarmature_sketch.c
@@ -982,7 +982,7 @@ static int sk_getStrokeSnapPoint(bContext *C, SK_Point *pt, 
SK_Sketch *sketch, S
 
                mvalf[0] = dd->mval[0];
                mvalf[1] = dd->mval[1];
-               peelObjectsContext(C, &sketch->depth_peels, mvalf, SNAP_ALL);
+               peelObjectsContext(C, mvalf, SNAP_ALL, &sketch->depth_peels);
 
                if (stk->nb_points > 0 && stk->points[stk->nb_points - 1].type 
== PT_CONTINUOUS) {
                        last_p = stk->points[stk->nb_points - 1].p;
@@ -1086,7 +1086,9 @@ static int sk_getStrokeSnapPoint(bContext *C, SK_Point 
*pt, SK_Sketch *sketch, S
                mval[1] = dd->mval[1];
 
                /* try to snap to closer object */
-               found = snapObjectsContext(C, mval, &dist_px, vec, no, 
SNAP_NOT_SELECTED);
+               found = snapObjectsContext(
+                       C, mval, SNAP_NOT_SELECTED,
+                       vec, no, &dist_px);
                if (found == 1) {
                        pt->type = dd->type;
                        pt->mode = PT_SNAP;
diff --git a/source/blender/editors/curve/editcurve.c 
b/source/blender/editors/curve/editcurve.c
index 500bb1e..22cb479 100644
--- a/source/blender/editors/curve/editcurve.c
+++ b/source/blender/editors/curve/editcurve.c
@@ -4975,7 +4975,9 @@ static int add_vertex_invoke(bContext *C, wmOperator *op, 
const wmEvent *event)
                        const float mval[2] = {UNPACK2(event->mval)};
                        float no_dummy[3];
                        float dist_px_dummy;
-                       snapObjectsContext(C, mval, &dist_px_dummy, location, 
no_dummy, SNAP_NOT_OBEDIT);
+                       snapObjectsContext(
+                               C, mval, SNAP_NOT_OBEDIT,
+                               location, no_dummy, &dist_px_dummy);
                }
 
                RNA_float_set_array(op->ptr, "location", location);
diff --git a/source/blender/editors/include/ED_transform.h 
b/source/blender/editors/include/ED_transform.h
index b0866a5..874c693 100644
--- a/source/blender/editors/include/ED_transform.h
+++ b/source/blender/editors/include/ED_transform.h
@@ -168,30 +168,53 @@ typedef struct DepthPeel {
 
 struct ListBase;
 
-typedef enum SnapMode {
+typedef enum SnapSelect {
        SNAP_ALL = 0,
        SNAP_NOT_SELECTED = 1,
        SNAP_NOT_OBEDIT = 2
-} SnapMode;
+} SnapSelect;
 
 #define SNAP_MIN_DISTANCE 30
 #define TRANSFORM_DIST_MAX_RAY (FLT_MAX / 2.0f)
 
-bool peelObjectsTransForm(struct TransInfo *t, struct ListBase *depth_peels, 
const float mval[2], SnapMode mode);
-bool peelObjectsContext(struct bContext *C, struct ListBase *depth_peels, 
const float mval[2], SnapMode mode);
-bool snapObjectsTransform(struct TransInfo *t, const float mval[2], float 
*r_dist_px, float r_loc[3], float r_no[3], SnapMode mode);
-bool snapObjectsContext(struct bContext *C, const float mval[2], float 
*r_dist_px, float r_loc[3], float r_no[3], SnapMode mode);
+bool peelObjectsTransForm(
+        struct TransInfo *t, const float mval[2], SnapSelect snap_select,
+        /* return args */
+        struct ListBase *r_depth_peels);
+bool peelObjectsContext(
+        struct bContext *C, const float mval[2], SnapSelect snap_select,
+        /* return args */
+        struct ListBase *r_depth_peels);
+bool snapObjectsTransform(
+        struct TransInfo *t, const float mval[2], SnapSelect snap_select,
+        /* return args */
+        float r_loc[3], float r_no[3], float *r_dist_px);
+bool snapObjectsContext(
+        struct bContext *C, const float mval[2], SnapSelect snap_select,
+        /* return args */
+        float r_loc[3], float r_no[3], float *r_dist_px);
 /* taks args for all settings */
-bool snapObjectsEx(struct Scene *scene, struct Base *base_act, struct View3D 
*v3d, struct ARegion *ar, struct Object *obedit, short snap_mode,
-                   const float mval[2], float *r_dist_px,
-                   float r_loc[3], float r_no[3], float *r_ray_dist, SnapMode 
mode);
-bool snapObjectsRayEx(struct Scene *scene, struct Base *base_act, struct 
View3D *v3d, struct ARegion *ar, struct Object *obedit, short snap_mode,
-                      struct Object **r_ob, float r_obmat[4][4],
-                      const float ray_start[3], const float ray_normal[3], 
float *r_ray_dist,
-                      const float mval[2], float *r_dist_px, float r_loc[3], 
float r_no[3], SnapMode mode);
-
-bool snapNodesTransform(struct TransInfo *t, const int mval[2], float 
*r_dist_px, float r_loc[2], char *r_node_border, SnapMode mode);
-bool snapNodesContext(struct bContext *C, const int mval[2], float *r_dist_px, 
float r_loc[2], char *r_node_border, SnapMode mode);
-
-#endif
-
+bool snapObjectsEx(
+        struct Scene *scene, struct View3D *v3d, struct ARegion *ar, struct 
Base *base_act, struct Object *obedit,
+        const float mval[2], SnapSelect snap_select, short snap_mode,
+        float *ray_depth,
+        /* return args */
+        float r_loc[3], float r_no[3], float *r_dist_px);
+bool snapObjectsRayEx(
+        struct Scene *scene, struct View3D *v3d, struct ARegion *ar, struct 
Base *base_act, struct Object *obedit,
+        const float mval[2], SnapSelect snap_select, short snap_mode,
+        const float ray_start[3], const float ray_normal[3], float *ray_depth,
+        /* return args */
+        float r_loc[3], float r_no[3], float *r_dist_px,
+        struct Object **r_ob, float r_obmat[4][4]);
+
+bool snapNodesTransform(
+        struct TransInfo *t, const int mval[2], SnapSelect snap_select,
+        /* return args */
+        float r_loc[2], float *r_dist_px, char *r_node_border);
+bool snapNodesContext(
+        struct bContext *C, const int mval[2], SnapSelect snap_select,
+        /* return args */
+        float r_loc[2], float *r_dist_px, char *r_node_border);
+
+#endif  /* __ED_TRANSFORM_H__ */
diff --git a/source/blender/editors/mesh/editmesh_tools.c 
b/source/blender/editors/mesh/editmesh_tools.c
index 8e591ec..b240836 100644
--- a/source/blender/editors/mesh/editmesh_tools.c
+++ b/source/blender/editors/mesh/editmesh_tools.c
@@ -306,7 +306,10 @@ void EMBM_project_snap_verts(bContext *C, ARegion *ar, 
BMEditMesh *em)
                        float mval[2], co_proj[3], no_dummy[3];
                        float dist_px_dummy;
                        if (ED_view3d_project_float_object(ar, eve->co, mval, 
V3D_PROJ_TEST_NOP) == V3D_PROJ_RET_OK) {
-                               if (snapObjectsContext(C, mval, &dist_px_dummy, 
co_proj, no_dummy, SNAP_NOT_OBEDIT)) {
+                               if (snapObjectsContext(
+                                       C, mval, SNAP_NOT_OBEDIT,
+                                       co_proj, no_dummy, &dist_px_dummy))
+                               {
                                        mul_v3_m4v3(eve->co, obedit->imat, 
co_proj);
                                }
                        }
diff --git a/source/blender/editors/space_view3d/view3d_edit.c 
b/source/blender/editors/space_view3d/view3d_edit.c
index d278d94..498aa3a 100644
--- a/source/blender/editors/space_view3d/view3d_edit.c
+++ b/source/blender/editors/space_view3d/view3d_edit.c
@@ -5168,10 +5168,11 @@ bool ED_view3d_snap_from_ray(
 
        /* try snap edge, then face if it fails */
        ret = snapObjectsRayEx(
-               scene, NULL, NULL, NULL, obedit, SCE_SNAP_MODE_FACE,
-               NULL, NULL,
+               scene, NULL, NULL, NULL, obedit,
+               NULL, SNAP_ALL, SCE_SNAP_MODE_FACE,
                ray_start, ray_normal, &ray_dist,
-               NULL, NULL, r_co, r_no_dummy, SNAP_ALL);
+               r_co, r_no_dummy, NULL,
+               NULL, NULL);
 
        return ret;
 }
@@ -5216,8 +5217,10 @@ bool ED_view3d_snap_from_region(
                                ray_dist = TRANSFORM_DIST_MAX_RAY;
                        }
                        if (snapObjectsEx(
-                               scene, NULL, v3d, ar, obedit, elem_type[i],
-                               mval, &dist_px, r_co, r_no_ptr, &ray_dist, 
SNAP_ALL))
+                               scene, v3d, ar, NULL, obedit,
+                               mval, SNAP_ALL, elem_type[i],
+                               &ray_dist,
+                               r_co, r_no_ptr, &dist_px))
                        {
                                is_hit = true;
                        }
diff --git a/source/blender/editors/space_view3d/view3d_walk.c 
b/source/blender/editors/space_view3d/view3d_walk.c
index 4d36d70..b71b6b8 100644
--- a/source/blender/editors/space_view3d/view3d_walk.c
+++ b/source/blender/editors/space_view3d/view3d_walk.c
@@ -403,7 +403,6 @@ static void walk_navigation_mode_set(bContext *C, 
wmOperator *op, WalkInfo *walk
  */
 static bool walk_floor_distance_get(bContext *C, RegionView3D *rv3d, WalkInfo 
*walk, const float dvec[3], float *r_distance)
 {
-       float dummy_dist_px = 0;
        float ray_normal[3] = {0, 0, -1}; /* down */
        float ray_start[3];
        float r_location[3];
@@ -418,10 +417,12 @@ static bool walk_floor_distance_get(bContext *C, 
RegionView3D *rv3d, WalkInfo *w
        mul_v3_v3fl(dvec_tmp, dvec, walk->grid);
        add_v3_v3(ray_start, dvec_tmp);
 
-       ret = snapObjectsRayEx(CTX_data_scene(C), NULL, NULL, NULL, NULL, 
SCE_SNAP_MODE_FACE,
-                              NULL, NULL,
-                              ray_start, ray_normal, r_distance,
-                              NULL, &dummy_dist_px, r_location, r_normal, 
SNAP_ALL);
+       ret = snapObjectsRayEx(
+               CTX_data_scene(C), NULL, NULL, NULL, NULL,
+               NULL, SNAP_ALL, SCE_SNAP_MODE_FACE,
+               ray_start, ray_normal, r_distance,
+               r_location, r_normal, NULL,
+               NULL, NULL);
 
        /* artifically scale the distance to the scene size */
        *r_distance /= walk->grid;
@@ -435,7 +436,6 @@ static bool walk_floor_distance_get(bContext *C, 
RegionView3D *rv3d, WalkInfo *w
  */
 static bool walk_ray_cast(bContext *C, RegionView3D *rv3d, WalkInfo *walk, 
float r_location[3], float r_normal[3], float *ray_distance)
 {
-       float dummy_dist_px = 0;
        float ray_normal[3] = {0, 0, 1}; /* forward */
        float ray_start[3];
        float mat[3][3]; /* 3x3 copy of the view matrix so we can move along 
the view axis */
@@ -451,10 +451,12 @@ static bool walk_ray_cast(bContext *C, RegionView3D 
*rv3d, WalkInfo *walk, float
        mul_v3_fl(ray_normal, -1);
        normalize_v3(ray_normal);
 
-       ret = snapObjectsRayEx(CTX_data_scene(C), NULL, NULL, NULL, NULL, 
SCE_SNAP_MODE_FACE,
-                              NULL, NULL,
-                              ray_start, ray_normal, ray_distance,
-                              NULL, &dummy_dist_px, r_location, r_normal, 
SNAP_ALL);
+       ret = snapObjectsRayEx(
+               CTX_data_scene(C), NULL, NULL, NULL, NULL,
+               NULL, SNAP_ALL, SCE_SNAP_MODE_FACE,
+               ray_start, ray_normal, ray_distance,
+               r_location, r_normal, NULL,
+               NULL, NULL);
 
 
        /* dot is positive if both rays are facing the same direction */
diff --git a/source/blender/editors/t

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to