Cleanup: Pass `Snap Object Params * params` to` iter_snap_objects`.

And remove unnecessary `defaulf:` labels.
This commit is contained in:
Germano Cavalcante 2018-05-15 12:44:37 -03:00
parent 92d4fbf5cc
commit 3d1f5cb9a2
1 changed files with 12 additions and 27 deletions

View File

@ -163,12 +163,14 @@ typedef void(*IterSnapObjsCallback)(SnapObjectContext *sctx, bool is_obedit, Obj
*/
static void iter_snap_objects(
SnapObjectContext *sctx,
const eSnapSelect snap_select,
Object *obedit,
const struct SnapObjectParams *params,
IterSnapObjsCallback sob_callback,
void *data)
{
ViewLayer *view_layer = DEG_get_evaluated_view_layer(sctx->depsgraph);
Object *obedit = params->use_object_edit_cage ? OBEDIT_FROM_VIEW_LAYER(view_layer) : NULL;
const eSnapSelect snap_select = params->snap_select;
Base *base_act = view_layer->basact;
for (Base *base = view_layer->object_bases.first; base != NULL; base = base->next) {
if ((BASE_VISIBLE(base)) && (base->flag_legacy & BA_SNAP_FIX_DEPS_FIASCO) == 0 &&
@ -783,8 +785,8 @@ static void raycast_obj_cb(SnapObjectContext *sctx, bool is_obedit, Object *ob,
*/
static bool raycastObjects(
SnapObjectContext *sctx,
const struct SnapObjectParams *params,
const float ray_start[3], const float ray_dir[3],
const eSnapSelect snap_select, const bool use_object_edit_cage,
/* read/write args */
float *ray_depth,
/* return args */
@ -792,9 +794,6 @@ static bool raycastObjects(
Object **r_ob, float r_obmat[4][4],
ListBase *r_hit_list)
{
ViewLayer *view_layer = DEG_get_evaluated_view_layer(sctx->depsgraph);
Object *obedit = use_object_edit_cage ? OBEDIT_FROM_VIEW_LAYER(view_layer) : NULL;
struct RaycastObjUserData data = {
.ray_start = ray_start,
.ray_dir = ray_dir,
@ -809,7 +808,7 @@ static bool raycastObjects(
.ret = false,
};
iter_snap_objects(sctx, snap_select, obedit, raycast_obj_cb, &data);
iter_snap_objects(sctx, params, raycast_obj_cb, &data);
return data.ret;
}
@ -1274,8 +1273,6 @@ static bool snapCurve(
}
break;
}
default:
break;
}
}
}
@ -1325,8 +1322,6 @@ static bool snapEmpty(
}
break;
}
default:
break;
}
return retval;
@ -1414,8 +1409,6 @@ static bool snapCamera(
break;
}
default:
break;
}
if (retval) {
@ -1779,7 +1772,6 @@ static bool snapObject(
float r_loc[3], float r_no[3],
Object **r_ob, float r_obmat[4][4])
{
BLI_assert(snapdata->snap_to != SCE_SNAP_MODE_FACE);
bool retval = false;
switch (ob->type) {
@ -1901,16 +1893,13 @@ static void sanp_obj_cb(SnapObjectContext *sctx, bool is_obedit, Object *ob, flo
*/
static bool snapObjectsRay(
SnapObjectContext *sctx, SnapData *snapdata,
const eSnapSelect snap_select, const bool use_object_edit_cage,
const struct SnapObjectParams *params,
/* read/write args */
float *ray_depth, float *dist_px,
/* return args */
float r_loc[3], float r_no[3],
Object **r_ob, float r_obmat[4][4])
{
ViewLayer *view_layer = DEG_get_evaluated_view_layer(sctx->depsgraph);
Object *obedit = use_object_edit_cage ? OBEDIT_FROM_VIEW_LAYER(view_layer) : NULL;
struct SnapObjUserData data = {
.snapdata = snapdata,
.ray_depth = ray_depth,
@ -1922,7 +1911,7 @@ static bool snapObjectsRay(
.ret = false,
};
iter_snap_objects(sctx, snap_select, obedit, sanp_obj_cb, &data);
iter_snap_objects(sctx, params, sanp_obj_cb, &data);
return data.ret;
}
@ -2019,9 +2008,8 @@ bool ED_transform_snap_object_project_ray_ex(
Object **r_ob, float r_obmat[4][4])
{
return raycastObjects(
sctx,
sctx, params,
ray_start, ray_normal,
params->snap_select, params->use_object_edit_cage,
ray_depth, r_loc, r_no, r_index, r_ob, r_obmat, NULL);
}
@ -2048,9 +2036,8 @@ bool ED_transform_snap_object_project_ray_all(
#endif
bool retval = raycastObjects(
sctx,
sctx, params,
ray_start, ray_normal,
params->snap_select, params->use_object_edit_cage,
&ray_depth, NULL, NULL, NULL, NULL, NULL,
r_hit_list);
@ -2233,9 +2220,8 @@ bool ED_transform_snap_object_project_view3d_ex(
if (snap_to == SCE_SNAP_MODE_FACE) {
return raycastObjects(
sctx,
sctx, params,
ray_start, ray_normal,
params->snap_select, params->use_object_edit_cage,
ray_depth, r_loc, r_no, r_index, r_ob, r_obmat, NULL);
}
else {
@ -2248,8 +2234,7 @@ bool ED_transform_snap_object_project_view3d_ex(
ray_start, ray_normal, depth_range);
return snapObjectsRay(
sctx, &snapdata,
params->snap_select, params->use_object_edit_cage,
sctx, &snapdata, params,
ray_depth, dist_px, r_loc, r_no, r_ob, r_obmat);
}
}