Changeset View
Changeset View
Standalone View
Standalone View
source/blender/makesrna/intern/rna_fluid.c
| Show First 20 Lines • Show All 221 Lines • ▼ Show 20 Lines | |||||
| static void rna_Fluid_flip_parts_update(Main *bmain, Scene *scene, PointerRNA *ptr) | static void rna_Fluid_flip_parts_update(Main *bmain, Scene *scene, PointerRNA *ptr) | ||||
| { | { | ||||
| Object *ob = (Object *)ptr->owner_id; | Object *ob = (Object *)ptr->owner_id; | ||||
| FluidModifierData *mmd; | FluidModifierData *mmd; | ||||
| mmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid); | mmd = (FluidModifierData *)BKE_modifiers_findby_type(ob, eModifierType_Fluid); | ||||
| bool exists = rna_Fluid_parts_exists(ptr, PART_FLUID_FLIP); | bool exists = rna_Fluid_parts_exists(ptr, PART_FLUID_FLIP); | ||||
| /* Only create a particle system in liquid domain mode. */ | /* Only create a particle system in liquid domain mode. | ||||
| * Remove any remainings of a liquid sim when switching to gas. */ | |||||
| if (mmd->domain->type != FLUID_DOMAIN_TYPE_LIQUID) { | if (mmd->domain->type != FLUID_DOMAIN_TYPE_LIQUID) { | ||||
| rna_Fluid_parts_delete(ptr, PART_FLUID_FLIP); | |||||
| mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_FLIP; | |||||
| rna_Fluid_domain_reset(bmain, scene, ptr); | rna_Fluid_domain_reset(bmain, scene, ptr); | ||||
| return; | return; | ||||
| } | } | ||||
| if (ob->type == OB_MESH && !exists) { | if (ob->type == OB_MESH && !exists) { | ||||
| rna_Fluid_parts_create( | rna_Fluid_parts_create( | ||||
| bmain, ptr, "LiquidParticleSettings", "Liquid", "Liquid Particle System", PART_FLUID_FLIP); | bmain, ptr, "LiquidParticleSettings", "Liquid", "Liquid Particle System", PART_FLUID_FLIP); | ||||
| mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_FLIP; | mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_FLIP; | ||||
| ▲ Show 20 Lines • Show All 2,431 Lines • Show Last 20 Lines | |||||