30#include "RNA_prototypes.hh"
58 if (runtime_data_v ==
nullptr) {
77 for (; surface; surface = surface->next) {
124 ctx->
node, ctx->
object, surface->effector_weights,
true, 0,
"Dynamic Paint Field");
131 surface->brush_group,
134 "Dynamic Paint Brush");
151 for (; surface; surface = surface->next) {
154 if (surface->effector_weights) {
155 walk(user_data, ob, (
ID **)&surface->effector_weights->group,
IDWALK_CB_USER);
175 uiItemL(layout,
RPT_(
"Settings are inside the Physics tab"), ICON_NONE);
188 "DynamicPaintModifierData",
190 &RNA_DynamicPaintModifier,
194 ICON_MOD_DYNAMICPAINT,
struct Mesh * dynamicPaint_Modifier_do(struct DynamicPaintModifierData *pmd, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, struct Mesh *mesh)
void dynamicPaint_Modifier_free(struct DynamicPaintModifierData *pmd)
void dynamicPaint_Modifier_free_runtime(struct DynamicPaintRuntime *runtime)
void dynamicPaint_Modifier_copy(const struct DynamicPaintModifierData *pmd, struct DynamicPaintModifierData *tpmd, int flag)
void(*)(void *user_data, Object *ob, ModifierData *md, const PointerRNA *ptr, PropertyRNA *texture_prop) TexWalkFunc
@ eModifierTypeFlag_Single
@ eModifierTypeFlag_UsesPointCache
@ eModifierTypeFlag_SupportsMapping
@ eModifierTypeFlag_AcceptsMesh
void(*)(void *user_data, Object *ob, ID **idpoin, int cb_flag) IDWalkFunc
#define LISTBASE_FOREACH(type, var, list)
#define MEMCMP_STRUCT_AFTER_IS_ZERO(struct_var, member)
#define MEMCPY_STRUCT_AFTER(struct_dst, struct_src, member)
void DEG_add_collision_relations(DepsNodeHandle *handle, Object *object, Collection *collection, unsigned int modifier_type, DEG_CollobjFilterFunction filter_function, const char *name)
void DEG_add_forcefield_relations(DepsNodeHandle *handle, Object *object, EffectorWeights *eff, bool add_absorption, int skip_forcefield, const char *name)
Scene * DEG_get_evaluated_scene(const Depsgraph *graph)
#define CD_MASK_PROP_BYTE_COLOR
#define CD_MASK_MDEFORMVERT
#define CD_MASK_PROP_FLOAT2
#define DNA_struct_default_get(struct_name)
@ MOD_DPAINT_INITIAL_VERTEXCOLOR
@ MOD_DPAINT_INITIAL_TEXTURE
@ MOD_DPAINT_SURFACE_T_WEIGHT
@ MOD_DPAINT_SURFACE_T_PAINT
@ MOD_DPAINT_EFFECT_DO_DRIP
@ MOD_DPAINT_SURFACE_F_IMAGESEQ
@ MOD_DYNAMICPAINT_TYPE_BRUSH
@ MOD_DYNAMICPAINT_TYPE_CANVAS
struct DynamicPaintModifierData DynamicPaintModifierData
@ eModifierType_DynamicPaint
Object is a sort of wrapper for general info.
static void init_data(ModifierData *md)
static void panel_register(ARegionType *region_type)
static void free_runtime_data(void *runtime_data_v)
static Mesh * modify_mesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh)
static bool is_brush_cb(Object *, ModifierData *md)
static void free_data(ModifierData *md)
ModifierTypeInfo modifierType_DynamicPaint
static void panel_draw(const bContext *, Panel *panel)
static bool depends_on_time(Scene *, ModifierData *)
static void required_data_mask(ModifierData *md, CustomData_MeshMasks *r_cddata_masks)
static void foreach_ID_link(ModifierData *md, Object *ob, IDWalkFunc walk, void *user_data)
static void foreach_tex_link(ModifierData *, Object *, TexWalkFunc, void *)
static void update_depsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
static void copy_data(const ModifierData *md, ModifierData *target, const int flag)
void modifier_panel_end(uiLayout *layout, PointerRNA *ptr)
PanelType * modifier_panel_register(ARegionType *region_type, ModifierType type, PanelDrawFn draw)
PointerRNA * modifier_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ptr)
void uiItemL(uiLayout *layout, const char *name, int icon)
struct DynamicPaintCanvasSettings * canvas
struct DynamicPaintBrushSettings * brush