[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