[Bf-blender-cvs] [e59f449f1ae] builtin-simulation-nodes: add particle mesh emitter node ui

Jacques Lucke noreply at git.blender.org
Thu Mar 12 15:29:57 CET 2020


Commit: e59f449f1ae2453dc6120aa0eff3395853379ce1
Author: Jacques Lucke
Date:   Thu Mar 12 14:42:00 2020 +0100
Branches: builtin-simulation-nodes
https://developer.blender.org/rBe59f449f1ae2453dc6120aa0eff3395853379ce1

add particle mesh emitter node ui

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

M	release/scripts/startup/nodeitems_builtins.py
M	source/blender/blenkernel/BKE_node.h
M	source/blender/blenkernel/intern/node.c
M	source/blender/nodes/CMakeLists.txt
M	source/blender/nodes/NOD_simulation.h
M	source/blender/nodes/NOD_static_types.h
A	source/blender/nodes/simulation/nodes/node_sim_particle_mesh_emitter.cc

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

diff --git a/release/scripts/startup/nodeitems_builtins.py b/release/scripts/startup/nodeitems_builtins.py
index 840dea1ff04..4a5e5f5e565 100644
--- a/release/scripts/startup/nodeitems_builtins.py
+++ b/release/scripts/startup/nodeitems_builtins.py
@@ -484,6 +484,9 @@ simulation_node_categories = [
     SimulationNodeCategory("SIM_OUTPUT", "Output", items=[
         NodeItem("SimulationNodeParticleSimulation"),
     ]),
+    SimulationNodeCategory("EMITTERS", "Emitters", items=[
+        NodeItem("SimulationNodeParticleMeshEmitter"),
+    ]),
     SimulationNodeCategory("EVENTS", "Events", items=[
         NodeItem("SimulationNodeParticleBirthEvent"),
         NodeItem("SimulationNodeParticleTimeStepEvent"),
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index 9fc45112874..579346e8329 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -1010,6 +1010,7 @@ void BKE_nodetree_remove_layer_n(struct bNodeTree *ntree,
 #define SIM_NODE_PARTICLE_TIME_STEP_EVENT 1004
 #define SIM_NODE_EXECUTE_CONDITION 1005
 #define SIM_NODE_MULTI_EXECUTE 1006
+#define SIM_NODE_PARTICLE_MESH_EMITTER 1007
 
 #define FN_NODE_COMBINE_VECTOR 1100
 
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index db959ab21fc..8c25ba6d0bb 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -4205,6 +4205,7 @@ static void registerSimulationNodes(void)
   register_node_type_sim_particle_time_step_event();
   register_node_type_sim_execute_condition();
   register_node_type_sim_multi_execute();
+  register_node_type_sim_particle_mesh_emitter();
 }
 
 static void registerFunctionNodes(void)
diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt
index 22259e5216c..887e25bdc5c 100644
--- a/source/blender/nodes/CMakeLists.txt
+++ b/source/blender/nodes/CMakeLists.txt
@@ -230,6 +230,7 @@ set(SRC
   simulation/nodes/node_sim_force.cc
   simulation/nodes/node_sim_multi_execute.cc
   simulation/nodes/node_sim_particle_birth_event.cc
+  simulation/nodes/node_sim_particle_mesh_emitter.cc
   simulation/nodes/node_sim_particle_simulation.cc
   simulation/nodes/node_sim_particle_time_step_event.cc
   simulation/nodes/node_sim_set_particle_attribute.cc
diff --git a/source/blender/nodes/NOD_simulation.h b/source/blender/nodes/NOD_simulation.h
index aecc9f088aa..18622b29e5b 100644
--- a/source/blender/nodes/NOD_simulation.h
+++ b/source/blender/nodes/NOD_simulation.h
@@ -18,6 +18,7 @@ void register_node_type_sim_particle_birth_event(void);
 void register_node_type_sim_particle_time_step_event(void);
 void register_node_type_sim_execute_condition(void);
 void register_node_type_sim_multi_execute(void);
+void register_node_type_sim_particle_mesh_emitter(void);
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/nodes/NOD_static_types.h b/source/blender/nodes/NOD_static_types.h
index 407f60d71de..74e17f72786 100644
--- a/source/blender/nodes/NOD_static_types.h
+++ b/source/blender/nodes/NOD_static_types.h
@@ -265,6 +265,7 @@ DefNode(SimulationNode, SIM_NODE_PARTICLE_BIRTH_EVENT,   0,              "PARTIC
 DefNode(SimulationNode, SIM_NODE_PARTICLE_TIME_STEP_EVENT, def_sim_particle_time_step_event, "PARTICLE_TIME_STEP_EVENT", ParticleTimeStepEvent, "Particle Time Step Event", "")
 DefNode(SimulationNode, SIM_NODE_EXECUTE_CONDITION,   0,                 "EXECUTE_CONDITION",   ExecuteCondition,   "Execute Condition",    "")
 DefNode(SimulationNode, SIM_NODE_MULTI_EXECUTE,       0,                 "MULTI_EXECUTE",       MultiExecute,       "Multi Execute",        "")
+DefNode(SimulationNode, SIM_NODE_PARTICLE_MESH_EMITTER,  0,              "PARTICLE_MESH_EMITTER",  ParticleMeshEmitter,  "Particle Mesh Emitter", "")
 
 DefNode(FunctionNode, FN_NODE_COMBINE_VECTOR, 0, "COMBINE_VECTOR", CombineVector, "Combine Vector", "")
 
diff --git a/source/blender/nodes/simulation/nodes/node_sim_particle_mesh_emitter.cc b/source/blender/nodes/simulation/nodes/node_sim_particle_mesh_emitter.cc
new file mode 100644
index 00000000000..d1a19f16df0
--- /dev/null
+++ b/source/blender/nodes/simulation/nodes/node_sim_particle_mesh_emitter.cc
@@ -0,0 +1,24 @@
+#include "node_sim_util.h"
+
+#include "float.h"
+
+static bNodeSocketTemplate sim_node_particle_mesh_emitter_in[] = {
+    {SOCK_OBJECT, N_("Object")},
+    {SOCK_FLOAT, N_("Rate"), 10.0f, 0.0f, 0.0f, 0.0f, 0.0f, FLT_MAX},
+    {-1, ""},
+};
+
+static bNodeSocketTemplate sim_node_particle_mesh_emitter_out[] = {
+    {SOCK_EMITTERS, N_("Emitter")},
+    {-1, ""},
+};
+
+void register_node_type_sim_particle_mesh_emitter()
+{
+  static bNodeType ntype;
+
+  sim_node_type_base(&ntype, SIM_NODE_PARTICLE_MESH_EMITTER, "Mesh Emitter", 0, 0);
+  node_type_socket_templates(
+      &ntype, sim_node_particle_mesh_emitter_in, sim_node_particle_mesh_emitter_out);
+  nodeRegisterType(&ntype);
+}



More information about the Bf-blender-cvs mailing list