[Bf-blender-cvs] [5fae03fec06] builtin-simulation-nodes: new execute condition node

Jacques Lucke noreply at git.blender.org
Thu Mar 5 13:15:40 CET 2020


Commit: 5fae03fec0695c71ba0d6d1ecb7b9ec4e7d6ffa3
Author: Jacques Lucke
Date:   Thu Mar 5 12:57:21 2020 +0100
Branches: builtin-simulation-nodes
https://developer.blender.org/rB5fae03fec0695c71ba0d6d1ecb7b9ec4e7d6ffa3

new execute condition node

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

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_execute_condition.cc

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

diff --git a/release/scripts/startup/nodeitems_builtins.py b/release/scripts/startup/nodeitems_builtins.py
index 8f6c4c3928d..de920aa4b4b 100644
--- a/release/scripts/startup/nodeitems_builtins.py
+++ b/release/scripts/startup/nodeitems_builtins.py
@@ -487,6 +487,7 @@ simulation_node_categories = [
     ]),
     SimulationNodeCategory("EXECUTE", "Execute", items=[
         NodeItem("SimulationNodeSetParticleAttribute"),
+        NodeItem("SimulationNodeExecuteCondition"),
     ]),
 ]
 
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index 4fad168ceb1..20e2624c84c 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -1011,6 +1011,7 @@ void BKE_nodetree_remove_layer_n(struct bNodeTree *ntree,
 #define SIM_NODE_SET_PARTICLE_ATTRIBUTE 1002
 #define SIM_NODE_PARTICLE_BIRTH_EVENT 1003
 #define SIM_NODE_PARTICLE_TIME_STEP_EVENT 1004
+#define SIM_NODE_EXECUTE_CONDITION 1005
 
 /* custom defines options for Material node */
 // #define SH_NODE_MAT_DIFF 1
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index 2933997f841..4ef3d64e3df 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -4128,6 +4128,7 @@ static void registerSimulationNodes(void)
   register_node_type_set_particle_attribute();
   register_node_type_sim_particle_birth_event();
   register_node_type_sim_particle_time_step_event();
+  register_node_type_sim_execute_condition();
 }
 
 void init_nodesystem(void)
diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt
index e58e4602c24..d8cd5cbe4c2 100644
--- a/source/blender/nodes/CMakeLists.txt
+++ b/source/blender/nodes/CMakeLists.txt
@@ -223,6 +223,7 @@ set(SRC
 
   simulation/nodes/node_sim_common.cc
   simulation/nodes/node_sim_custom_force.cc
+  simulation/nodes/node_sim_execute_condition.cc
   simulation/nodes/node_sim_particle_birth_event.cc
   simulation/nodes/node_sim_particle_simulation.cc
   simulation/nodes/node_sim_particle_time_step_event.cc
diff --git a/source/blender/nodes/NOD_simulation.h b/source/blender/nodes/NOD_simulation.h
index 63cd50fd27d..0a636a0ec49 100644
--- a/source/blender/nodes/NOD_simulation.h
+++ b/source/blender/nodes/NOD_simulation.h
@@ -16,6 +16,7 @@ void register_node_type_sim_custom_force(void);
 void register_node_type_set_particle_attribute(void);
 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);
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/nodes/NOD_static_types.h b/source/blender/nodes/NOD_static_types.h
index b56fce9b31b..7c602960192 100644
--- a/source/blender/nodes/NOD_static_types.h
+++ b/source/blender/nodes/NOD_static_types.h
@@ -263,6 +263,7 @@ DefNode(SimulationNode, SIM_NODE_CUSTOM_FORCE,        0,                 "CUSTOM
 DefNode(SimulationNode, SIM_NODE_SET_PARTICLE_ATTRIBUTE, 0,              "SET_PARTICLE_ATTRIBUTE", SetParticleAttribute, "Set Particle Attribute", "")
 DefNode(SimulationNode, SIM_NODE_PARTICLE_BIRTH_EVENT,   0,              "PARTICLE_BIRTH_EVENT",   ParticleBirthEvent,   "Particle Birth Event",   "")
 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",    "")
 
 /* undefine macros */
 #undef DefNode
diff --git a/source/blender/nodes/simulation/nodes/node_sim_execute_condition.cc b/source/blender/nodes/simulation/nodes/node_sim_execute_condition.cc
new file mode 100644
index 00000000000..28d0b4e6596
--- /dev/null
+++ b/source/blender/nodes/simulation/nodes/node_sim_execute_condition.cc
@@ -0,0 +1,23 @@
+#include "node_sim_util.h"
+
+static bNodeSocketTemplate sim_node_execute_condition_in[] = {
+    {SOCK_BOOLEAN, 1, N_("Condition")},
+    {SOCK_CONTROL_FLOW, 1, N_("If True")},
+    {SOCK_CONTROL_FLOW, 1, N_("If False")},
+    {-1, 0, ""},
+};
+
+static bNodeSocketTemplate sim_node_execute_condition_out[] = {
+    {SOCK_CONTROL_FLOW, 0, N_("Execute")},
+    {-1, 0, ""},
+};
+
+void register_node_type_sim_execute_condition()
+{
+  static bNodeType ntype;
+
+  sim_node_type_base(&ntype, SIM_NODE_EXECUTE_CONDITION, "Execute Condition", 0, 0);
+  node_type_socket_templates(
+      &ntype, sim_node_execute_condition_in, sim_node_execute_condition_out);
+  nodeRegisterType(&ntype);
+}



More information about the Bf-blender-cvs mailing list