[Bf-blender-cvs] [fdd1fea8514] blender2.8: Depsgraph: Cleanup, code style

Sergey Sharybin noreply at git.blender.org
Wed Nov 14 14:09:17 CET 2018


Commit: fdd1fea8514952efc3f2f78d61381ef0fba3d211
Author: Sergey Sharybin
Date:   Tue Nov 13 17:21:41 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBfdd1fea8514952efc3f2f78d61381ef0fba3d211

Depsgraph: Cleanup, code style

Should be no functional changes.

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

M	source/blender/depsgraph/DEG_depsgraph_physics.h
M	source/blender/depsgraph/intern/depsgraph_physics.cc

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

diff --git a/source/blender/depsgraph/DEG_depsgraph_physics.h b/source/blender/depsgraph/DEG_depsgraph_physics.h
index fd35a7fb2c0..642b3cbfc30 100644
--- a/source/blender/depsgraph/DEG_depsgraph_physics.h
+++ b/source/blender/depsgraph/DEG_depsgraph_physics.h
@@ -69,7 +69,7 @@ void DEG_add_collision_relations(struct DepsNodeHandle *handle,
                                  struct Object *object,
                                  struct Collection *collection,
                                  unsigned int modifier_type,
-                                 DEG_CollobjFilterFunction fn,
+                                 DEG_CollobjFilterFunction filter_function,
                                  const char *name);
 void DEG_add_forcefield_relations(struct DepsNodeHandle *handle,
                                   struct Object *object,
diff --git a/source/blender/depsgraph/intern/depsgraph_physics.cc b/source/blender/depsgraph/intern/depsgraph_physics.cc
index 1868069f0ac..1299542e823 100644
--- a/source/blender/depsgraph/intern/depsgraph_physics.cc
+++ b/source/blender/depsgraph/intern/depsgraph_physics.cc
@@ -50,9 +50,10 @@ extern "C" {
 #include "depsgraph.h"
 #include "depsgraph_intern.h"
 
-/*********************** Evaluation Query API *************************/
+/*************************** Evaluation Query API *****************************/
 
-static ePhysicsRelationType modifier_to_relation_type(unsigned int modifier_type)
+static ePhysicsRelationType modifier_to_relation_type(
+        unsigned int modifier_type)
 {
 	switch (modifier_type) {
 		case eModifierType_Collision:
@@ -70,27 +71,32 @@ static ePhysicsRelationType modifier_to_relation_type(unsigned int modifier_type
 ListBase *DEG_get_effector_relations(const Depsgraph *graph,
                                      Collection *collection)
 {
-	const DEG::Depsgraph *deg_graph = reinterpret_cast<const DEG::Depsgraph *>(graph);
+	const DEG::Depsgraph *deg_graph =
+	        reinterpret_cast<const DEG::Depsgraph *>(graph);
 	if (deg_graph->physics_relations[DEG_PHYSICS_EFFECTOR] == NULL) {
 		return NULL;
 	}
 
 	ID *collection_orig = DEG_get_original_id(&collection->id);
-	return (ListBase *)BLI_ghash_lookup(deg_graph->physics_relations[DEG_PHYSICS_EFFECTOR], collection_orig);
+	return (ListBase *)BLI_ghash_lookup(
+	        deg_graph->physics_relations[DEG_PHYSICS_EFFECTOR],
+	        collection_orig);
 }
 
 ListBase *DEG_get_collision_relations(const Depsgraph *graph,
                                       Collection *collection,
                                       unsigned int modifier_type)
 {
-	const DEG::Depsgraph *deg_graph = reinterpret_cast<const DEG::Depsgraph *>(graph);
+	const DEG::Depsgraph *deg_graph =
+	        reinterpret_cast<const DEG::Depsgraph *>(graph);
 	const ePhysicsRelationType type = modifier_to_relation_type(modifier_type);
 	if (deg_graph->physics_relations[type] == NULL) {
 		return NULL;
 	}
-
 	ID *collection_orig = DEG_get_original_id(&collection->id);
-	return (ListBase *)BLI_ghash_lookup(deg_graph->physics_relations[type], collection_orig);
+	return (ListBase *)BLI_ghash_lookup(
+	        deg_graph->physics_relations[type],
+	        collection_orig);
 }
 
 /********************** Depsgraph Building API ************************/
@@ -99,20 +105,25 @@ void DEG_add_collision_relations(DepsNodeHandle *handle,
                                  Object *object,
                                  Collection *collection,
                                  unsigned int modifier_type,
-                                 DEG_CollobjFilterFunction fn,
+                                 DEG_CollobjFilterFunction filter_function,
                                  const char *name)
 {
 	Depsgraph *depsgraph = DEG_get_graph_from_handle(handle);
 	DEG::Depsgraph *deg_graph = (DEG::Depsgraph *)depsgraph;
-	ListBase *relations = deg_build_collision_relations(deg_graph, collection, modifier_type);
-
+	ListBase *relations = deg_build_collision_relations(
+	        deg_graph, collection, modifier_type);
 	LISTBASE_FOREACH (CollisionRelation *, relation, relations) {
 		Object *ob1 = relation->ob;
-		if (ob1 != object) {
-			if (!fn || fn(ob1, modifiers_findByType(ob1, (ModifierType)modifier_type))) {
-				DEG_add_object_relation(handle, ob1, DEG_OB_COMP_TRANSFORM, name);
-				DEG_add_object_relation(handle, ob1, DEG_OB_COMP_GEOMETRY, name);
-			}
+		if (ob1 == object) {
+			continue;
+		}
+		if (filter_function == NULL ||
+		    filter_function(
+		            ob1,
+		            modifiers_findByType(ob1, (ModifierType)modifier_type)))
+		{
+			DEG_add_object_relation(handle, ob1, DEG_OB_COMP_TRANSFORM, name);
+			DEG_add_object_relation(handle, ob1, DEG_OB_COMP_GEOMETRY, name);
 		}
 	}
 }
@@ -126,41 +137,49 @@ void DEG_add_forcefield_relations(DepsNodeHandle *handle,
 {
 	Depsgraph *depsgraph = DEG_get_graph_from_handle(handle);
 	DEG::Depsgraph *deg_graph = (DEG::Depsgraph *)depsgraph;
-	ListBase *relations = deg_build_effector_relations(deg_graph, effector_weights->group);
-
+	ListBase *relations =
+	        deg_build_effector_relations(deg_graph, effector_weights->group);
 	LISTBASE_FOREACH (EffectorRelation *, relation, relations) {
-		if (relation->ob != object && relation->pd->forcefield != skip_forcefield) {
-			DEG_add_object_relation(handle, relation->ob, DEG_OB_COMP_TRANSFORM, name);
-			if (relation->psys) {
-				DEG_add_object_relation(handle, relation->ob, DEG_OB_COMP_EVAL_PARTICLES, name);
-				/* TODO: remove this when/if EVAL_PARTICLES is sufficient
-				 * for up to date particles.
-				 */
-				DEG_add_object_relation(handle, relation->ob, DEG_OB_COMP_GEOMETRY, name);
-			}
-			if (relation->pd->forcefield == PFIELD_SMOKEFLOW && relation->pd->f_source) {
-				DEG_add_object_relation(handle,
-				                        relation->pd->f_source,
-				                        DEG_OB_COMP_TRANSFORM,
-				                        "Smoke Force Domain");
-				DEG_add_object_relation(handle,
-				                        relation->pd->f_source,
-				                        DEG_OB_COMP_GEOMETRY,
-				                        "Smoke Force Domain");
-			}
-			if (add_absorption && (relation->pd->flag & PFIELD_VISIBILITY)) {
-				DEG_add_collision_relations(handle,
-				                            object,
-				                            NULL,
-				                            eModifierType_Collision,
-				                            NULL,
-				                            "Force Absorption");
-			}
+		if (relation->ob == object) {
+			continue;
+		}
+		if (relation->pd->forcefield == skip_forcefield) {
+			continue;
+		}
+		DEG_add_object_relation(
+		        handle, relation->ob, DEG_OB_COMP_TRANSFORM, name);
+		if (relation->psys) {
+			DEG_add_object_relation(
+			        handle, relation->ob, DEG_OB_COMP_EVAL_PARTICLES, name);
+			/* TODO: remove this when/if EVAL_PARTICLES is sufficient for up to
+			 * date particles. */
+			DEG_add_object_relation(
+			        handle, relation->ob, DEG_OB_COMP_GEOMETRY, name);
+		}
+		if (relation->pd->forcefield == PFIELD_SMOKEFLOW &&
+		    relation->pd->f_source != NULL)
+		{
+			DEG_add_object_relation(handle,
+			                        relation->pd->f_source,
+			                        DEG_OB_COMP_TRANSFORM,
+			                        "Smoke Force Domain");
+			DEG_add_object_relation(handle,
+			                        relation->pd->f_source,
+			                        DEG_OB_COMP_GEOMETRY,
+			                        "Smoke Force Domain");
+		}
+		if (add_absorption && (relation->pd->flag & PFIELD_VISIBILITY)) {
+			DEG_add_collision_relations(handle,
+			                            object,
+			                            NULL,
+			                            eModifierType_Collision,
+			                            NULL,
+			                            "Force Absorption");
 		}
 	}
 }
 
-/**************************** Internal API ****************************/
+/******************************** Internal API ********************************/
 
 namespace DEG
 {
@@ -170,17 +189,18 @@ ListBase *deg_build_effector_relations(Depsgraph *graph,
 {
 	GHash *hash = graph->physics_relations[DEG_PHYSICS_EFFECTOR];
 	if (hash == NULL) {
-		graph->physics_relations[DEG_PHYSICS_EFFECTOR] = BLI_ghash_ptr_new("Depsgraph physics relations hash");
+		graph->physics_relations[DEG_PHYSICS_EFFECTOR] =
+		        BLI_ghash_ptr_new("Depsgraph physics relations hash");
 		hash = graph->physics_relations[DEG_PHYSICS_EFFECTOR];
 	}
-
-	ListBase *relations = reinterpret_cast<ListBase*>(BLI_ghash_lookup(hash, collection));
+	ListBase *relations =
+	        reinterpret_cast<ListBase*>(BLI_ghash_lookup(hash, collection));
 	if (relations == NULL) {
 		::Depsgraph *depsgraph = reinterpret_cast<::Depsgraph*>(graph);
-		relations = BKE_effector_relations_create(depsgraph, graph->view_layer, collection);
+		relations = BKE_effector_relations_create(
+		        depsgraph, graph->view_layer, collection);
 		BLI_ghash_insert(hash, &collection->id, relations);
 	}
-
 	return relations;
 }
 
@@ -191,30 +211,35 @@ ListBase *deg_build_collision_relations(Depsgraph *graph,
 	const ePhysicsRelationType type = modifier_to_relation_type(modifier_type);
 	GHash *hash = graph->physics_relations[type];
 	if (hash == NULL) {
-		graph->physics_relations[type] = BLI_ghash_ptr_new("Depsgraph physics relations hash");
+		graph->physics_relations[type] =
+		        BLI_ghash_ptr_new("Depsgraph physics relations hash");
 		hash = graph->physics_relations[type];
 	}
-
-	ListBase *relations = reinterpret_cast<ListBase*>(BLI_ghash_lookup(hash, collection));
+	ListBase *relations =
+	        reinterpret_cast<ListBase*>(BLI_ghash_lookup(hash, collection));
 	if (relations == NULL) {
 		::Depsgraph *depsgraph = reinterpret_cast<::Depsgraph*>(graph);
-		relations = BKE_collision_relations_create(depsgraph, collection, modifier_type);
+		relations = BKE_collision_relations_create(
+		        depsgraph, collection, modifier_type);
 		BLI_ghash_insert(hash, &collection->id, relations);
 	}
-
 	return relations;
 }
 
-static void free_effector_relations(void *value)
+namespace {
+
+void free_effector_relations(void *value)
 {
 	BKE_effector_relations_free(reinterpret_cast<ListBase*>(value)

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list