diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2010-06-06 19:22:27 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2010-06-06 19:22:27 +0400 |
commit | 640fb84bed74e5b63e3e3186a4239cccd021cb05 (patch) | |
tree | f045ee34c55afe37659b8bc4891020a8b7d75bff /source/blender/editors/object/object_modifier.c | |
parent | d153c765bcfcdda8686e42dd044e63e832974709 (diff) |
- Added checking if modifier is active in find_multires_modifier
- Pass MultiresModifierData to reshape functions
Diffstat (limited to 'source/blender/editors/object/object_modifier.c')
-rw-r--r-- | source/blender/editors/object/object_modifier.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c index 3c5928d86c2..697373ea923 100644 --- a/source/blender/editors/object/object_modifier.c +++ b/source/blender/editors/object/object_modifier.c @@ -399,7 +399,7 @@ static int modifier_apply_obdata(ReportList *reports, Scene *scene, Object *ob, if (ob->type==OB_MESH) { DerivedMesh *dm; Mesh *me = ob->data; - MultiresModifierData *mmd= find_multires_modifier(ob); + MultiresModifierData *mmd= find_multires_modifier(scene, ob); if( me->key) { BKE_report(reports, RPT_ERROR, "Modifier cannot be applied to Mesh with Shape Keys"); @@ -413,7 +413,7 @@ static int modifier_apply_obdata(ReportList *reports, Scene *scene, Object *ob, multires_force_update(ob); if (mmd && mti->type==eModifierTypeType_OnlyDeform) { - multiresModifier_reshapeFromDeformMod (ob, md); + multiresModifier_reshapeFromDeformMod (scene, mmd, ob, md); } else { dm = mesh_create_derived_for_modifier(scene, ob, md); if (!dm) { @@ -954,6 +954,7 @@ void OBJECT_OT_multires_subdivide(wmOperatorType *ot) static int multires_reshape_exec(bContext *C, wmOperator *op) { Object *ob= ED_object_active_context(C), *secondob= NULL; + Scene *scene= CTX_data_scene(C); MultiresModifierData *mmd = (MultiresModifierData *)edit_modifier_property_get(C, op, ob, eModifierType_Multires); if (!mmd) @@ -971,15 +972,15 @@ static int multires_reshape_exec(bContext *C, wmOperator *op) BKE_report(op->reports, RPT_ERROR, "Second selected mesh object require to copy shape from."); return OPERATOR_CANCELLED; } - - if(!multiresModifier_reshape(ob, secondob)) { + + if(!multiresModifier_reshape(scene, mmd, ob, secondob)) { BKE_report(op->reports, RPT_ERROR, "Objects do not have the same number of vertices."); return OPERATOR_CANCELLED; } DAG_id_flush_update(&ob->id, OB_RECALC_DATA); WM_event_add_notifier(C, NC_OBJECT|ND_MODIFIER, ob); - + return OPERATOR_FINISHED; } |