Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2015-11-04 22:03:26 +0300
committerCampbell Barton <ideasman42@gmail.com>2015-11-04 22:03:26 +0300
commit3152419e7e86fb9fdea0a2b8b6c252f2926100cf (patch)
tree1d2e1b32db09ea9c266a3287c90473ee734210a5 /source/blender/bmesh/intern
parent206c42f3ce294095be01caa0706581b51a17de18 (diff)
Add missing check for multires interpolation
Diffstat (limited to 'source/blender/bmesh/intern')
-rw-r--r--source/blender/bmesh/intern/bmesh_interp.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/source/blender/bmesh/intern/bmesh_interp.c b/source/blender/bmesh/intern/bmesh_interp.c
index 287733545f1..a2ae5d15095 100644
--- a/source/blender/bmesh/intern/bmesh_interp.c
+++ b/source/blender/bmesh/intern/bmesh_interp.c
@@ -473,13 +473,16 @@ void BM_loop_interp_multires_ex(
void BM_loop_interp_multires(BMesh *bm, BMLoop *l_dst, const BMFace *f_src)
{
const int cd_loop_mdisp_offset = CustomData_get_offset(&bm->ldata, CD_MDISPS);
- float f_dst_center[3];
- float f_src_center[3];
- BM_face_calc_center_mean(l_dst->f, f_dst_center);
- BM_face_calc_center_mean(f_src, f_src_center);
+ if (cd_loop_mdisp_offset != -1) {
+ float f_dst_center[3];
+ float f_src_center[3];
- BM_loop_interp_multires_ex(bm, l_dst, f_src, f_dst_center, f_src_center, cd_loop_mdisp_offset);
+ BM_face_calc_center_mean(l_dst->f, f_dst_center);
+ BM_face_calc_center_mean(f_src, f_src_center);
+
+ BM_loop_interp_multires_ex(bm, l_dst, f_src, f_dst_center, f_src_center, cd_loop_mdisp_offset);
+ }
}
void BM_face_interp_multires_ex(
@@ -498,13 +501,16 @@ void BM_face_interp_multires_ex(
void BM_face_interp_multires(BMesh *bm, BMFace *f_dst, const BMFace *f_src)
{
const int cd_loop_mdisp_offset = CustomData_get_offset(&bm->ldata, CD_MDISPS);
- float f_dst_center[3];
- float f_src_center[3];
- BM_face_calc_center_mean(f_dst, f_dst_center);
- BM_face_calc_center_mean(f_src, f_src_center);
+ if (cd_loop_mdisp_offset != -1) {
+ float f_dst_center[3];
+ float f_src_center[3];
- BM_face_interp_multires_ex(bm, f_dst, f_src, f_dst_center, f_src_center, cd_loop_mdisp_offset);
+ BM_face_calc_center_mean(f_dst, f_dst_center);
+ BM_face_calc_center_mean(f_src, f_src_center);
+
+ BM_face_interp_multires_ex(bm, f_dst, f_src, f_dst_center, f_src_center, cd_loop_mdisp_offset);
+ }
}
/**