diff options
-rw-r--r-- | source/blender/alembic/intern/abc_exporter.cc | 8 | ||||
-rw-r--r-- | source/blender/alembic/intern/abc_mball.cc | 4 | ||||
-rw-r--r-- | source/blender/alembic/intern/abc_mball.h | 3 | ||||
-rw-r--r-- | source/blender/blenkernel/BKE_mball.h | 5 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/depsgraph.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/displist.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/mball.c | 6 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/mesh_convert.c | 2 | ||||
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_nodes.cc | 2 | ||||
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 2 | ||||
-rw-r--r-- | source/blender/editors/object/object_add.c | 6 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_meta.c | 2 | ||||
-rw-r--r-- | source/blender/render/intern/source/convertblender.c | 4 |
13 files changed, 24 insertions, 24 deletions
diff --git a/source/blender/alembic/intern/abc_exporter.cc b/source/blender/alembic/intern/abc_exporter.cc index 946b89213e6..2e882a491c3 100644 --- a/source/blender/alembic/intern/abc_exporter.cc +++ b/source/blender/alembic/intern/abc_exporter.cc @@ -111,7 +111,7 @@ static bool object_is_smoke_sim(Object *ob) return false; } -static bool object_type_is_exportable(Scene *scene, Object *ob) +static bool object_type_is_exportable(EvaluationContext *eval_ctx, Scene *scene, Object *ob) { switch (ob->type) { case OB_MESH: @@ -126,7 +126,7 @@ static bool object_type_is_exportable(Scene *scene, Object *ob) case OB_CAMERA: return true; case OB_MBALL: - return AbcMBallWriter::isBasisBall(scene, ob); + return AbcMBallWriter::isBasisBall(eval_ctx, scene, ob); default: return false; } @@ -386,7 +386,7 @@ void AbcExporter::exploreTransform(EvaluationContext *eval_ctx, Object *ob, Obje return; } - if (object_type_is_exportable(m_scene, ob)) { + if (object_type_is_exportable(eval_ctx, m_scene, ob)) { createTransformWriter(ob, parent, dupliObParent); } @@ -551,7 +551,7 @@ void AbcExporter::createParticleSystemsWriters(Object *ob, AbcTransformWriter *x void AbcExporter::createShapeWriter(Object *ob, Object *dupliObParent) { - if (!object_type_is_exportable(m_scene, ob)) { + if (!object_type_is_exportable(m_bmain->eval_ctx, m_scene, ob)) { return; } diff --git a/source/blender/alembic/intern/abc_mball.cc b/source/blender/alembic/intern/abc_mball.cc index 1ef7b757577..c5712daf499 100644 --- a/source/blender/alembic/intern/abc_mball.cc +++ b/source/blender/alembic/intern/abc_mball.cc @@ -115,8 +115,8 @@ void AbcMBallWriter::do_write() m_mesh_ob->data = NULL; } -bool AbcMBallWriter::isBasisBall(Scene *scene, Object *ob) +bool AbcMBallWriter::isBasisBall(EvaluationContext *eval_ctx, Scene *scene, Object *ob) { - Object *basis_ob = BKE_mball_basis_find(scene, ob); + Object *basis_ob = BKE_mball_basis_find(eval_ctx, scene, ob); return ob == basis_ob; } diff --git a/source/blender/alembic/intern/abc_mball.h b/source/blender/alembic/intern/abc_mball.h index 9b943698416..9a74006f839 100644 --- a/source/blender/alembic/intern/abc_mball.h +++ b/source/blender/alembic/intern/abc_mball.h @@ -26,6 +26,7 @@ #include "abc_object.h" class AbcMeshWriter; +struct EvaluationContext; struct Main; struct MetaBall; struct Object; @@ -50,7 +51,7 @@ public: ~AbcMBallWriter(); - static bool isBasisBall(Scene *scene, Object *ob); + static bool isBasisBall(EvaluationContext *eval_ctx, Scene *scene, Object *ob); private: virtual void do_write(); diff --git a/source/blender/blenkernel/BKE_mball.h b/source/blender/blenkernel/BKE_mball.h index f02704ba903..c73dd7260c4 100644 --- a/source/blender/blenkernel/BKE_mball.h +++ b/source/blender/blenkernel/BKE_mball.h @@ -32,6 +32,7 @@ * \since March 2001 * \author nzc */ +struct EvaluationContext; struct Main; struct MetaBall; struct Object; @@ -48,12 +49,12 @@ void BKE_mball_make_local(struct Main *bmain, struct MetaBall *mb, const bool li bool BKE_mball_is_basis_for(struct Object *ob1, struct Object *ob2); bool BKE_mball_is_basis(struct Object *ob); -struct Object *BKE_mball_basis_find(struct Scene *scene, struct Object *ob); +struct Object *BKE_mball_basis_find(struct EvaluationContext *eval_ctx, struct Scene *scene, struct Object *ob); void BKE_mball_texspace_calc(struct Object *ob); float *BKE_mball_make_orco(struct Object *ob, struct ListBase *dispbase); -void BKE_mball_properties_copy(struct Scene *scene, struct Object *active_object); +void BKE_mball_properties_copy(struct EvaluationContext *eval_ctx, struct Scene *scene, struct Object *active_object); bool BKE_mball_minmax(struct MetaBall *mb, float min[3], float max[3]); bool BKE_mball_minmax_ex(struct MetaBall *mb, float min[3], float max[3], diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index c29dc6c9311..80275324da6 100644 --- a/source/blender/blenkernel/intern/depsgraph.c +++ b/source/blender/blenkernel/intern/depsgraph.c @@ -740,7 +740,7 @@ static void build_dag_object(DagForest *dag, DagNode *scenenode, Scene *scene, O } case OB_MBALL: { - Object *mom = BKE_mball_basis_find(scene, ob); + Object *mom = BKE_mball_basis_find(G.main->eval_ctx, scene, ob); if (mom != ob) { node2 = dag_get_node(dag, mom); diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index 8433634f749..00e319efb7a 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -731,7 +731,7 @@ void BKE_displist_make_mball(EvaluationContext *eval_ctx, Scene *scene, Object * if (!ob || ob->type != OB_MBALL) return; - if (ob == BKE_mball_basis_find(scene, ob)) { + if (ob == BKE_mball_basis_find(eval_ctx, scene, ob)) { if (ob->curve_cache) { BKE_displist_free(&(ob->curve_cache->disp)); } diff --git a/source/blender/blenkernel/intern/mball.c b/source/blender/blenkernel/intern/mball.c index dfc49c996b1..3609fde7711 100644 --- a/source/blender/blenkernel/intern/mball.c +++ b/source/blender/blenkernel/intern/mball.c @@ -316,7 +316,7 @@ bool BKE_mball_is_basis_for(Object *ob1, Object *ob2) * are copied to all metaballs in same "group" (metaballs with same base name: MBall, * MBall.001, MBall.002, etc). The most important is to copy properties to the base metaball, * because this metaball influence polygonisation of metaballs. */ -void BKE_mball_properties_copy(Scene *scene, Object *active_object) +void BKE_mball_properties_copy(EvaluationContext *eval_ctx, Scene *scene, Object *active_object) { Scene *sce_iter = scene; Base *base; @@ -325,7 +325,6 @@ void BKE_mball_properties_copy(Scene *scene, Object *active_object) int basisnr, obnr; char basisname[MAX_ID_NAME], obname[MAX_ID_NAME]; SceneBaseIter iter; - EvaluationContext *eval_ctx = G.main->eval_ctx; BLI_split_name_num(basisname, &basisnr, active_object->id.name + 2, '.'); @@ -360,7 +359,7 @@ void BKE_mball_properties_copy(Scene *scene, Object *active_object) * * warning!, is_basis_mball() can fail on returned object, see long note above. */ -Object *BKE_mball_basis_find(Scene *scene, Object *basis) +Object *BKE_mball_basis_find(EvaluationContext *eval_ctx, Scene *scene, Object *basis) { Scene *sce_iter = scene; Base *base; @@ -368,7 +367,6 @@ Object *BKE_mball_basis_find(Scene *scene, Object *basis) int basisnr, obnr; char basisname[MAX_ID_NAME], obname[MAX_ID_NAME]; SceneBaseIter iter; - EvaluationContext *eval_ctx = G.main->eval_ctx; BLI_split_name_num(basisname, &basisnr, basis->id.name + 2, '.'); diff --git a/source/blender/blenkernel/intern/mesh_convert.c b/source/blender/blenkernel/intern/mesh_convert.c index 17071b6d7ea..81aeabd2f5c 100644 --- a/source/blender/blenkernel/intern/mesh_convert.c +++ b/source/blender/blenkernel/intern/mesh_convert.c @@ -876,7 +876,7 @@ Mesh *BKE_mesh_new_from_object( case OB_MBALL: { /* metaballs don't have modifiers, so just convert to mesh */ - Object *basis_ob = BKE_mball_basis_find(sce, ob); + Object *basis_ob = BKE_mball_basis_find(bmain->eval_ctx, sce, ob); /* todo, re-generatre for render-res */ /* metaball_polygonize(scene, ob) */ diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index 3a4ca7515a3..c646d7c20ff 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -838,7 +838,7 @@ void DepsgraphNodeBuilder::build_obdata_geom(Object *object) case OB_MBALL: { - Object *mom = BKE_mball_basis_find(scene_, object); + Object *mom = BKE_mball_basis_find(bmain_->eval_ctx, scene_, object); /* NOTE: Only the motherball gets evaluated, it's children are * having empty placeholders for the correct relations being built. */ diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index 2d1e1f289ea..3628eede210 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -1612,7 +1612,7 @@ void DepsgraphRelationBuilder::build_obdata_geom(Object *object) case OB_MBALL: { - Object *mom = BKE_mball_basis_find(scene_, object); + Object *mom = BKE_mball_basis_find(bmain_->eval_ctx, scene_, object); ComponentKey mom_geom_key(&mom->id, DEG_NODE_TYPE_GEOMETRY); /* motherball - mom depends on children! */ if (mom == object) { diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c index 5d5d1190775..38f09570aca 100644 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@ -1648,7 +1648,7 @@ static int convert_exec(bContext *C, wmOperator *op) if (ob->type == OB_MBALL && target == OB_MESH) { if (BKE_mball_is_basis(ob) == false) { Object *ob_basis; - ob_basis = BKE_mball_basis_find(scene, ob); + ob_basis = BKE_mball_basis_find(bmain->eval_ctx, scene, ob); if (ob_basis) { ob_basis->flag &= ~OB_DONE; } @@ -1862,7 +1862,7 @@ static int convert_exec(bContext *C, wmOperator *op) base->flag &= ~SELECT; ob->flag &= ~SELECT; - baseob = BKE_mball_basis_find(scene, ob); + baseob = BKE_mball_basis_find(bmain->eval_ctx, scene, ob); if (ob != baseob) { /* if motherball is converting it would be marked as done later */ @@ -1933,7 +1933,7 @@ static int convert_exec(bContext *C, wmOperator *op) if (ob->flag & OB_DONE) { Object *ob_basis = NULL; if (BKE_mball_is_basis(ob) || - ((ob_basis = BKE_mball_basis_find(scene, ob)) && (ob_basis->flag & OB_DONE))) + ((ob_basis = BKE_mball_basis_find(bmain->eval_ctx, scene, ob)) && (ob_basis->flag & OB_DONE))) { ED_base_object_free_and_unlink(bmain, scene, base); } diff --git a/source/blender/makesrna/intern/rna_meta.c b/source/blender/makesrna/intern/rna_meta.c index 1a45db1e45f..a2d35702cc3 100644 --- a/source/blender/makesrna/intern/rna_meta.c +++ b/source/blender/makesrna/intern/rna_meta.c @@ -101,7 +101,7 @@ static void rna_MetaBall_update_data(Main *bmain, Scene *scene, PointerRNA *ptr) if (mb->id.us > 0) { for (ob = bmain->object.first; ob; ob = ob->id.next) if (ob->data == mb) - BKE_mball_properties_copy(scene, ob); + BKE_mball_properties_copy(bmain->eval_ctx, scene, ob); DAG_id_tag_update(&mb->id, 0); WM_main_add_notifier(NC_GEOM | ND_DATA, mb); diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index 52cd5c3449e..0b68802decc 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -2184,7 +2184,7 @@ static void init_render_mball(Render *re, ObjectRen *obr) int a, need_orco, vlakindex, *index, negative_scale; ListBase dispbase= {NULL, NULL}; - if (ob!=BKE_mball_basis_find(re->scene, ob)) + if (ob!=BKE_mball_basis_find(re->eval_ctx, re->scene, ob)) return; mul_m4_m4m4(mat, re->viewmat, ob->obmat); @@ -4862,7 +4862,7 @@ static int allow_render_object(Render *re, Object *ob, int nolamps, int onlysele } /* don't add non-basic meta objects, ends up having renderobjects with no geometry */ - if (ob->type == OB_MBALL && ob!=BKE_mball_basis_find(re->scene, ob)) + if (ob->type == OB_MBALL && ob!=BKE_mball_basis_find(re->eval_ctx, re->scene, ob)) return 0; if (nolamps && (ob->type==OB_LAMP)) |