Fix for bug #11698: mesh deform modifier not working on extruded curves.
The modifier work on the tesselated result rather than the curve itself.
This commit is contained in:
@@ -1171,7 +1171,7 @@ static ModifierData *curve_get_tesselate_point(Object *ob, int forRender, int ed
|
||||
if ((md->mode & required_mode) != required_mode) continue;
|
||||
if (mti->isDisabled && mti->isDisabled(md)) continue;
|
||||
|
||||
if (md->type==eModifierType_Hook || md->type==eModifierType_Softbody) {
|
||||
if (ELEM3(md->type, eModifierType_Hook, eModifierType_Softbody, eModifierType_MeshDeform)) {
|
||||
preTesselatePoint = md;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6850,8 +6850,16 @@ static void meshdeformModifier_do(
|
||||
Mat3CpyMat4(icagemat, iobmat);
|
||||
|
||||
/* bind weights if needed */
|
||||
if(!mmd->bindcos)
|
||||
harmonic_coordinates_bind(mmd, vertexCos, numVerts, cagemat);
|
||||
if(!mmd->bindcos) {
|
||||
static int recursive = 0;
|
||||
|
||||
/* progress bar redraw can make this recursive .. */
|
||||
if(!recursive) {
|
||||
recursive = 1;
|
||||
harmonic_coordinates_bind(mmd, vertexCos, numVerts, cagemat);
|
||||
recursive = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* verify we have compatible weights */
|
||||
totvert= numVerts;
|
||||
|
||||
Reference in New Issue
Block a user