diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-12-01 08:59:11 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-12-01 08:59:11 +0300 |
commit | f5f332892cd12a4323650504b33de40f529d2b8a (patch) | |
tree | 4295a152e7af321b244247ab9d048b0414e41a56 /source | |
parent | f801b2bcba276a26a68accb9167798c4facb9275 (diff) |
workaround [#24958] Cloth pinning not working
detailed explanation as to why this is needed in report.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/cloth.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/cloth.c b/source/blender/blenkernel/intern/cloth.c index f8772cd802f..946d03d388a 100644 --- a/source/blender/blenkernel/intern/cloth.c +++ b/source/blender/blenkernel/intern/cloth.c @@ -447,6 +447,11 @@ DerivedMesh *clothModifier_do(ClothModifierData *clmd, Scene *scene, Object *ob, return dm; } + /* XXX, workaround for bug [#24958], see report for more info */ + if(CustomData_has_layer(&dm->vertData, CD_MDEFORMVERT) && !CustomData_has_layer(&result->vertData, CD_MDEFORMVERT)) { + DM_add_vert_layer(result, CD_MDEFORMVERT, CD_DUPLICATE, dm->getVertDataArray(dm, CD_MDEFORMVERT)); + } + if(clmd->sim_parms->reset || (framenr == (startframe - clmd->sim_parms->preroll) && clmd->sim_parms->preroll != 0) || (clmd->clothObject && result->getNumVerts(result) != clmd->clothObject->numverts)) |