diff --git a/source/blender/blenkernel/BKE_multires.hh b/source/blender/blenkernel/BKE_multires.hh index 85507c62da7..1cd931f36b9 100644 --- a/source/blender/blenkernel/BKE_multires.hh +++ b/source/blender/blenkernel/BKE_multires.hh @@ -100,7 +100,7 @@ int multiresModifier_rebuild_subdiv(Depsgraph *depsgraph, * synchronize them such that `ob_dst` has the same total number of levels as `ob_src`. */ void multiresModifier_sync_levels_ex(Object *ob_dst, - MultiresModifierData *mmd_src, + const MultiresModifierData *mmd_src, MultiresModifierData *mmd_dst); void multires_stitch_grids(Object *); diff --git a/source/blender/blenkernel/BKE_object.hh b/source/blender/blenkernel/BKE_object.hh index c84e9b9353e..fdb4ce495f3 100644 --- a/source/blender/blenkernel/BKE_object.hh +++ b/source/blender/blenkernel/BKE_object.hh @@ -106,7 +106,7 @@ ModifierData *BKE_object_active_modifier(const Object *ob); * more than once, this function should preferably be called in stack order. */ bool BKE_object_copy_modifier( - Main *bmain, Scene *scene, Object *ob_dst, const Object *ob_src, ModifierData *md); + Main *bmain, const Scene *scene, Object *ob_dst, const Object *ob_src, const ModifierData *md); /** * Copy a single GPencil modifier. * diff --git a/source/blender/blenkernel/BKE_particle.h b/source/blender/blenkernel/BKE_particle.h index 15b353aeab6..eb6f228a2af 100644 --- a/source/blender/blenkernel/BKE_particle.h +++ b/source/blender/blenkernel/BKE_particle.h @@ -365,11 +365,11 @@ struct ParticleSystemModifierData *psys_get_modifier(struct Object *ob, struct ParticleSystem *psys); struct ModifierData *object_add_particle_system(struct Main *bmain, - struct Scene *scene, + const struct Scene *scene, struct Object *ob, const char *name); struct ModifierData *object_copy_particle_system(struct Main *bmain, - struct Scene *scene, + const struct Scene *scene, struct Object *ob, const struct ParticleSystem *psys_orig); void object_remove_particle_system(struct Main *bmain, diff --git a/source/blender/blenkernel/intern/multires.cc b/source/blender/blenkernel/intern/multires.cc index c03ea4a408f..10d804091b3 100644 --- a/source/blender/blenkernel/intern/multires.cc +++ b/source/blender/blenkernel/intern/multires.cc @@ -1337,7 +1337,7 @@ void old_mdisps_bilinear(float out[3], float (*disps)[3], const int st, float u, } void multiresModifier_sync_levels_ex(Object *ob_dst, - MultiresModifierData *mmd_src, + const MultiresModifierData *mmd_src, MultiresModifierData *mmd_dst) { if (mmd_src->totlvl == mmd_dst->totlvl) { diff --git a/source/blender/blenkernel/intern/object.cc b/source/blender/blenkernel/intern/object.cc index 215c158c70a..9dc7d91281e 100644 --- a/source/blender/blenkernel/intern/object.cc +++ b/source/blender/blenkernel/intern/object.cc @@ -1308,7 +1308,7 @@ static bool object_modifier_type_copy_check(ModifierType md_type) * using its particle system in the stack. */ static ParticleSystem *object_copy_modifier_particle_system_ensure(Main *bmain, - Scene *scene, + const Scene *scene, Object *ob_dst, ParticleSystem *psys_src) { @@ -1332,8 +1332,11 @@ static ParticleSystem *object_copy_modifier_particle_system_ensure(Main *bmain, return psys_dst; } -bool BKE_object_copy_modifier( - Main *bmain, Scene *scene, Object *ob_dst, const Object *ob_src, ModifierData *md_src) +bool BKE_object_copy_modifier(Main *bmain, + const Scene *scene, + Object *ob_dst, + const Object *ob_src, + const ModifierData *md_src) { BLI_assert(ob_dst->type != OB_GPENCIL_LEGACY); @@ -1363,7 +1366,7 @@ bool BKE_object_copy_modifier( BKE_mesh_ensure_skin_customdata((Mesh *)ob_dst->data); break; case eModifierType_Fluid: { - FluidModifierData *fmd = (FluidModifierData *)md_src; + const FluidModifierData *fmd = (const FluidModifierData *)md_src; if (fmd->type == MOD_FLUID_TYPE_FLOW) { if (fmd->flow != nullptr && fmd->flow->psys != nullptr) { psys_src = fmd->flow->psys; @@ -1373,7 +1376,7 @@ bool BKE_object_copy_modifier( break; } case eModifierType_DynamicPaint: { - DynamicPaintModifierData *dpmd = (DynamicPaintModifierData *)md_src; + const DynamicPaintModifierData *dpmd = (const DynamicPaintModifierData *)md_src; if (dpmd->brush != nullptr && dpmd->brush->psys != nullptr) { psys_src = dpmd->brush->psys; psys_dst = object_copy_modifier_particle_system_ensure(bmain, scene, ob_dst, psys_src); @@ -1387,7 +1390,7 @@ bool BKE_object_copy_modifier( ModifierData *md_dst; if (md_src->type == eModifierType_ParticleSystem) { md_dst = object_copy_particle_system( - bmain, scene, ob_dst, ((ParticleSystemModifierData *)md_src)->psys); + bmain, scene, ob_dst, ((const ParticleSystemModifierData *)md_src)->psys); } else { md_dst = BKE_modifier_new(md_src->type); @@ -1397,7 +1400,7 @@ bool BKE_object_copy_modifier( if (md_src->type == eModifierType_Multires) { /* Has to be done after mod creation, but *before* we actually copy its settings! */ multiresModifier_sync_levels_ex( - ob_dst, (MultiresModifierData *)md_src, (MultiresModifierData *)md_dst); + ob_dst, (const MultiresModifierData *)md_src, (MultiresModifierData *)md_dst); } BKE_modifier_copydata(md_src, md_dst); diff --git a/source/blender/blenkernel/intern/particle.cc b/source/blender/blenkernel/intern/particle.cc index 53958e2e3cb..1e475deee13 100644 --- a/source/blender/blenkernel/intern/particle.cc +++ b/source/blender/blenkernel/intern/particle.cc @@ -3919,7 +3919,7 @@ void psys_mat_hair_to_global( /************************************************/ static ModifierData *object_add_or_copy_particle_system( - Main *bmain, Scene *scene, Object *ob, const char *name, const ParticleSystem *psys_orig) + Main *bmain, const Scene *scene, Object *ob, const char *name, const ParticleSystem *psys_orig) { ParticleSystem *psys; ModifierData *md; @@ -3972,13 +3972,16 @@ static ModifierData *object_add_or_copy_particle_system( return md; } -ModifierData *object_add_particle_system(Main *bmain, Scene *scene, Object *ob, const char *name) +ModifierData *object_add_particle_system(Main *bmain, + const Scene *scene, + Object *ob, + const char *name) { return object_add_or_copy_particle_system(bmain, scene, ob, name, nullptr); } ModifierData *object_copy_particle_system(Main *bmain, - Scene *scene, + const Scene *scene, Object *ob, const ParticleSystem *psys_orig) {