35 #include "RNA_prototypes.h"
64 if (runtime_data_v ==
NULL) {
130 ctx->
node, ctx->
object,
surface->effector_weights,
true, 0,
"Dynamic Paint Field");
140 "Dynamic Paint Brush");
160 if (
surface->effector_weights) {
181 uiItemL(layout,
TIP_(
"Settings are inside the Physics tab"), ICON_NONE);
193 "DynamicPaintModifierData",
195 &RNA_DynamicPaintModifier,
200 ICON_MOD_DYNAMICPAINT,
void dynamicPaint_Modifier_free(struct DynamicPaintModifierData *pmd)
void dynamicPaint_Modifier_free_runtime(struct DynamicPaintRuntime *runtime)
struct Mesh * dynamicPaint_Modifier_do(struct DynamicPaintModifierData *pmd, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, struct Mesh *me)
void dynamicPaint_Modifier_copy(const struct DynamicPaintModifierData *pmd, struct DynamicPaintModifierData *tpmd, int flag)
void(* IDWalkFunc)(void *userData, struct Object *ob, struct ID **idpoin, int cb_flag)
@ eModifierTypeFlag_Single
@ eModifierTypeFlag_UsesPointCache
@ eModifierTypeFlag_SupportsMapping
@ eModifierTypeFlag_UsesPreview
@ eModifierTypeFlag_AcceptsMesh
void(* TexWalkFunc)(void *userData, struct Object *ob, struct ModifierData *md, const char *propname)
@ eModifierTypeType_Constructive
#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(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)
#define CD_MASK_PROP_BYTE_COLOR
#define CD_MASK_MDEFORMVERT
#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 bool dependsOnTime(struct Scene *UNUSED(scene), ModifierData *UNUSED(md))
static void copyData(const ModifierData *md, ModifierData *target, const int flag)
static Mesh * modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh)
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
static void freeRuntimeData(void *runtime_data_v)
static bool is_brush_cb(Object *UNUSED(ob), ModifierData *md)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
ModifierTypeInfo modifierType_DynamicPaint
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void initData(ModifierData *md)
static void panelRegister(ARegionType *region_type)
static void freeData(ModifierData *md)
static void foreachTexLink(ModifierData *UNUSED(md), Object *UNUSED(ob), TexWalkFunc UNUSED(walk), void *UNUSED(userData))
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 @211::@212 surface
struct DynamicPaintCanvasSettings * canvas
struct DynamicPaintBrushSettings * brush
struct Depsgraph * depsgraph
struct DepsNodeHandle * node