Changeset View
Changeset View
Standalone View
Standalone View
source/blender/depsgraph/intern/builder/deg_builder_relations.cc
| Show First 20 Lines • Show All 388 Lines • ▼ Show 20 Lines | void DepsgraphRelationBuilder::add_particle_forcefield_relations( | ||||
| ListBase *relations = deg_build_effector_relations(graph_, eff->group); | ListBase *relations = deg_build_effector_relations(graph_, eff->group); | ||||
| LISTBASE_FOREACH (EffectorRelation *, relation, relations) { | LISTBASE_FOREACH (EffectorRelation *, relation, relations) { | ||||
| if (relation->ob != object) { | if (relation->ob != object) { | ||||
| /* Relation to forcefield object, optionally including geometry. */ | /* Relation to forcefield object, optionally including geometry. */ | ||||
| ComponentKey eff_key(&relation->ob->id, DEG_NODE_TYPE_TRANSFORM); | ComponentKey eff_key(&relation->ob->id, DEG_NODE_TYPE_TRANSFORM); | ||||
| add_relation(eff_key, key, name); | add_relation(eff_key, key, name); | ||||
| if (ELEM(relation->pd->shape, PFIELD_SHAPE_SURFACE, PFIELD_SHAPE_POINTS)) { | if (ELEM(relation->pd->shape, PFIELD_SHAPE_SURFACE, PFIELD_SHAPE_POINTS) || | ||||
| relation->pd->forcefield == PFIELD_GUIDE) { | |||||
| ComponentKey mod_key(&relation->ob->id, DEG_NODE_TYPE_GEOMETRY); | ComponentKey mod_key(&relation->ob->id, DEG_NODE_TYPE_GEOMETRY); | ||||
| add_relation(mod_key, key, name); | add_relation(mod_key, key, name); | ||||
| } | } | ||||
| /* Smoke flow relations. */ | /* Smoke flow relations. */ | ||||
| if (relation->pd->forcefield == PFIELD_SMOKEFLOW && relation->pd->f_source) { | if (relation->pd->forcefield == PFIELD_SMOKEFLOW && relation->pd->f_source) { | ||||
| ComponentKey trf_key(&relation->pd->f_source->id, | ComponentKey trf_key(&relation->pd->f_source->id, | ||||
| DEG_NODE_TYPE_TRANSFORM); | DEG_NODE_TYPE_TRANSFORM); | ||||
| ▲ Show 20 Lines • Show All 2,224 Lines • Show Last 20 Lines | |||||