[Bf-blender-cvs] [96f4921704e] functions: refactor IndexedBParticlesTree
Jacques Lucke
noreply at git.blender.org
Thu Jul 4 16:45:48 CEST 2019
Commit: 96f4921704ec0461bfffc98df982ce9746ca6485
Author: Jacques Lucke
Date: Thu Jul 4 10:32:57 2019 +0200
Branches: functions
https://developer.blender.org/rB96f4921704ec0461bfffc98df982ce9746ca6485
refactor IndexedBParticlesTree
===================================================================
M source/blender/simulations/bparticles/c_wrapper.cpp
===================================================================
diff --git a/source/blender/simulations/bparticles/c_wrapper.cpp b/source/blender/simulations/bparticles/c_wrapper.cpp
index 717f9f972fa..3ff558edbf7 100644
--- a/source/blender/simulations/bparticles/c_wrapper.cpp
+++ b/source/blender/simulations/bparticles/c_wrapper.cpp
@@ -225,16 +225,17 @@ class ModifierStepDescription : public StepDescription {
}
};
-class BParticlesTreeQuery : public IndexedNodeTree {
+class IndexedBParticlesTree {
private:
+ IndexedNodeTree &m_indexed_tree;
SmallVector<bNode *> m_particle_type_nodes;
SmallVector<bNode *> m_emitter_nodes;
public:
- BParticlesTreeQuery(bNodeTree *btree) : IndexedNodeTree(btree)
+ IndexedBParticlesTree(IndexedNodeTree &indexed_tree) : m_indexed_tree(indexed_tree)
{
- m_particle_type_nodes = this->nodes_with_idname("bp_ParticleTypeNode");
- m_emitter_nodes = this->nodes_with_idname("bp_MeshEmitterNode");
+ m_particle_type_nodes = indexed_tree.nodes_with_idname("bp_ParticleTypeNode");
+ m_emitter_nodes = indexed_tree.nodes_with_idname("bp_MeshEmitterNode");
}
ArrayRef<bNode *> type_nodes() const
@@ -251,9 +252,11 @@ class BParticlesTreeQuery : public IndexedNodeTree {
static ModifierStepDescription *step_description_from_node_tree(bNodeTree *btree)
{
ModifierStepDescription *step_description = new ModifierStepDescription();
- BParticlesTreeQuery indexed_btree(btree);
- auto type_nodes = indexed_btree.type_nodes();
+ IndexedNodeTree indexed_tree(btree);
+ IndexedBParticlesTree bparticles_tree(indexed_tree);
+
+ auto type_nodes = bparticles_tree.type_nodes();
for (uint i = 0; i < type_nodes.size(); i++) {
bNode *particle_type_node = type_nodes[i];
@@ -265,10 +268,10 @@ static ModifierStepDescription *step_description_from_node_tree(bNodeTree *btree
step_description->m_particle_type_names.append(type_name);
}
- auto emitter_nodes = indexed_btree.emitter_nodes();
+ auto emitter_nodes = bparticles_tree.emitter_nodes();
for (bNode *emitter_node : emitter_nodes) {
bNodeSocket *emitter_output = (bNodeSocket *)emitter_node->outputs.first;
- auto connected_nodes = indexed_btree.nodes_connected_to_socket(emitter_output);
+ auto connected_nodes = indexed_tree.nodes_connected_to_socket(emitter_output);
for (bNode *connected_node : connected_nodes) {
PointerRNA rna;
RNA_pointer_create(&btree->id, &RNA_Node, emitter_node, &rna);
More information about the Bf-blender-cvs
mailing list