[Bf-blender-cvs] [04fa65e356d] blender2.8: Cleanup: Use switch statement to test the object type in snap functions.

Germano noreply at git.blender.org
Tue May 15 00:19:47 CEST 2018


Commit: 04fa65e356dac5b876eae64af59fcd52b9645724
Author: Germano
Date:   Mon May 14 18:43:03 2018 -0300
Branches: blender2.8
https://developer.blender.org/rB04fa65e356dac5b876eae64af59fcd52b9645724

Cleanup: Use switch statement to test the object type in snap functions.

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

M	source/blender/editors/transform/transform_snap_object.c

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

diff --git a/source/blender/editors/transform/transform_snap_object.c b/source/blender/editors/transform/transform_snap_object.c
index 23d7760b1ad..5df3107e40b 100644
--- a/source/blender/editors/transform/transform_snap_object.c
+++ b/source/blender/editors/transform/transform_snap_object.c
@@ -690,32 +690,37 @@ static bool raycastObj(
 {
 	bool retval = false;
 
-	if (ob->type == OB_MESH) {
-		if (use_obedit) {
-			BMEditMesh *em = BKE_editmesh_from_object(ob);
-			retval = raycastEditMesh(
-			        sctx,
-			        ray_start, ray_dir,
-			        ob, em, obmat, ob_index,
-			        ray_depth, r_loc, r_no, r_index, r_hit_list);
-		}
-		else {
-			retval = raycastMesh(
-			        sctx,
-			        ray_start, ray_dir,
-			        ob, ob->data, obmat, ob_index,
-			        ray_depth, r_loc, r_no, r_index, r_hit_list);
-		}
+	switch (ob->type) {
+		case OB_MESH:
+			if (use_obedit) {
+				BMEditMesh *em = BKE_editmesh_from_object(ob);
+				retval = raycastEditMesh(
+				        sctx,
+				        ray_start, ray_dir,
+				        ob, em, obmat, ob_index,
+				        ray_depth, r_loc, r_no, r_index, r_hit_list);
+			}
+			else {
+				retval = raycastMesh(
+				        sctx,
+				        ray_start, ray_dir,
+				        ob, ob->data, obmat, ob_index,
+				        ray_depth, r_loc, r_no, r_index, r_hit_list);
+			}
+			break;
 	}
 
 	if (retval) {
 		if (r_ob) {
 			*r_ob = ob;
+		}
+		if (r_obmat) {
 			copy_m4_m4(r_obmat, obmat);
 		}
+		return true;
 	}
 
-	return retval;
+	return false;
 }
 
 
@@ -1767,71 +1772,75 @@ static bool snapEditMesh(
  */
 static bool snapObject(
         SnapObjectContext *sctx, SnapData *snapdata,
-        Object *ob, float obmat[4][4],
-        bool use_obedit,
+        Object *ob, float obmat[4][4], bool use_obedit,
         /* 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])
 {
+	BLI_assert(snapdata->snap_to != SCE_SNAP_MODE_FACE);
 	bool retval = false;
 
-	if (ob->type == OB_MESH) {
-		BMEditMesh *em;
+	switch (ob->type) {
+		case OB_MESH:
+			if (use_obedit) {
+				BMEditMesh *em = BKE_editmesh_from_object(ob);
+				retval = snapEditMesh(
+				        sctx, snapdata, ob, em, obmat,
+				        ray_depth, dist_px,
+				        r_loc, r_no);
+			}
+			else {
+				retval = snapMesh(
+				        sctx, snapdata, ob, ob->data, obmat,
+				        ray_depth, dist_px,
+				        r_loc, r_no);
+			}
+			break;
 
-		if (use_obedit) {
-			em = BKE_editmesh_from_object(ob);
-			retval = snapEditMesh(
-			        sctx, snapdata, ob, em, obmat,
-			        ray_depth, dist_px,
-			        r_loc, r_no);
-		}
-		else {
-			retval = snapMesh(
-			        sctx, snapdata, ob, ob->data, obmat,
-			        ray_depth, dist_px,
-			        r_loc, r_no);
-		}
-	}
-	else if (snapdata->snap_to != SCE_SNAP_MODE_FACE) {
-		if (ob->type == OB_ARMATURE) {
+		case OB_ARMATURE:
 			retval = snapArmature(
 			        snapdata,
 			        ob, ob->data, obmat,
 			        ray_depth, dist_px,
 			        r_loc, r_no);
-		}
-		else if (ob->type == OB_CURVE) {
+			break;
+
+		case OB_CURVE:
 			retval = snapCurve(
 			        snapdata,
 			        ob, obmat, use_obedit,
 			        ray_depth, dist_px,
 			        r_loc, r_no);
-		}
-		else if (ob->type == OB_EMPTY) {
+			break;
+
+		case OB_EMPTY:
 			retval = snapEmpty(
-			        snapdata,
-			        ob, obmat,
+			        snapdata, ob, obmat,
 			        ray_depth, dist_px,
 			        r_loc, r_no);
-		}
-		else if (ob->type == OB_CAMERA) {
+			break;
+
+		case OB_CAMERA:
 			retval = snapCamera(
 			        sctx, snapdata, ob, obmat,
 			        ray_depth, dist_px,
 			        r_loc, r_no);
-		}
+			break;
 	}
 
 	if (retval) {
 		if (r_ob) {
 			*r_ob = ob;
+		}
+		if (r_obmat) {
 			copy_m4_m4(r_obmat, obmat);
 		}
+		return true;
 	}
 
-	return retval;
+	return false;
 }



More information about the Bf-blender-cvs mailing list