Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2010-06-06 19:22:27 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2010-06-06 19:22:27 +0400
commit640fb84bed74e5b63e3e3186a4239cccd021cb05 (patch)
treef045ee34c55afe37659b8bc4891020a8b7d75bff /source/blender/editors/object/object_modifier.c
parentd153c765bcfcdda8686e42dd044e63e832974709 (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.c11
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;
}