diff options
Diffstat (limited to 'source/blender/editors/object/object_modifier.c')
-rw-r--r-- | source/blender/editors/object/object_modifier.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c index 31c4f96693c..7c74213608c 100644 --- a/source/blender/editors/object/object_modifier.c +++ b/source/blender/editors/object/object_modifier.c @@ -53,6 +53,7 @@ #include "BKE_effect.h" #include "BKE_global.h" #include "BKE_gpencil_modifier.h" +#include "BKE_hair.h" #include "BKE_key.h" #include "BKE_lattice.h" #include "BKE_lib_id.h" @@ -67,9 +68,11 @@ #include "BKE_ocean.h" #include "BKE_paint.h" #include "BKE_particle.h" +#include "BKE_pointcloud.h" #include "BKE_report.h" #include "BKE_scene.h" #include "BKE_softbody.h" +#include "BKE_volume.h" #include "DEG_depsgraph.h" #include "DEG_depsgraph_build.h" @@ -114,6 +117,15 @@ static void object_force_modifier_update_for_bind(Depsgraph *depsgraph, Object * else if (ob->type == OB_GPENCIL) { BKE_gpencil_modifiers_calc(depsgraph, scene_eval, ob_eval); } + else if (ob->type == OB_HAIR) { + BKE_hair_data_update(depsgraph, scene_eval, ob); + } + else if (ob->type == OB_POINTCLOUD) { + BKE_pointcloud_data_update(depsgraph, scene_eval, ob); + } + else if (ob->type == OB_VOLUME) { + BKE_volume_data_update(depsgraph, scene_eval, ob); + } } static void object_force_modifier_bind_simple_options(Depsgraph *depsgraph, @@ -654,6 +666,7 @@ static int modifier_apply_shape(Main *bmain, BKE_id_free(NULL, mesh_applied); } else { + /* TODO: implement for hair, pointclouds and volumes. */ BKE_report(reports, RPT_ERROR, "Cannot apply modifier for this object type"); return 0; } @@ -732,6 +745,7 @@ static int modifier_apply_obdata( DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY); } else { + /* TODO: implement for hair, pointclouds and volumes. */ BKE_report(reports, RPT_ERROR, "Cannot apply modifier for this object type"); return 0; } |