36 #include "RNA_prototypes.h"
111 static void fluid_modifier_do_isolated(
void *userdata)
121 isolation_data->
mesh);
146 isolation_data.
mesh = me;
147 isolation_data.
fmd = fmd;
150 return isolation_data.
result;
193 "Fluid Force Field");
233 uiItemL(layout,
TIP_(
"Settings are inside the Physics tab"), ICON_NONE);
void BKE_fluid_modifier_copy(const struct FluidModifierData *fmd, struct FluidModifierData *tfmd, int flag)
struct Mesh * BKE_fluid_modifier_do(struct FluidModifierData *fmd, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, struct Mesh *me)
void BKE_fluid_modifier_free(struct FluidModifierData *fmd)
void(* IDWalkFunc)(void *userData, struct Object *ob, struct ID **idpoin, int cb_flag)
@ eModifierTypeFlag_Single
@ eModifierTypeFlag_AcceptsMesh
@ eModifierTypeType_Constructive
void BLI_task_isolate(void(*func)(void *userdata), void *userdata)
struct Depsgraph Depsgraph
void DEG_add_object_relation(struct DepsNodeHandle *node_handle, struct Object *object, eDepsObjectComponentType component, const char *description)
void DEG_add_collision_relations(struct DepsNodeHandle *handle, struct Object *object, struct Collection *collection, unsigned int modifier_type, DEG_CollobjFilterFunction filter_function, const char *name)
void DEG_add_forcefield_relations(struct DepsNodeHandle *handle, struct Object *object, struct EffectorWeights *eff, bool add_absorption, int skip_forcefield, const char *name)
struct Scene * DEG_get_evaluated_scene(const struct Depsgraph *graph)
Object groups, one object can be in many groups at once.
#define CD_MASK_MDEFORMVERT
@ FLUID_FLOW_TEXTURE_MAP_UV
struct FluidModifierData FluidModifierData
Object is a sort of wrapper for general info.
Read Guarded memory(de)allocation.
static bool dependsOnTime(struct Scene *UNUSED(scene), ModifierData *UNUSED(md))
static void copyData(const ModifierData *md, ModifierData *target, const int flag)
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
static Mesh * modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *me)
static bool is_coll_cb(Object *UNUSED(ob), ModifierData *md)
static bool is_flow_cb(Object *UNUSED(ob), ModifierData *md)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
ModifierTypeInfo modifierType_Fluid
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void initData(ModifierData *md)
static void panelRegister(ARegionType *region_type)
struct FluidIsolationData FluidIsolationData
static void freeData(ModifierData *md)
static void requiredDataMask(Object *UNUSED(ob), ModifierData *md, CustomData_MeshMasks *r_cddata_masks)
PointerRNA * modifier_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ptr)
void modifier_panel_end(uiLayout *layout, PointerRNA *ptr)
PanelType * modifier_panel_register(ARegionType *region_type, ModifierType type, PanelDrawFn draw)
void uiItemL(uiLayout *layout, const char *name, int icon)
struct Collection * group
struct Collection * force_group
struct Collection * effector_group
struct Object * guide_parent
struct Collection * fluid_group
struct EffectorWeights * effector_weights
struct Tex * noise_texture
struct FluidDomainSettings * domain
struct FluidEffectorSettings * effector
struct FluidFlowSettings * flow
struct Depsgraph * depsgraph
struct DepsNodeHandle * node