[Bf-blender-cvs] [494eac50b66] builtin-simulation-nodes: new Particle Attribute node ui

Jacques Lucke noreply at git.blender.org
Fri Mar 13 15:15:54 CET 2020


Commit: 494eac50b66a7b3b3a7f65414952124381a78cb6
Author: Jacques Lucke
Date:   Fri Mar 13 14:10:03 2020 +0100
Branches: builtin-simulation-nodes
https://developer.blender.org/rB494eac50b66a7b3b3a7f65414952124381a78cb6

new Particle Attribute 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_attribute.cc

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

diff --git a/release/scripts/startup/nodeitems_builtins.py b/release/scripts/startup/nodeitems_builtins.py
index 3c1b0da1a0c..5cc0c2b2feb 100644
--- a/release/scripts/startup/nodeitems_builtins.py
+++ b/release/scripts/startup/nodeitems_builtins.py
@@ -503,6 +503,7 @@ simulation_node_categories = [
     ]),
     SimulationNodeCategory("FUNCTION_INPUTS", "Function Inputs", items=[
         NodeItem("SimulationNodeSimulationTime"),
+        NodeItem("SimulationNodeParticleAttribute"),
     ]),
     FunctionNodeCategory("VECTOR", "Vector", items=[
         NodeItem("FunctionNodeCombineVector"),
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index 3f7381e7bad..252cd2fb0e8 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_PARTICLE_MESH_COLLISION_EVENT 1008
 #define SIM_NODE_EMIT_PARTICLES 1009
 #define SIM_NODE_SIMULATION_TIME 1010
+#define SIM_NODE_PARTICLE_ATTRIBUTE 1011
 
 #define FN_NODE_COMBINE_VECTOR 1100
 
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index 8f068e3369c..c5c71583033 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -4194,6 +4194,7 @@ static void registerSimulationNodes(void)
   register_node_type_sim_particle_mesh_collision_event();
   register_node_type_sim_emit_particles();
   register_node_type_sim_simulation_time();
+  register_node_type_sim_particle_attribute();
 }
 
 static void registerFunctionNodes(void)
diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt
index 3c4bfdbca52..a1306fa8f21 100644
--- a/source/blender/nodes/CMakeLists.txt
+++ b/source/blender/nodes/CMakeLists.txt
@@ -230,6 +230,7 @@ set(SRC
   simulation/nodes/node_sim_execute_condition.cc
   simulation/nodes/node_sim_force.cc
   simulation/nodes/node_sim_multi_execute.cc
+  simulation/nodes/node_sim_particle_attribute.cc
   simulation/nodes/node_sim_particle_birth_event.cc
   simulation/nodes/node_sim_particle_mesh_collision_event.cc
   simulation/nodes/node_sim_particle_mesh_emitter.cc
diff --git a/source/blender/nodes/NOD_simulation.h b/source/blender/nodes/NOD_simulation.h
index bf70fb9cbbd..2639a115a83 100644
--- a/source/blender/nodes/NOD_simulation.h
+++ b/source/blender/nodes/NOD_simulation.h
@@ -22,6 +22,7 @@ void register_node_type_sim_particle_mesh_emitter(void);
 void register_node_type_sim_particle_mesh_collision_event(void);
 void register_node_type_sim_emit_particles(void);
 void register_node_type_sim_simulation_time(void);
+void register_node_type_sim_particle_attribute(void);
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/nodes/NOD_static_types.h b/source/blender/nodes/NOD_static_types.h
index d6589e761ce..c919cc75579 100644
--- a/source/blender/nodes/NOD_static_types.h
+++ b/source/blender/nodes/NOD_static_types.h
@@ -269,6 +269,7 @@ DefNode(SimulationNode, SIM_NODE_PARTICLE_MESH_EMITTER,  0,              "PARTIC
 DefNode(SimulationNode, SIM_NODE_PARTICLE_MESH_COLLISION_EVENT, 0,       "PARTICLE_MESH_COLLISION_EVENT", ParticleMeshCollisionEvent, "Particle Mesh Collision Event", "")
 DefNode(SimulationNode, SIM_NODE_EMIT_PARTICLES, 0,                      "EMIT_PARTICLES",      EmitParticles,      "Emit Particles",       "")
 DefNode(SimulationNode, SIM_NODE_SIMULATION_TIME, 0,                     "SIMULATION_TIME",     SimulationTime,     "Simulation Time",      "")
+DefNode(SimulationNode, SIM_NODE_PARTICLE_ATTRIBUTE, 0,                  "PARTICLE_ATTRIBUTE",  ParticleAttribute,  "Particle Attribute",   "")
 
 DefNode(FunctionNode, FN_NODE_COMBINE_VECTOR, 0, "COMBINE_VECTOR", CombineVector, "Combine Vector", "")
 
diff --git a/source/blender/nodes/simulation/nodes/node_sim_particle_attribute.cc b/source/blender/nodes/simulation/nodes/node_sim_particle_attribute.cc
new file mode 100644
index 00000000000..f828ac100bd
--- /dev/null
+++ b/source/blender/nodes/simulation/nodes/node_sim_particle_attribute.cc
@@ -0,0 +1,21 @@
+#include "node_sim_util.h"
+
+static bNodeSocketTemplate sim_node_particle_attribute_in[] = {
+    {SOCK_STRING, N_("Name")},
+    {-1, ""},
+};
+
+static bNodeSocketTemplate sim_node_particle_attribute_out[] = {
+    {SOCK_FLOAT, N_("Value")},
+    {-1, ""},
+};
+
+void register_node_type_sim_particle_attribute()
+{
+  static bNodeType ntype;
+
+  sim_node_type_base(&ntype, SIM_NODE_PARTICLE_ATTRIBUTE, "Particle Attribute", 0, 0);
+  node_type_socket_templates(
+      &ntype, sim_node_particle_attribute_in, sim_node_particle_attribute_out);
+  nodeRegisterType(&ntype);
+}



More information about the Bf-blender-cvs mailing list