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);
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs