[Bf-blender-cvs] [74ba736fc4] render-layers: Update selected_editable_bases to use ObjectBase

Dalai Felinto noreply at git.blender.org
Tue Jan 17 15:34:21 CET 2017


Commit: 74ba736fc41893dc9e3bcb4b64239ce0ae05eae4
Author: Dalai Felinto
Date:   Tue Jan 17 15:33:46 2017 +0100
Branches: render-layers
https://developer.blender.org/rB74ba736fc41893dc9e3bcb4b64239ce0ae05eae4

Update selected_editable_bases to use ObjectBase

===================================================================

M	source/blender/blenkernel/BKE_group.h
M	source/blender/blenkernel/BKE_layer.h
M	source/blender/editors/armature/armature_relations.c
M	source/blender/editors/armature/editarmature_retarget.c
M	source/blender/editors/curve/editcurve.c
M	source/blender/editors/mesh/mesh_navmesh.c
M	source/blender/editors/mesh/meshtools.c
M	source/blender/editors/object/object_add.c
M	source/blender/editors/object/object_bake.c
M	source/blender/editors/object/object_group.c
M	source/blender/editors/object/object_relations.c
M	source/blender/editors/object/object_select.c
M	source/blender/editors/transform/transform_conversions.c

===================================================================

diff --git a/source/blender/blenkernel/BKE_group.h b/source/blender/blenkernel/BKE_group.h
index 9e58df3679..59dae4cf79 100644
--- a/source/blender/blenkernel/BKE_group.h
+++ b/source/blender/blenkernel/BKE_group.h
@@ -34,6 +34,7 @@
  */
 
 struct Base;
+struct ObjectBase;
 struct EvaluationContext;
 struct Group;
 struct Main;
diff --git a/source/blender/blenkernel/BKE_layer.h b/source/blender/blenkernel/BKE_layer.h
index 6563014a2b..e2fade2457 100644
--- a/source/blender/blenkernel/BKE_layer.h
+++ b/source/blender/blenkernel/BKE_layer.h
@@ -34,6 +34,7 @@ extern "C" {
 #endif
 
 #define TODO_LAYER_SYNC /* syncing of SceneCollection and LayerCollection trees*/
+#define TODO_LAYER_COPY
 #define TODO_LAYER_SYNC_FILTER /* syncing of filter_objects across all trees */
 #define TODO_LAYER_OVERRIDE /* CollectionOverride */
 #define TODO_LAYER_CONTEXT /* get/set current (context) SceneLayer */
diff --git a/source/blender/editors/armature/armature_relations.c b/source/blender/editors/armature/armature_relations.c
index 630aa58b68..ad53b4c478 100644
--- a/source/blender/editors/armature/armature_relations.c
+++ b/source/blender/editors/armature/armature_relations.c
@@ -269,7 +269,7 @@ int join_armature_exec(bContext *C, wmOperator *op)
 	if (!arm || arm->edbo)
 		return OPERATOR_CANCELLED;
 	
-	CTX_DATA_BEGIN(C, Base *, base, selected_editable_bases)
+	CTX_DATA_BEGIN(C, ObjectBase *, base, selected_editable_bases)
 	{
 		if (base->object == ob) {
 			ok = true;
@@ -291,7 +291,7 @@ int join_armature_exec(bContext *C, wmOperator *op)
 	pose = ob->pose;
 	ob->mode &= ~OB_MODE_POSE;
 
-	CTX_DATA_BEGIN(C, Base *, base, selected_editable_bases)
+	CTX_DATA_BEGIN(C, ObjectBase *, base, selected_editable_bases)
 	{
 		if ((base->object->type == OB_ARMATURE) && (base->object != ob)) {
 			tJoinArmature_AdtFixData afd = {NULL};
diff --git a/source/blender/editors/armature/editarmature_retarget.c b/source/blender/editors/armature/editarmature_retarget.c
index fa7bf6e7ad..a81f0f9d67 100644
--- a/source/blender/editors/armature/editarmature_retarget.c
+++ b/source/blender/editors/armature/editarmature_retarget.c
@@ -2518,7 +2518,7 @@ void BIF_retargetArmature(bContext *C)
 	
 	printf("Reeb Graph created\n");
 
-	CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
+	CTX_DATA_BEGIN (C, ObjectBase *, base, selected_editable_bases)
 	{
 		Object *ob = base->object;
 
diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c
index dcb8023664..448d6db510 100644
--- a/source/blender/editors/curve/editcurve.c
+++ b/source/blender/editors/curve/editcurve.c
@@ -5970,7 +5970,7 @@ int join_curve_exec(bContext *C, wmOperator *op)
 	int a;
 	bool ok = false;
 
-	CTX_DATA_BEGIN(C, Base *, base, selected_editable_bases)
+	CTX_DATA_BEGIN(C, ObjectBase *, base, selected_editable_bases)
 	{
 		if (base->object == ob) {
 			ok = true;
@@ -5990,7 +5990,7 @@ int join_curve_exec(bContext *C, wmOperator *op)
 	/* trasnform all selected curves inverse in obact */
 	invert_m4_m4(imat, ob->obmat);
 	
-	CTX_DATA_BEGIN(C, Base *, base, selected_editable_bases)
+	CTX_DATA_BEGIN(C, ObjectBase *, base, selected_editable_bases)
 	{
 		if (base->object->type == ob->type) {
 			if (base->object != ob) {
diff --git a/source/blender/editors/mesh/mesh_navmesh.c b/source/blender/editors/mesh/mesh_navmesh.c
index b95921964e..3910ef40fd 100644
--- a/source/blender/editors/mesh/mesh_navmesh.c
+++ b/source/blender/editors/mesh/mesh_navmesh.c
@@ -460,15 +460,15 @@ static Object *createRepresentation(bContext *C, struct recast_polyMesh *pmesh,
 
 static int navmesh_create_exec(bContext *C, wmOperator *op)
 {
-	Scene *scene = CTX_data_scene(C);
+	SceneLayer *sl = CTX_data_scene_layer(C);
 	LinkNode *obs = NULL;
 	Base *navmeshBase = NULL;
 
-	CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
+	CTX_DATA_BEGIN (C, ObjectBase *, base, selected_editable_bases)
 	{
 		if (base->object->type == OB_MESH) {
 			if (base->object->body_type == OB_BODY_TYPE_NAVMESH) {
-				if (!navmeshBase || base == scene->basact) {
+				if (!navmeshBase || base == sl->basact) {
 					navmeshBase = base;
 				}
 			}
diff --git a/source/blender/editors/mesh/meshtools.c b/source/blender/editors/mesh/meshtools.c
index a56e4fe4df..059626ac0d 100644
--- a/source/blender/editors/mesh/meshtools.c
+++ b/source/blender/editors/mesh/meshtools.c
@@ -109,7 +109,7 @@ int join_mesh_exec(bContext *C, wmOperator *op)
 	}
 	
 	/* count & check */
-	CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
+	CTX_DATA_BEGIN (C, ObjectBase *, base, selected_editable_bases)
 	{
 		if (base->object->type == OB_MESH) {
 			me = base->object->data;
@@ -188,7 +188,7 @@ int join_mesh_exec(bContext *C, wmOperator *op)
 	}
 	
 	/* first pass over objects - copying materials and vertexgroups across */
-	CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
+	CTX_DATA_BEGIN (C, ObjectBase *, base, selected_editable_bases)
 	{
 		/* only act if a mesh, and not the one we're joining to */
 		if ((ob != base->object) && (base->object->type == OB_MESH)) {
@@ -302,7 +302,7 @@ int join_mesh_exec(bContext *C, wmOperator *op)
 	/* inverse transform for all selected meshes in this object */
 	invert_m4_m4(imat, ob->obmat);
 	
-	CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
+	CTX_DATA_BEGIN (C, ObjectBase *, base, selected_editable_bases)
 	{
 		/* only join if this is a mesh */
 		if (base->object->type == OB_MESH) {
@@ -589,7 +589,7 @@ int join_mesh_shapes_exec(bContext *C, wmOperator *op)
 	KeyBlock *kb;
 	bool ok = false, nonequal_verts = false;
 	
-	CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
+	CTX_DATA_BEGIN (C, ObjectBase *, base, selected_editable_bases)
 	{
 		if (base->object == ob) continue;
 		
@@ -622,7 +622,7 @@ int join_mesh_shapes_exec(bContext *C, wmOperator *op)
 	}
 	
 	/* now ready to add new keys from selected meshes */
-	CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
+	CTX_DATA_BEGIN (C, ObjectBase *, base, selected_editable_bases)
 	{
 		if (base->object == ob) continue;
 		
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index c0c6855f64..130dfd0cdb 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -1490,6 +1490,7 @@ static void make_object_duplilist_real(bContext *C, Scene *scene, Base *base,
 
 static int object_duplicates_make_real_exec(bContext *C, wmOperator *op)
 {
+#if 0
 	Main *bmain = CTX_data_main(C);
 	Scene *scene = CTX_data_scene(C);
 
@@ -1512,6 +1513,14 @@ static int object_duplicates_make_real_exec(bContext *C, wmOperator *op)
 	WM_main_add_notifier(NC_OBJECT | ND_DRAW, NULL);
 
 	return OPERATOR_FINISHED;
+#else
+	(void)C;
+	(void)op;
+	(void)make_object_duplilist_real;
+	TODO_LAYER_COPY;
+	BKE_reportf(op->reports, RPT_ERROR, "OBJECT_OT_duplicates_make_real not supported at the moment");
+	return OPERATOR_CANCELLED;
+#endif
 }
 
 void OBJECT_OT_duplicates_make_real(wmOperatorType *ot)
@@ -1606,6 +1615,7 @@ static Base *duplibase_for_convert(Main *bmain, Scene *scene, Base *base, Object
 
 static int convert_exec(bContext *C, wmOperator *op)
 {
+#if 0
 	Main *bmain = CTX_data_main(C);
 	Scene *scene = CTX_data_scene(C);
 	Base *basen = NULL, *basact = NULL;
@@ -1924,6 +1934,17 @@ static int convert_exec(bContext *C, wmOperator *op)
 	WM_event_add_notifier(C, NC_SCENE | ND_OB_SELECT, scene);
 
 	return OPERATOR_FINISHED;
+#else
+	(void)C;
+	(void)op;
+	(void)curvetomesh;
+	(void)duplibase_for_convert;
+
+	TODO_LAYER_COPY;
+
+	BKE_report(op->reports, RPT_ERROR, "OBJECT_OT_convert not supported at the moment");
+	return OPERATOR_CANCELLED;
+#endif
 }
 
 
@@ -2227,12 +2248,12 @@ Base *ED_object_add_duplicate(Main *bmain, Scene *scene, Base *base, int dupflag
 
 	return basen;
 #else
-	/* handle duplicate */
-	TODO_LAYER_BASE
 	(void)bmain;
 	(void)scene;
 	(void)base;
 	(void)dupflag;
+	/* handle duplicate */
+	TODO_LAYER_COPY;
 	return NULL;
 #endif
 }
@@ -2240,6 +2261,7 @@ Base *ED_object_add_duplicate(Main *bmain, Scene *scene, Base *base, int dupflag
 /* contextual operator dupli */
 static int duplicate_exec(bContext *C, wmOperator *op)
 {
+#if 0
 	Main *bmain = CTX_data_main(C);
 	Scene *scene = CTX_data_scene(C);
 	const bool linked = RNA_boolean_get(op->ptr, "linked");
@@ -2278,6 +2300,14 @@ static int duplicate_exec(bContext *C, wmOperator *op)
 	WM_event_add_notifier(C, NC_SCENE | ND_OB_SELECT, scene);
 
 	return OPERATOR_FINISHED;
+#else
+	(void)C;
+	(void)op;
+	/* still need to handle copy (object_add_duplicate_internal) */
+	TODO_LAYER_COPY;
+	BKE_reportf(op->reports, RPT_ERROR, "Duplication of objects not working at the moment");
+	return OPERATOR_CANCELLED;
+#endif
 }
 
 void OBJECT_OT_duplicate(wmOperatorType *ot)
diff --git a/source/blender/editors/object/object_bake.c b/source/blender/editors/object/object_bake.c
index 11d96da578..fcc1c003b9 100644
--- a/source/blender/editors/object/object_bake.c
+++ b/source/blender/editors/object/object_bake.c
@@ -116,7 +116,7 @@ static bool multiresbake_check(bContext *C, wmOperator *op)
 	bool ok = true;
 	int a;
 
-	CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
+	CTX_DATA_BEGIN (C, ObjectBase *, base, selected_editable_bases)
 	{
 		ob = base->object;
 
@@ -310,7 +310,7 @@ static int multiresbake_image_exec_locked(bContext *C, wmOperator *op)
 		return OPERATOR_CANCELLED;
 
 	if (scene->r.bake_flag & R_BAKE_CLEAR) {  /* clear images */
-		CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
+		CTX_DATA_BEGIN (C, ObjectBase *, base, selected_editable_bases)
 		{
 			Mesh *me;
 			ClearFlag clear_flag = 0;
@@ -330,7 +330,7 @@ static int multiresbake_image_exec_locked(bContext *C, wmOperator *op)
 		CTX_DATA_END;
 	}
 
-	CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
+	CTX_DATA_BEGIN (C, ObjectBase *, base, selected_editable_bases)
 	{
 		MultiresBakeRender bkr = {NULL};
 
@@ -390,7 +390,7 @@ static void init_multiresbake_job(bContext *C, MultiresBakeJob *bkj)
 	bkj->user_scale = (scene->r.bake_flag & R_BAKE_USERSCALE) ? scene->r.bake_user_scale : -1.0f;
 	//bkj->reports = op->reports;
 
-	CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
+	CTX_DATA_B

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list