Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/blender/blender_particles.cpp
| Show First 20 Lines • Show All 47 Lines • ▼ Show 20 Lines | bool BlenderSync::sync_dupli_particle(BL::Object &b_ob, | ||||
| if (persistent_id[0] >= b_psys.particles.length()) | if (persistent_id[0] >= b_psys.particles.length()) | ||||
| return false; | return false; | ||||
| /* find particle system */ | /* find particle system */ | ||||
| ParticleSystemKey key(b_ob, persistent_id); | ParticleSystemKey key(b_ob, persistent_id); | ||||
| ParticleSystem *psys; | ParticleSystem *psys; | ||||
| bool first_use = !particle_system_map.is_used(key); | bool first_use = !particle_system_map.is_used(key); | ||||
| bool need_update = particle_system_map.add_or_update( | bool need_update = particle_system_map.add_or_update(&psys, b_ob, b_instance.object(), key); | ||||
| scene, &psys, b_ob, b_instance.object(), key); | |||||
| /* no update needed? */ | /* no update needed? */ | ||||
| if (!need_update && !object->geometry->need_update && !scene->object_manager->need_update) | if (!need_update && !object->geometry->need_update && !scene->object_manager->need_update) | ||||
| return true; | return true; | ||||
| /* first time used in this sync loop? clear and tag update */ | /* first time used in this sync loop? clear and tag update */ | ||||
| if (first_use) { | if (first_use) { | ||||
| psys->particles.clear(); | psys->particles.clear(); | ||||
| Show All 28 Lines | |||||