[Bf-blender-cvs] [c2461a8b879] functions: extract method to create particle function input provider

Jacques Lucke noreply at git.blender.org
Mon Jul 29 17:57:27 CEST 2019


Commit: c2461a8b879d0d96e5c61e00ad64c795e4a7cdb5
Author: Jacques Lucke
Date:   Mon Jul 29 13:39:17 2019 +0200
Branches: functions
https://developer.blender.org/rBc2461a8b879d0d96e5c61e00ad64c795e4a7cdb5

extract method to create particle function input provider

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

M	source/blender/simulations/bparticles/particle_function_builder.cpp

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

diff --git a/source/blender/simulations/bparticles/particle_function_builder.cpp b/source/blender/simulations/bparticles/particle_function_builder.cpp
index f682de9e810..29956b1a829 100644
--- a/source/blender/simulations/bparticles/particle_function_builder.cpp
+++ b/source/blender/simulations/bparticles/particle_function_builder.cpp
@@ -79,6 +79,21 @@ class CollisionNormalInputProvider : public ParticleFunctionInputProvider {
   }
 };
 
+static ParticleFunctionInputProvider *create_input_provider(VirtualSocket *vsocket)
+{
+  VirtualNode *vnode = vsocket->vnode();
+  if (STREQ(vnode->idname(), "bp_ParticleInfoNode")) {
+    return new AttributeInputProvider(vsocket->name());
+  }
+  else if (STREQ(vnode->idname(), "bp_CollisionInfoNode")) {
+    return new CollisionNormalInputProvider();
+  }
+  else {
+    BLI_assert(false);
+    return nullptr;
+  }
+}
+
 static SharedFunction create_function__with_deps(
     SharedDataFlowGraph &graph,
     StringRef function_name,
@@ -95,17 +110,7 @@ static SharedFunction create_function__with_deps(
 
   for (uint i = 0; i < input_amount; i++) {
     VirtualSocket *vsocket = dependencies.vsockets[i];
-    VirtualNode *vnode = vsocket->vnode();
-
-    if (STREQ(vnode->idname(), "bp_ParticleInfoNode")) {
-      r_input_providers[i] = new AttributeInputProvider(vsocket->name());
-    }
-    else if (STREQ(vnode->idname(), "bp_CollisionInfoNode")) {
-      r_input_providers[i] = new CollisionNormalInputProvider();
-    }
-    else {
-      BLI_assert(false);
-    }
+    r_input_providers[i] = create_input_provider(vsocket);
   }
 
   SharedFunction fn = fn_builder.build(function_name);



More information about the Bf-blender-cvs mailing list