diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-09-23 15:57:00 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-09-23 17:02:27 +0300 |
commit | e24ea81d65416d778ded6c7b9698dd673e2ed6b9 (patch) | |
tree | 4ff5e4e97cdc9ceef493d24dbca66193d5d33903 /source/blender/blenkernel/intern/DerivedMesh.c | |
parent | f6445cd6aee171eca26cece0a4cb60466699a6c9 (diff) |
Fix T46215: Explode modifier looses texturesv2.76-rc2
Diffstat (limited to 'source/blender/blenkernel/intern/DerivedMesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/DerivedMesh.c | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 62b74af1674..20dabbdc323 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -328,21 +328,17 @@ void DM_init( * Utility function to initialize a DerivedMesh for the desired number * of vertices, edges and faces, with a layer setup copied from source */ -void DM_from_template( +void DM_from_template_ex( DerivedMesh *dm, DerivedMesh *source, DerivedMeshType type, int numVerts, int numEdges, int numTessFaces, - int numLoops, int numPolys) + int numLoops, int numPolys, + CustomDataMask mask) { - CustomData_copy(&source->vertData, &dm->vertData, CD_MASK_DERIVEDMESH, - CD_CALLOC, numVerts); - CustomData_copy(&source->edgeData, &dm->edgeData, CD_MASK_DERIVEDMESH, - CD_CALLOC, numEdges); - CustomData_copy(&source->faceData, &dm->faceData, CD_MASK_DERIVEDMESH, - CD_CALLOC, numTessFaces); - CustomData_copy(&source->loopData, &dm->loopData, CD_MASK_DERIVEDMESH, - CD_CALLOC, numLoops); - CustomData_copy(&source->polyData, &dm->polyData, CD_MASK_DERIVEDMESH, - CD_CALLOC, numPolys); + CustomData_copy(&source->vertData, &dm->vertData, mask, CD_CALLOC, numVerts); + CustomData_copy(&source->edgeData, &dm->edgeData, mask, CD_CALLOC, numEdges); + CustomData_copy(&source->faceData, &dm->faceData, mask, CD_CALLOC, numTessFaces); + CustomData_copy(&source->loopData, &dm->loopData, mask, CD_CALLOC, numLoops); + CustomData_copy(&source->polyData, &dm->polyData, mask, CD_CALLOC, numPolys); dm->cd_flag = source->cd_flag; @@ -358,6 +354,17 @@ void DM_from_template( dm->needsFree = 1; dm->dirty = 0; } +void DM_from_template( + DerivedMesh *dm, DerivedMesh *source, DerivedMeshType type, + int numVerts, int numEdges, int numTessFaces, + int numLoops, int numPolys) +{ + DM_from_template_ex( + dm, source, type, + numVerts, numEdges, numTessFaces, + numLoops, numPolys, + CD_MASK_DERIVEDMESH); +} int DM_release(DerivedMesh *dm) { |