[Bf-blender-cvs] [95306a4d198] blender2.8: Particles: Use utility function to copy particles
Sergey Sharybin
noreply at git.blender.org
Tue Jun 19 15:29:08 CEST 2018
Commit: 95306a4d1982e569616211d901bb81b0467d0b8b
Author: Sergey Sharybin
Date: Tue Jun 19 11:46:39 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB95306a4d1982e569616211d901bb81b0467d0b8b
Particles: Use utility function to copy particles
===================================================================
M source/blender/blenkernel/intern/object.c
===================================================================
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index ac47fcec6b4..5ca9b9d2203 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -874,38 +874,9 @@ SoftBody *copy_softbody(const SoftBody *sb, const int flag)
ParticleSystem *BKE_object_copy_particlesystem(ParticleSystem *psys, const int flag)
{
- ParticleSystem *psysn;
- ParticleData *pa;
- int p;
+ ParticleSystem *psysn = MEM_dupallocN(psys);
- psysn = MEM_dupallocN(psys);
- psysn->particles = MEM_dupallocN(psys->particles);
- psysn->child = MEM_dupallocN(psys->child);
-
- if (psys->part->type == PART_HAIR) {
- for (p = 0, pa = psysn->particles; p < psysn->totpart; p++, pa++)
- pa->hair = MEM_dupallocN(pa->hair);
- }
-
- if (psysn->particles && (psysn->particles->keys || psysn->particles->boid)) {
- ParticleKey *key = psysn->particles->keys;
- BoidParticle *boid = psysn->particles->boid;
-
- if (key)
- key = MEM_dupallocN(key);
-
- if (boid)
- boid = MEM_dupallocN(boid);
-
- for (p = 0, pa = psysn->particles; p < psysn->totpart; p++, pa++) {
- if (boid)
- pa->boid = boid++;
- if (key) {
- pa->keys = key;
- key += pa->totkey;
- }
- }
- }
+ psys_copy_particles(psysn, psys);
if (psys->clmd) {
psysn->clmd = (ClothModifierData *)modifier_new(eModifierType_Cloth);
More information about the Bf-blender-cvs
mailing list