[Bf-blender-cvs] [97c99fb034d] blender2.8: Modifiers: port UV_unwarp from DM to Mesh.

Bastien Montagne noreply at git.blender.org
Fri Jun 22 15:32:47 CEST 2018


Commit: 97c99fb034db3b25e8a3e6fca3ab1a232d8d5b43
Author: Bastien Montagne
Date:   Fri Jun 22 15:27:50 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB97c99fb034db3b25e8a3e6fca3ab1a232d8d5b43

Modifiers: port UV_unwarp from DM to Mesh.

Pretty trivial...

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

M	source/blender/modifiers/intern/MOD_uvwarp.c

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

diff --git a/source/blender/modifiers/intern/MOD_uvwarp.c b/source/blender/modifiers/intern/MOD_uvwarp.c
index c650ae995db..8e79a035734 100644
--- a/source/blender/modifiers/intern/MOD_uvwarp.c
+++ b/source/blender/modifiers/intern/MOD_uvwarp.c
@@ -27,6 +27,7 @@
 
 #include <string.h>
 
+#include "DNA_mesh_types.h"
 #include "DNA_meshdata_types.h"
 #include "DNA_object_types.h"
 
@@ -35,7 +36,6 @@
 #include "BLI_utildefines.h"
 
 #include "BKE_action.h"  /* BKE_pose_channel_find_name */
-#include "BKE_cdderivedmesh.h"
 #include "BKE_deform.h"
 #include "BKE_library_query.h"
 #include "BKE_modifier.h"
@@ -138,9 +138,9 @@ static void uv_warp_compute(
 	}
 }
 
-static DerivedMesh *applyModifier(
+static Mesh *applyModifier(
         ModifierData *md, const ModifierEvalContext *ctx,
-        DerivedMesh *dm)
+        Mesh *me_eval)
 {
 	UVWarpModifierData *umd = (UVWarpModifierData *) md;
 	int numPolys, numLoops;
@@ -158,12 +158,12 @@ static DerivedMesh *applyModifier(
 	const int axis_v = umd->axis_v;
 
 	/* make sure there are UV Maps available */
-	if (!CustomData_has_layer(&dm->loopData, CD_MLOOPUV)) {
-		return dm;
+	if (!CustomData_has_layer(&me_eval->ldata, CD_MLOOPUV)) {
+		return me_eval;
 	}
 	else if (ELEM(NULL, umd->object_src, umd->object_dst)) {
 		modifier_setError(md, "From/To objects must be set");
-		return dm;
+		return me_eval;
 	}
 
 	/* make sure anything moving UVs is available */
@@ -189,16 +189,16 @@ static DerivedMesh *applyModifier(
 	}
 
 	/* make sure we're using an existing layer */
-	CustomData_validate_layer_name(&dm->loopData, CD_MLOOPUV, umd->uvlayer_name, uvname);
+	CustomData_validate_layer_name(&me_eval->ldata, CD_MLOOPUV, umd->uvlayer_name, uvname);
 
-	numPolys = dm->getNumPolys(dm);
-	numLoops = dm->getNumLoops(dm);
+	numPolys = me_eval->totpoly;
+	numLoops = me_eval->totloop;
 
-	mpoly = dm->getPolyArray(dm);
-	mloop = dm->getLoopArray(dm);
+	mpoly = me_eval->mpoly;
+	mloop = me_eval->mloop;
 	/* make sure we are not modifying the original UV map */
-	mloopuv = CustomData_duplicate_referenced_layer_named(&dm->loopData, CD_MLOOPUV, uvname, numLoops);
-	modifier_get_vgroup(ctx->object, dm, umd->vgroup_name, &dvert, &defgrp_index);
+	mloopuv = CustomData_duplicate_referenced_layer_named(&me_eval->ldata, CD_MLOOPUV, uvname, numLoops);
+	modifier_get_vgroup_mesh(ctx->object, me_eval, umd->vgroup_name, &dvert, &defgrp_index);
 
 	UVWarpData data = {.mpoly = mpoly, .mloop = mloop, .mloopuv = mloopuv,
 	                   .dvert = dvert, .defgrp_index = defgrp_index,
@@ -211,9 +211,10 @@ static DerivedMesh *applyModifier(
 	                        uv_warp_compute,
 	                        &settings);
 
-	dm->dirty |= DM_DIRTY_TESS_CDLAYERS;
+	/* XXX TODO is this still needed? */
+//	me_eval->dirty |= DM_DIRTY_TESS_CDLAYERS;
 
-	return dm;
+	return me_eval;
 }
 
 static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
@@ -260,14 +261,14 @@ ModifierTypeInfo modifierType_UVWarp = {
 	/* deformMatrices_DM */ NULL,
 	/* deformVertsEM_DM */  NULL,
 	/* deformMatricesEM_DM*/NULL,
-	/* applyModifier_DM */  applyModifier,
+	/* applyModifier_DM */  NULL,
 	/* applyModifierEM_DM */NULL,
 
 	/* deformVerts */       NULL,
 	/* deformMatrices */    NULL,
 	/* deformVertsEM */     NULL,
 	/* deformMatricesEM */  NULL,
-	/* applyModifier */     NULL,
+	/* applyModifier */     applyModifier,
 	/* applyModifierEM */   NULL,
 
 	/* initData */          initData,



More information about the Bf-blender-cvs mailing list