[Bf-blender-cvs] [e97a45ef8c5] functions: replace Kill Particle node with group
Jacques Lucke
noreply at git.blender.org
Thu Dec 19 13:21:46 CET 2019
Commit: e97a45ef8c5cf18ad5cd6fd02281e76c34d357b7
Author: Jacques Lucke
Date: Thu Dec 19 12:24:51 2019 +0100
Branches: functions
https://developer.blender.org/rBe97a45ef8c5cf18ad5cd6fd02281e76c34d357b7
replace Kill Particle node with group
===================================================================
D release/scripts/startup/nodes/bparticle_nodes/kill_particle.py
M release/scripts/startup/nodes/menu.py
M source/blender/functions/intern/inlined_tree_multi_function_network/builder.cc
M source/blender/functions/intern/multi_functions/customizable.h
M source/blender/simulations/bparticles/action_interface.hpp
M source/blender/simulations/bparticles/actions.cpp
M source/blender/simulations/bparticles/actions.hpp
M source/blender/simulations/bparticles/node_frontend.cpp
M source/blender/simulations/bparticles/simulate.cpp
===================================================================
diff --git a/release/scripts/startup/nodes/bparticle_nodes/kill_particle.py b/release/scripts/startup/nodes/bparticle_nodes/kill_particle.py
deleted file mode 100644
index c92340aecde..00000000000
--- a/release/scripts/startup/nodes/bparticle_nodes/kill_particle.py
+++ /dev/null
@@ -1,11 +0,0 @@
-import bpy
-from bpy.props import *
-from .. base import SimulationNode
-from .. node_builder import NodeBuilder
-
-class KillParticleNode(bpy.types.Node, SimulationNode):
- bl_idname = "fn_KillParticleNode"
- bl_label = "Kill Particle"
-
- def declaration(self, builder: NodeBuilder):
- builder.execute_output("execute", "Execute")
diff --git a/release/scripts/startup/nodes/menu.py b/release/scripts/startup/nodes/menu.py
index 7af3c08df4f..d022fa38536 100644
--- a/release/scripts/startup/nodes/menu.py
+++ b/release/scripts/startup/nodes/menu.py
@@ -78,7 +78,6 @@ class ActionNodesMenu(bpy.types.Menu):
layout = self.layout
layout.operator_context = 'INVOKE_DEFAULT'
- insert_node(layout, "fn_KillParticleNode", "Kill Particle")
insert_node(layout, "fn_ParticleConditionNode", "Condition")
diff --git a/source/blender/functions/intern/inlined_tree_multi_function_network/builder.cc b/source/blender/functions/intern/inlined_tree_multi_function_network/builder.cc
index 04683215b1b..2341a757e88 100644
--- a/source/blender/functions/intern/inlined_tree_multi_function_network/builder.cc
+++ b/source/blender/functions/intern/inlined_tree_multi_function_network/builder.cc
@@ -201,7 +201,7 @@ const MultiFunction &VNodeMFNetworkBuilder::get_vectorized_function(
std::unique_ptr<InlinedTreeMFNetwork> InlinedTreeMFNetworkBuilder::build()
{
- m_builder->to_dot__clipboard();
+ // m_builder->to_dot__clipboard();
auto network = BLI::make_unique<MFNetwork>(std::move(m_builder));
diff --git a/source/blender/functions/intern/multi_functions/customizable.h b/source/blender/functions/intern/multi_functions/customizable.h
index 0f652beac64..1376a0d957b 100644
--- a/source/blender/functions/intern/multi_functions/customizable.h
+++ b/source/blender/functions/intern/multi_functions/customizable.h
@@ -40,6 +40,11 @@ template<> inline std::string MF_ConstantValue<int>::output_name_from_value(cons
return std::to_string(value);
}
+template<> inline std::string MF_ConstantValue<bool>::output_name_from_value(const bool &value)
+{
+ return (value) ? "true" : "false";
+}
+
template<>
inline std::string MF_ConstantValue<std::string>::output_name_from_value(const std::string &value)
{
diff --git a/source/blender/simulations/bparticles/action_interface.hpp b/source/blender/simulations/bparticles/action_interface.hpp
index f807f05d1d9..9f19be38f22 100644
--- a/source/blender/simulations/bparticles/action_interface.hpp
+++ b/source/blender/simulations/bparticles/action_interface.hpp
@@ -216,14 +216,6 @@ inline ArrayRef<float> ActionInterface::current_times()
return m_current_times;
}
-inline void ActionInterface::kill(ArrayRef<uint> pindices)
-{
- auto kill_states = m_attributes.get<bool>("Kill State");
- for (uint pindex : pindices) {
- kill_states[pindex] = 1;
- }
-}
-
inline ParticleAllocator &ActionInterface::particle_allocator()
{
return m_particle_allocator;
diff --git a/source/blender/simulations/bparticles/actions.cpp b/source/blender/simulations/bparticles/actions.cpp
index ce3f685b04d..7448a9246a3 100644
--- a/source/blender/simulations/bparticles/actions.cpp
+++ b/source/blender/simulations/bparticles/actions.cpp
@@ -34,11 +34,6 @@ static void update_position_and_velocity_offsets(ActionInterface &interface)
}
}
-void KillAction::execute(ActionInterface &interface)
-{
- interface.kill(interface.pindices());
-}
-
void ConditionAction::execute(ActionInterface &interface)
{
auto inputs = ParticleFunctionResult::Compute(
diff --git a/source/blender/simulations/bparticles/actions.hpp b/source/blender/simulations/bparticles/actions.hpp
index 7feaad487ed..f247a0c9655 100644
--- a/source/blender/simulations/bparticles/actions.hpp
+++ b/source/blender/simulations/bparticles/actions.hpp
@@ -19,10 +19,6 @@ class ActionSequence : public Action {
void execute(ActionInterface &interface) override;
};
-class KillAction : public Action {
- void execute(ActionInterface &interface) override;
-};
-
class ConditionAction : public Action {
private:
ParticleFunction *m_inputs_fn;
diff --git a/source/blender/simulations/bparticles/node_frontend.cpp b/source/blender/simulations/bparticles/node_frontend.cpp
index 1cb208c1e94..d0c19d5dd42 100644
--- a/source/blender/simulations/bparticles/node_frontend.cpp
+++ b/source/blender/simulations/bparticles/node_frontend.cpp
@@ -517,11 +517,6 @@ Action *InlinedTreeData::build_action(InfluencesCollector &collector,
return builder.built_action();
}
-static void ACTION_kill(XSocketActionBuilder &builder)
-{
- builder.set_constructed<KillAction>();
-}
-
static void ACTION_spawn(XSocketActionBuilder &builder)
{
const XNode &xnode = builder.xsocket().node();
@@ -639,7 +634,6 @@ static void ACTION_multi_execute(XSocketActionBuilder &builder)
BLI_LAZY_INIT(StringMap<ActionParserCallback>, get_action_parsers)
{
StringMap<ActionParserCallback> map;
- map.add_new("fn_KillParticleNode", ACTION_kill);
map.add_new("fn_SpawnParticlesNode", ACTION_spawn);
map.add_new("fn_ParticleConditionNode", ACTION_condition);
map.add_new("fn_AddToGroupNode", ACTION_add_to_group);
@@ -1125,7 +1119,7 @@ static void collect_influences(InlinedTreeData &inlined_tree_data,
r_system_names.append(name);
AttributesInfoBuilder *attributes = new AttributesInfoBuilder();
- attributes->add<bool>("Kill State", 0);
+ attributes->add<bool>("Dead", false);
attributes->add<int32_t>("ID", 0);
attributes->add<float>("Birth Time", 0);
attributes->add<float3>("Position", float3(0, 0, 0));
@@ -1163,6 +1157,7 @@ class NodeTreeStepSimulator : public StepSimulator {
public:
NodeTreeStepSimulator(bNodeTree *btree) : m_inlined_tree(btree, m_inlined_trees)
{
+ // m_inlined_tree.to_dot__clipboard();
}
void simulate(SimulationState &simulation_state) override
diff --git a/source/blender/simulations/bparticles/simulate.cpp b/source/blender/simulations/bparticles/simulate.cpp
index 766518f98dc..61e72e58793 100644
--- a/source/blender/simulations/bparticles/simulate.cpp
+++ b/source/blender/simulations/bparticles/simulate.cpp
@@ -236,7 +236,7 @@ BLI_NOINLINE static void simulate_to_next_event(BlockStepData &step_data,
find_unfinished_particles(pindices_with_event,
time_factors_to_next_event,
- step_data.attributes.get<bool>("Kill State"),
+ step_data.attributes.get<bool>("Dead"),
r_unfinished_pindices);
}
@@ -358,7 +358,7 @@ BLI_NOINLINE static void simulate_block(SimulationState &simulation_state,
BLI_NOINLINE static void delete_tagged_particles_and_reorder(AttributesBlock &block)
{
- auto kill_states = block.as_ref().get<bool>("Kill State");
+ auto kill_states = block.as_ref().get<bool>("Dead");
LargeScopedVector<uint> indices_to_delete;
for (uint i : kill_states.index_iterator()) {
More information about the Bf-blender-cvs
mailing list