Commit: ecaab96e0bd615eb69895f9adc6d186bb2fece0d Author: Jeroen Bakker Date: Thu Sep 8 22:32:40 2022 +0200 Branches: temp-T73411-add-scene-parameters https://developer.blender.org/rBecaab96e0bd615eb69895f9adc6d186bb2fece0d
WIP: Adding const Scene* to many areas. =================================================================== M source/blender/blenkernel/BKE_collection.h M source/blender/blenkernel/BKE_collision.h M source/blender/blenkernel/BKE_effect.h M source/blender/blenkernel/BKE_layer.h M source/blender/blenkernel/BKE_object.h M source/blender/blenkernel/BKE_scene.h M source/blender/blenkernel/intern/blender_copybuffer.c M source/blender/blenkernel/intern/collection.c M source/blender/blenkernel/intern/collision.c M source/blender/blenkernel/intern/effect.c M source/blender/blenkernel/intern/layer.c M source/blender/blenkernel/intern/layer_utils.c M source/blender/blenkernel/intern/object.cc M source/blender/draw/engines/overlay/overlay_edit_uv.c M source/blender/draw/intern/draw_manager.c M source/blender/editors/animation/anim_markers.c M source/blender/editors/armature/armature_add.c M source/blender/editors/armature/armature_edit.c M source/blender/editors/armature/armature_naming.c M source/blender/editors/armature/armature_relations.c M source/blender/editors/armature/armature_select.c M source/blender/editors/armature/editarmature_undo.c M source/blender/editors/armature/pose_edit.c M source/blender/editors/armature/pose_select.c M source/blender/editors/armature/pose_slide.c M source/blender/editors/armature/pose_transform.c M source/blender/editors/armature/pose_utils.c M source/blender/editors/curve/editcurve.c M source/blender/editors/curve/editcurve_query.c M source/blender/editors/curve/editcurve_select.c M source/blender/editors/curve/editcurve_undo.c M source/blender/editors/curve/editfont.c M source/blender/editors/curves/intern/curves_ops.cc M source/blender/editors/gpencil/gpencil_mesh.cc M source/blender/editors/gpencil/gpencil_ops_versioning.c M source/blender/editors/gpencil/gpencil_trace_ops.c M source/blender/editors/include/ED_armature.h M source/blender/editors/include/ED_object.h M source/blender/editors/include/ED_transform.h M source/blender/editors/include/ED_undo.h M source/blender/editors/interface/interface_ops.cc M source/blender/editors/lattice/editlattice_select.c M source/blender/editors/lattice/editlattice_tools.c M source/blender/editors/lattice/editlattice_undo.c M source/blender/editors/mesh/editmesh_bevel.c M source/blender/editors/mesh/editmesh_bisect.c M source/blender/editors/mesh/editmesh_extrude.c M source/blender/editors/mesh/editmesh_extrude_screw.c M source/blender/editors/mesh/editmesh_extrude_spin.c M source/blender/editors/mesh/editmesh_inset.c M source/blender/editors/mesh/editmesh_intersect.c M source/blender/editors/mesh/editmesh_knife.c M source/blender/editors/mesh/editmesh_knife_project.c M source/blender/editors/mesh/editmesh_loopcut.c M source/blender/editors/mesh/editmesh_path.c M source/blender/editors/mesh/editmesh_polybuild.c M source/blender/editors/mesh/editmesh_rip.c M source/blender/editors/mesh/editmesh_rip_edge.c M source/blender/editors/mesh/editmesh_select.c M source/blender/editors/mesh/editmesh_select_similar.c M source/blender/editors/mesh/editmesh_tools.c M source/blender/editors/mesh/editmesh_undo.c M source/blender/editors/mesh/editmesh_utils.c M source/blender/editors/mesh/mesh_intern.h M source/blender/editors/metaball/editmball_undo.c M source/blender/editors/metaball/mball_edit.c M source/blender/editors/object/object_add.cc M source/blender/editors/object/object_constraint.c M source/blender/editors/object/object_edit.c M source/blender/editors/object/object_hook.c M source/blender/editors/object/object_modes.c M source/blender/editors/object/object_modifier.cc M source/blender/editors/object/object_random.c M source/blender/editors/object/object_relations.c M source/blender/editors/object/object_select.c M source/blender/editors/object/object_transform.cc M source/blender/editors/object/object_utils.c M source/blender/editors/render/render_preview.cc M source/blender/editors/screen/area.c M source/blender/editors/screen/screen_context.c M source/blender/editors/screen/screen_edit.c M source/blender/editors/space_image/image_ops.c M source/blender/editors/space_info/info_stats.cc M source/blender/editors/space_outliner/outliner_collections.cc M source/blender/editors/space_outliner/outliner_select.cc M source/blender/editors/space_view3d/space_view3d.c M source/blender/editors/space_view3d/view3d_gizmo_preselect_type.c M source/blender/editors/space_view3d/view3d_navigate.c M source/blender/editors/space_view3d/view3d_select.cc M source/blender/editors/space_view3d/view3d_snap.c M source/blender/editors/space_view3d/view3d_view.c M source/blender/editors/transform/transform_convert.c M source/blender/editors/transform/transform_convert_object.c M source/blender/editors/transform/transform_gizmo_2d.c M source/blender/editors/transform/transform_gizmo_3d.c M source/blender/editors/transform/transform_orientations.c M source/blender/editors/transform/transform_orientations.h M source/blender/editors/transform/transform_snap.c M source/blender/editors/undo/ed_undo.c M source/blender/editors/uvedit/uvedit_buttons.c M source/blender/editors/uvedit/uvedit_ops.c M source/blender/editors/uvedit/uvedit_path.c M source/blender/editors/uvedit/uvedit_rip.c M source/blender/editors/uvedit/uvedit_select.c M source/blender/editors/uvedit/uvedit_smart_stitch.c M source/blender/editors/uvedit/uvedit_unwrap_ops.c M source/blender/io/alembic/intern/alembic_capi.cc M source/blender/io/collada/BlenderContext.cpp M source/blender/io/collada/BlenderContext.h M source/blender/io/collada/DocumentImporter.cpp M source/blender/io/collada/ExportSettings.h M source/blender/io/collada/SceneExporter.cpp M source/blender/io/collada/collada.cpp M source/blender/io/stl/importer/stl_import.cc M source/blender/io/usd/intern/usd_capi_import.cc M source/blender/io/wavefront_obj/importer/obj_importer.cc M source/blender/makesrna/intern/rna_layer.c M source/blender/render/intern/pipeline.cc M source/blender/windowmanager/WM_toolsystem.h M source/blender/windowmanager/intern/wm_draw.c M source/blender/windowmanager/intern/wm_event_system.cc M source/blender/windowmanager/intern/wm_files_link.c M source/blender/windowmanager/intern/wm_operator_utils.c M source/blender/windowmanager/intern/wm_toolsystem.c =================================================================== diff --git a/source/blender/blenkernel/BKE_collection.h b/source/blender/blenkernel/BKE_collection.h index 4346c2a3d23..dd7866d83e5 100644 --- a/source/blender/blenkernel/BKE_collection.h +++ b/source/blender/blenkernel/BKE_collection.h @@ -216,7 +216,8 @@ struct ListBase BKE_collection_object_cache_get(struct Collection *collection); ListBase BKE_collection_object_cache_instanced_get(struct Collection *collection); void BKE_collection_object_cache_free(struct Collection *collection); -struct Base *BKE_collection_or_layer_objects(const struct ViewLayer *view_layer, +struct Base *BKE_collection_or_layer_objects(const struct Scene *scene, + struct ViewLayer *view_layer, struct Collection *collection); /* Editing. */ @@ -239,7 +240,8 @@ const char *BKE_collection_ui_name_get(struct Collection *collection); * Select all the objects in this Collection (and its nested collections) for this ViewLayer. * Return true if any object was selected. */ -bool BKE_collection_objects_select(struct ViewLayer *view_layer, +bool BKE_collection_objects_select(const struct Scene *scene, + struct ViewLayer *view_layer, struct Collection *collection, bool deselect); diff --git a/source/blender/blenkernel/BKE_collision.h b/source/blender/blenkernel/BKE_collision.h index b93babaaefa..291d76df4c8 100644 --- a/source/blender/blenkernel/BKE_collision.h +++ b/source/blender/blenkernel/BKE_collision.h @@ -17,6 +17,7 @@ struct Depsgraph; struct MVert; struct MVertTri; struct Object; +struct Scene; //////////////////////////////////////// // used for collisions in collision.c diff --git a/source/blender/blenkernel/BKE_effect.h b/source/blender/blenkernel/BKE_effect.h index 113f9ac3b4c..3226455a183 100644 --- a/source/blender/blenkernel/BKE_effect.h +++ b/source/blender/blenkernel/BKE_effect.h @@ -103,6 +103,7 @@ void BKE_partdeflect_free(struct PartDeflect *pd); * lookup of effectors during evaluation. */ struct ListBase *BKE_effector_relations_create(struct Depsgraph *depsgraph, + const struct Scene *scene, struct ViewLayer *view_layer, struct Collection *collection); void BKE_effector_relations_free(struct ListBase *lb); diff --git a/source/blender/blenkernel/BKE_layer.h b/source/blender/blenkernel/BKE_layer.h index 8bc89c56450..4fd7868afeb 100644 --- a/source/blender/blenkernel/BKE_layer.h +++ b/source/blender/blenkernel/BKE_layer.h @@ -78,7 +78,9 @@ void BKE_view_layer_free_ex(struct ViewLayer *view_layer, bool do_id_user); /** * Tag all the selected objects of a render-layer. */ -void BKE_view_layer_selected_objects_tag(struct ViewLayer *view_layer, int tag); +void BKE_view_layer_selected_objects_tag(const struct Scene *scene, + struct ViewLayer *view_layer, + int tag); /** * Fallback for when a Scene has no camera to use. @@ -87,14 +89,14 @@ void BKE_view_layer_selected_objects_tag(struct ViewLayer *view_layer, int tag); * If rendering you pass the scene active layer, when viewing in the viewport * you want to get #ViewLayer from context. */ -struct Object *BKE_view_layer_camera_find(struct ViewLayer *view_layer); +struct Object *BKE_view_layer_camera_find(const struct Scene *scene, struct ViewLayer *view_layer); /** * Find the #ViewLayer a #LayerCollection belongs to. */ struct ViewLayer *BKE_view_layer_find_from_collection(const struct Scene *scene, struct LayerCollection *lc); struct Base *BKE_view_layer_base_find(struct ViewLayer *view_layer, struct Object *ob); -void BKE_view_layer_base_deselect_all(struct ViewLayer *view_layer); +void BKE_view_layer_base_deselect_all(const struct Scene *scene, struct ViewLayer *view_layer); void BKE_view_layer_base_select_and_set_active(struct ViewLayer *view_layer, struct Base *selbase); @@ -161,7 +163,9 @@ void BKE_scene_collection_sync(const struct Scene *scene); * and on file loaded in case linked data changed or went missing. */ void BKE_layer_collection_sync(const struct Scene *scene, struct ViewLayer *view_layer); -void BKE_layer_collection_local_sync(struct ViewLayer *view_layer, const struct View3D *v3d); +void BKE_layer_collection_local_sync(const struct Scene *scene, + struct ViewLayer *view_layer, + const struct View3D *v3d); /** * Sync the local collection for all the 3D Viewports. */ @@ -192,10 +196,12 @@ bool BKE_scene_has_object(struct Scene *scene, struct Object *ob); * It also select the objects that are in nested collections. * \note Recursive. */ -bool BKE_layer_collection_objects_select(struct ViewLayer *view_layer, +bool BKE_layer_collection_objects_select(const struct Scene *scene, + struct ViewLayer *view_layer, struct LayerCollection *lc, bool deselect); -bool BKE_layer_collection_has_selected_objects(struct ViewLayer *view_layer, +bool BKE_layer_collection_has_selected_objects(const struct Scene *scene, + struct ViewLayer *view_layer, struct LayerCollection *lc); bool BKE_layer_collection_has_layer_collection(struct LayerCollection *lc_parent, struct LayerCollection *lc_child); @@ -226,7 +232,8 @@ void BKE_layer_collection_isolate_global(struct Scene *scene, * * Same as #BKE_layer_collection_isolate_local but for a viewport */ -void BKE_layer_collection_isolate_local(struct ViewLayer *view_layer, +void BKE_layer_collection_isolate_local(const struct Scene *scene, + struct ViewLayer *view_layer, const struct View3D *v3d, struct LayerCollection *lc, bool extend); @@ -235,7 +242,8 @@ void BKE_layer_collection_isolate_local(struct ViewLayer *view_layer, * Don't change the collection children enable/disable state, * but it may change it for the collection itself. */ -void BKE_layer_collection_set_visible(struct ViewLayer *view_layer, +void BKE_layer_collection_set_visible(const struct Scene *scene, + struct ViewLayer *view_layer, struct LayerCollection *lc, bool visible, bool hierarchy); @@ -256,7 +264,9 @@ void BKE_layer_eval_view_layer_indexed(struct Depsgraph *depsgraph, /* .blend file I/O */ -void BKE_view_layer_blend_write(struct BlendWriter *writer, struct ViewLayer *view_layer); +void BKE_view_layer_blend_write(struct BlendWriter *writer, + const struct Scene *scene, + struct ViewLayer *view_layer); void BKE_view_layer_blend_read_data(struct BlendDataReader *reader, struct ViewLayer *view_layer); void BKE_view_layer_blend_read_lib(struct BlendLibReader *reader, struct Library *lib, @@ -352,7 +362,8 @@ void BKE_view_layer_visible_bases_iterator_end(BLI_Iterator *iter); } \ ((void)0) -#define FOREACH_BASE_IN_MODE_BEGIN(_view_layer, _v3d, _object_type, _object_mode, _instance) \ +#define FOREACH_BASE_IN_MODE_BEGIN( \ + _scene, _view_layer, _v3d, _object_type, _object_mode, _instance) \ { \ struct ObjectsInModeIteratorData data_; \ memset(&data_, 0, sizeof(data_)); \ @@ -360,6 +371,7 @@ void BKE_view_layer_visible_bases_iterator_end(BLI_Iterator *iter); data_.object_type = _object_type; \ data_.view_layer = _view_layer; \ data_.v3d = _v3d; \ + UNUSED_VARS(_scene); \ data_.base_active = _view_layer->basact; \ ITER_BEGIN (BKE_view_layer_bases_in_mode_iterator_begin, \ BKE_view_layer_bases_in_mode_iterator_next, \ @@ -373,21 +385,22 @@ void BKE_view_layer_visible_bases_iterator_end(BLI_Iterator *iter); } \ ((void)0) -#define FOREACH_BASE_IN_EDIT_MODE_BEGIN(_view_layer, _v3d, _instance) \ - FOREACH_BASE_IN_MODE_BEGIN (_view_layer, _v3d, -1, OB_MODE_EDIT, _instance) +#define FOREACH_BASE_IN_EDIT_MODE_BEGIN(_scene, _view_layer, _v3d, _instance) \ + FOREACH_BASE_IN_MODE_BEGIN (_scene, _view_layer, _v3d, -1, OB_MODE_EDIT, _instance) #define FOREACH_BASE_IN_EDIT_MODE_END FOREACH_BASE_IN_MODE_END -#define FOREACH_OBJECT_IN_MODE_BEGIN(_view_layer, _v3d, _object_type, _object_mode, _instance) \ - FOREACH_BASE_IN_MODE_BEGIN (_view_layer, _v3d, _object_type, _object_mode, _base) { \ +#define FOREACH_OBJECT_IN_MODE_BEGIN( \ + _scene, _view_layer, _v3d, _object_type, _object_mode, _instance) \ + FOREACH_BASE_IN_MODE_BEGIN (_scene, _view_layer, _v3d, _object_type, _object_mode, _base) { \ Object *_instance = _base->object; #define FOREACH_OBJECT_IN_MODE_END \ } \ FOREACH_BASE_IN_MODE_END -#define FOREACH_OBJECT_IN_EDIT_MODE_BEGIN(_view_layer, _v3d, _instance) \ - FOREACH_BASE_IN_EDIT_MODE_BEGIN (_view_layer, _v3d, _base) { \ +#define FOREACH_OBJECT_IN_EDIT_MODE_BEGIN(_scene, _view_layer, _v3d, _instance) \ + FOREACH_BASE_IN_EDIT_MODE_BEGIN (_scene, _view_layer, _v3d, _base) { \ Object *_instance = _base->object; #define FOREACH_OBJECT_IN_EDIT_MODE_END \ @@ -404,7 +417,7 @@ void BKE_view_layer_visible_bases_iterator_end(BLI_Iterator *iter); #define FOREACH_SELECTED_BASE_END ITER_END -#define FOREACH_VISIBLE_BASE_BEGIN(_view_layer, _v3d, _instance) \ +#define FOREACH_VISIBLE_BASE_BEGIN(_scene, _view_layer, _v3d, _instance) \ { \ struct ObjectsVisibleIteratorData data_ = {NULL}; \ data_.view_layer = _view_layer; \ @@ -421,10 +434,11 @@ void BKE_view_layer_visible_bases_iterator_end(BLI_Iterator *iter); @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs