[Bf-blender-cvs] [856049d771e] functions-experimental-refactor: merge bparticles node tree into functions node tree
Jacques Lucke
noreply at git.blender.org
Thu Nov 7 11:44:20 CET 2019
Commit: 856049d771e2f510ad32b3f189549a1d483f88d9
Author: Jacques Lucke
Date: Wed Nov 6 16:08:20 2019 +0100
Branches: functions-experimental-refactor
https://developer.blender.org/rB856049d771e2f510ad32b3f189549a1d483f88d9
merge bparticles node tree into functions node tree
===================================================================
M release/scripts/startup/bl_operators/modifiers.py
M release/scripts/startup/bl_ui/properties_data_modifier.py
M release/scripts/startup/bl_ui/space_view3d.py
M release/scripts/startup/nodes/base.py
M release/scripts/startup/nodes/bparticle_nodes/always_execute.py
M release/scripts/startup/nodes/bparticle_nodes/change_attribute.py
M release/scripts/startup/nodes/bparticle_nodes/combine_influences.py
M release/scripts/startup/nodes/bparticle_nodes/condition.py
M release/scripts/startup/nodes/bparticle_nodes/events.py
M release/scripts/startup/nodes/bparticle_nodes/explode_particle.py
M release/scripts/startup/nodes/bparticle_nodes/forces.py
M release/scripts/startup/nodes/bparticle_nodes/groups.py
M release/scripts/startup/nodes/bparticle_nodes/initial_grid_emitter.py
M release/scripts/startup/nodes/bparticle_nodes/kill_particle.py
M release/scripts/startup/nodes/bparticle_nodes/mesh_emitter.py
M release/scripts/startup/nodes/bparticle_nodes/mockups.py
M release/scripts/startup/nodes/bparticle_nodes/particle_inputs.py
M release/scripts/startup/nodes/bparticle_nodes/particle_system.py
M release/scripts/startup/nodes/bparticle_nodes/point_emitter.py
M release/scripts/startup/nodes/bparticle_nodes/size_over_time.py
M release/scripts/startup/nodes/bparticle_nodes/trails.py
D release/scripts/startup/nodes/bparticles_tree.py
M release/scripts/startup/nodes/declaration/bparticles.py
M release/scripts/startup/nodes/function_tree.py
M release/scripts/startup/nodes/menu.py
M release/scripts/startup/nodes/node_operators.py
M release/scripts/startup/nodes/search.py
M release/scripts/startup/nodes/sockets.py
M release/scripts/startup/nodes/sync.py
M source/blender/makesdna/DNA_modifier_types.h
M source/blender/makesrna/intern/rna_modifier.c
M source/blender/modifiers/intern/MOD_bparticles.c
M source/blender/simulations/bparticles/c_wrapper.cpp
M source/blender/simulations/bparticles/node_frontend.cpp
M source/blender/simulations/bparticles/particle_function_builder.cpp
===================================================================
diff --git a/release/scripts/startup/bl_operators/modifiers.py b/release/scripts/startup/bl_operators/modifiers.py
index 5b19d9e4a96..b039ada1c4a 100644
--- a/release/scripts/startup/bl_operators/modifiers.py
+++ b/release/scripts/startup/bl_operators/modifiers.py
@@ -58,33 +58,33 @@ class NewPointGeneratorFunction(bpy.types.Operator, ModifierOperator):
mod.function_tree = tree
return {'FINISHED'}
-class NewBParticlesTree(bpy.types.Operator, ModifierOperator):
- bl_idname = "bp.new_bparticles_tree"
- bl_label = "New BParticles Tree"
+class NewParticleSimulationTree(bpy.types.Operator, ModifierOperator):
+ bl_idname = "fn.new_particle_simulation_tree"
+ bl_label = "New Particle Simulation Tree"
def execute(self, context):
mod = self.get_modifier()
if mod is None:
return {'CANCELLED'}
- tree = bpy.data.node_groups.new("Particle Simulation", "BParticlesTree")
+ tree = bpy.data.node_groups.new("Particle Simulation", "FunctionTree")
- type_node = tree.nodes.new("bp_ParticleSystemNode")
+ type_node = tree.nodes.new("fn_ParticleSystemNode")
- emitter_node = tree.nodes.new("bp_InitialGridEmitterNode")
+ emitter_node = tree.nodes.new("fn_InitialGridEmitterNode")
emitter_node.location = (-250, 200)
- gravity_node = tree.nodes.new("bp_TurbulenceForceNode")
+ gravity_node = tree.nodes.new("fn_TurbulenceForceNode")
gravity_node.location = (-250, -100)
tree.links.new(emitter_node.outputs[0], type_node.inputs[0])
tree.links.new(gravity_node.outputs[0], type_node.inputs[0])
- mod.bparticles_tree = tree
+ mod.node_tree = tree
return {'FINISHED'}
classes = (
NewDeformationFunction,
NewPointGeneratorFunction,
- NewBParticlesTree,
+ NewParticleSimulationTree,
)
diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py
index 41be9ff1c36..cd72196cd75 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -1679,8 +1679,8 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
def BPARTICLES(self, layout, ob, md):
row = layout.row(align=True)
- row.prop(md, "bparticles_tree")
- props = row.operator("bp.new_bparticles_tree", text="", icon="ADD")
+ row.prop(md, "node_tree")
+ props = row.operator("fn.new_particle_simulation_tree", text="", icon="ADD")
props.object_name = ob.name
props.modifier_name = md.name
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index e5119ce46cf..a3aa324f0d0 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -2049,7 +2049,7 @@ class VIEW3D_MT_add(Menu):
layout.separator()
- layout.operator("bp.new_particle_system", text="Particle Simulation", icon='MOD_PARTICLES')
+ layout.operator("fn.new_particle_system", text="Particle Simulation", icon='MOD_PARTICLES')
layout.separator()
diff --git a/release/scripts/startup/nodes/base.py b/release/scripts/startup/nodes/base.py
index e7d7491fdcf..4412edf99dc 100644
--- a/release/scripts/startup/nodes/base.py
+++ b/release/scripts/startup/nodes/base.py
@@ -220,24 +220,8 @@ class BaseSocket:
class FunctionNode(BaseNode):
pass
-class BParticlesNode(BaseNode):
- def invoke_particle_type_creation(self, layout, function_name, text, *, icon='NONE'):
- self.invoke_function(layout, "create_particle_type", text, icon=icon, settings=(function_name,))
-
- def create_particle_type(self, function_name):
- for node in self.tree.nodes:
- node.select = False
-
- new_node = self.tree.nodes.new("bp_ParticleSystemNode")
- new_node.select = True
- self.tree.nodes.active = new_node
- new_node.location = self.location
- new_node.location.x += 10
- new_node.location.y += 10
-
- callback = getattr(self, function_name)
- callback(new_node)
- bpy.ops.node.translate_attach('INVOKE_DEFAULT')
+class SimulationNode(BaseNode):
+ pass
class DataSocket(BaseSocket):
def draw_self(self, layout, node, text):
diff --git a/release/scripts/startup/nodes/bparticle_nodes/always_execute.py b/release/scripts/startup/nodes/bparticle_nodes/always_execute.py
index c4590fdf402..15f035d583e 100644
--- a/release/scripts/startup/nodes/bparticle_nodes/always_execute.py
+++ b/release/scripts/startup/nodes/bparticle_nodes/always_execute.py
@@ -1,11 +1,11 @@
import bpy
from bpy.props import *
-from .. base import BParticlesNode
+from .. base import SimulationNode
from .. node_builder import NodeBuilder
-class AlwaysExecuteNode(bpy.types.Node, BParticlesNode):
- bl_idname = "bp_AlwaysExecuteNode"
+class AlwaysExecuteNode(bpy.types.Node, SimulationNode):
+ bl_idname = "fn_AlwaysExecuteNode"
bl_label = "Always Execute"
execute__prop: NodeBuilder.ExecuteInputProperty()
diff --git a/release/scripts/startup/nodes/bparticle_nodes/change_attribute.py b/release/scripts/startup/nodes/bparticle_nodes/change_attribute.py
index 73d0a8894b2..820b4f1c324 100644
--- a/release/scripts/startup/nodes/bparticle_nodes/change_attribute.py
+++ b/release/scripts/startup/nodes/bparticle_nodes/change_attribute.py
@@ -1,11 +1,11 @@
import bpy
from bpy.props import *
-from .. base import BParticlesNode
+from .. base import SimulationNode
from .. node_builder import NodeBuilder
-class ChangeParticleColorNode(bpy.types.Node, BParticlesNode):
- bl_idname = "bp_ChangeParticleColorNode"
+class ChangeParticleColorNode(bpy.types.Node, SimulationNode):
+ bl_idname = "fn_ChangeParticleColorNode"
bl_label = "Change Color"
def declaration(self, builder: NodeBuilder):
@@ -13,8 +13,8 @@ class ChangeParticleColorNode(bpy.types.Node, BParticlesNode):
builder.execute_output("execute", "Execute")
-class ChangeParticleVelocityNode(bpy.types.Node, BParticlesNode):
- bl_idname = "bp_ChangeParticleVelocityNode"
+class ChangeParticleVelocityNode(bpy.types.Node, SimulationNode):
+ bl_idname = "fn_ChangeParticleVelocityNode"
bl_label = "Change Velocity"
mode: EnumProperty(
@@ -23,7 +23,7 @@ class ChangeParticleVelocityNode(bpy.types.Node, BParticlesNode):
('SET', "Set", "Set a specific velocity", 'NONE', 0),
('RANDOMIZE', "Randomize", "Apply some randomization to the velocity", 'NONE', 1),
],
- update= BParticlesNode.sync_tree,
+ update= SimulationNode.sync_tree,
)
def declaration(self, builder: NodeBuilder):
@@ -38,8 +38,8 @@ class ChangeParticleVelocityNode(bpy.types.Node, BParticlesNode):
layout.prop(self, "mode", text="")
-class ChangeParticleSizeNode(bpy.types.Node, BParticlesNode):
- bl_idname = "bp_ChangeParticleSizeNode"
+class ChangeParticleSizeNode(bpy.types.Node, SimulationNode):
+ bl_idname = "fn_ChangeParticleSizeNode"
bl_label = "Change Size"
def declaration(self, builder: NodeBuilder):
@@ -47,8 +47,8 @@ class ChangeParticleSizeNode(bpy.types.Node, BParticlesNode):
builder.execute_output("execute", "Execute")
-class ChangeParticlePosition(bpy.types.Node, BParticlesNode):
- bl_idname = "bp_ChangeParticlePositionNode"
+class ChangeParticlePosition(bpy.types.Node, SimulationNode):
+ bl_idname = "fn_ChangeParticlePositionNode"
bl_label = "Change Position"
def declaration(self, builder: NodeBuilder):
diff --git a/release/scripts/startup/nodes/bparticle_nodes/combine_influences.py b/release/scripts/startup/nodes/bparticle_nodes/combine_influences.py
index 09dd9fb09b4..9cdc5ac1ddd 100644
--- a/release/scripts/startup/nodes/bparticle_nodes/combine_influences.py
+++ b/release/scripts/startup/nodes/bparticle_nodes/combine_influences.py
@@ -1,9 +1,9 @@
import bpy
-from .. base import BParticlesNode
+from .. base import SimulationNode
from .. node_builder import NodeBuilder
-class CombineInfluencesNode(bpy.types.Node, BParticlesNode):
- bl_idname = "bp_CombineInfluencesNode"
+class CombineInfluencesNode(bpy.types.Node, SimulationNode):
+ bl_idname = "fn_CombineInfluencesNode"
bl_label = "Combine Influences"
def declaration(self, builder: NodeBuilder):
diff --git a/release/scripts/startup/nodes/bparticle_nodes/condition.py b/release/scripts/startup/nodes/bparticle_nodes/condition.py
index 16a5f972d8b..09de1ea6823 100644
--- a/release/scripts/startup/nodes/bparticle_nodes/condition.py
+++ b/release/scripts/startup/nodes/bparticle_nodes/condition.py
@@ -1,10 +1,10 @@
import bpy
from bpy.props import *
-from .. base import BParticlesNode
+from .. base import SimulationNode
from .. node_builder import NodeBuilder
-class ParticleConditionNode(bpy.types.Node, BParticlesNode):
- bl_idname = "bp_ParticleConditionNode"
+class ParticleConditionNode(bpy.types.Node, SimulationNode):
+ bl_idname = "fn_ParticleConditionNode"
bl_label = "Particle Condition"
execute_if_true__prop: NodeBuilder.ExecuteInputProperty()
diff --git a/release/scripts/startup/nodes/bparticle_nodes/events.py b/release/scripts/startup/nodes/bparticle_nodes/events.py
index 40dd0052255..581dbfdd34f 100644
--- a/release/scripts/startup/nodes/bparticle_nodes/events.py
+++ b/release/scripts/startup/nodes/bparticle_nodes/events.py
@@ -1,11 +1,11 @@
import bpy
from bpy.props import *
-from .. base import BParticlesNode
+from .. base import SimulationNode
from .. node_builder import NodeBuilder
-class AgeReachedEventNode(bpy.types.Node, BParticlesNode):
- bl_idname = "bp_AgeReachedEventNode"
+class AgeReachedEventNode(bpy.types.Node, SimulationNode):
+ bl_idname = "fn_AgeReachedEventNode"
bl_label = "Age Reached Event"
execute_on_event__prop: NodeBuilder.ExecuteInputProperty()
@@ -18,8 +18,8 @@ class AgeReachedEventNode(bpy.types.Node, BParticlesNode):
builder.influences_output("event", "Event")
-class MeshCollisionEventNode(bpy.types.Node, BParticlesNode):
- bl_idname = "bp_M
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list