[Bf-blender-cvs] [1a778c20083] temp-derived-node-tree-refactor: make node members private

Jacques Lucke noreply at git.blender.org
Thu Mar 4 16:55:55 CET 2021


Commit: 1a778c200839f9ccb7b86c4abbf35572e23538c3
Author: Jacques Lucke
Date:   Thu Mar 4 16:38:10 2021 +0100
Branches: temp-derived-node-tree-refactor
https://developer.blender.org/rB1a778c200839f9ccb7b86c4abbf35572e23538c3

make node members private

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

M	source/blender/modifiers/intern/MOD_nodes.cc
M	source/blender/nodes/NOD_XXX_node_tree.hh
M	source/blender/nodes/NOD_node_tree_multi_function.hh
M	source/blender/nodes/function/nodes/node_fn_random_float.cc
M	source/blender/nodes/intern/node_tree_multi_function.cc
M	source/blender/nodes/shader/nodes/node_shader_math.cc

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

diff --git a/source/blender/modifiers/intern/MOD_nodes.cc b/source/blender/modifiers/intern/MOD_nodes.cc
index ac3633f0041..ca4cfe796af 100644
--- a/source/blender/modifiers/intern/MOD_nodes.cc
+++ b/source/blender/modifiers/intern/MOD_nodes.cc
@@ -377,7 +377,7 @@ class GeometryNodesEvaluator {
     GValueMap<StringRef> node_inputs_map{allocator_};
     for (const InputSocketRef *input_socket : node->inputs()) {
       if (input_socket->is_available()) {
-        Vector<GMutablePointer> values = this->get_input_values({node.context, input_socket});
+        Vector<GMutablePointer> values = this->get_input_values({node.context(), input_socket});
         for (int i = 0; i < values.size(); ++i) {
           /* Values from Multi Input Sockets are stored in input map with the format
            * <identifier>[<index>]. */
@@ -398,7 +398,7 @@ class GeometryNodesEvaluator {
     for (const OutputSocketRef *output_socket : node->outputs()) {
       if (output_socket->is_available()) {
         GMutablePointer value = node_outputs_map.extract(output_socket->identifier());
-        this->forward_to_inputs({node.context, output_socket}, value);
+        this->forward_to_inputs({node.context(), output_socket}, value);
       }
     }
   }
diff --git a/source/blender/nodes/NOD_XXX_node_tree.hh b/source/blender/nodes/NOD_XXX_node_tree.hh
index 54aa24f3c9d..e39378a35ab 100644
--- a/source/blender/nodes/NOD_XXX_node_tree.hh
+++ b/source/blender/nodes/NOD_XXX_node_tree.hh
@@ -48,13 +48,18 @@ class XXXNodeTreeContext {
   bool is_root() const;
 };
 
-struct XXXNode {
-  const XXXNodeTreeContext *context = nullptr;
-  const NodeRef *node_ref = nullptr;
+class XXXNode {
+ private:
+  const XXXNodeTreeContext *context_ = nullptr;
+  const NodeRef *node_ref_ = nullptr;
 
+ public:
   XXXNode() = default;
   XXXNode(const XXXNodeTreeContext *context, const NodeRef *node);
 
+  const XXXNodeTreeContext *context() const;
+  const NodeRef *node_ref() const;
+
   friend bool operator==(const XXXNode &a, const XXXNode &b);
   friend bool operator!=(const XXXNode &a, const XXXNode &b);
 
@@ -190,14 +195,24 @@ inline bool XXXNodeTreeContext::is_root() const
  */
 
 inline XXXNode::XXXNode(const XXXNodeTreeContext *context, const NodeRef *node_ref)
-    : context(context), node_ref(node_ref)
+    : context_(context), node_ref_(node_ref)
 {
   BLI_assert(node_ref == nullptr || &node_ref->tree() == &context->tree());
 }
 
+inline const XXXNodeTreeContext *XXXNode::context() const
+{
+  return context_;
+}
+
+inline const NodeRef *XXXNode::node_ref() const
+{
+  return node_ref_;
+}
+
 inline bool operator==(const XXXNode &a, const XXXNode &b)
 {
-  return a.context == b.context && a.node_ref == b.node_ref;
+  return a.context_ == b.context_ && a.node_ref_ == b.node_ref_;
 }
 
 inline bool operator!=(const XXXNode &a, const XXXNode &b)
@@ -207,18 +222,18 @@ inline bool operator!=(const XXXNode &a, const XXXNode &b)
 
 inline XXXNode::operator bool() const
 {
-  return node_ref != nullptr;
+  return node_ref_ != nullptr;
 }
 
 inline const NodeRef *XXXNode::operator->() const
 {
-  return node_ref;
+  return node_ref_;
 }
 
 inline uint64_t XXXNode::hash() const
 {
-  return DefaultHash<const XXXNodeTreeContext *>{}(context) ^
-         DefaultHash<const NodeRef *>{}(node_ref);
+  return DefaultHash<const XXXNodeTreeContext *>{}(context_) ^
+         DefaultHash<const NodeRef *>{}(node_ref_);
 }
 
 /* --------------------------------------------------------------------
diff --git a/source/blender/nodes/NOD_node_tree_multi_function.hh b/source/blender/nodes/NOD_node_tree_multi_function.hh
index bed5b72589c..0d2d25ff5ef 100644
--- a/source/blender/nodes/NOD_node_tree_multi_function.hh
+++ b/source/blender/nodes/NOD_node_tree_multi_function.hh
@@ -112,10 +112,10 @@ class MFNetworkTreeMap {
 
   void add_try_match(const XXXNode &dnode, fn::MFNode &node)
   {
-    this->add_try_match(*dnode.context,
+    this->add_try_match(*dnode.context(),
                         dnode->inputs().cast<const SocketRef *>(),
                         node.inputs().cast<fn::MFSocket *>());
-    this->add_try_match(*dnode.context,
+    this->add_try_match(*dnode.context(),
                         dnode->outputs().cast<const SocketRef *>(),
                         node.outputs().cast<fn::MFSocket *>());
   }
diff --git a/source/blender/nodes/function/nodes/node_fn_random_float.cc b/source/blender/nodes/function/nodes/node_fn_random_float.cc
index b6bc6e4b802..60cbe4a5405 100644
--- a/source/blender/nodes/function/nodes/node_fn_random_float.cc
+++ b/source/blender/nodes/function/nodes/node_fn_random_float.cc
@@ -70,7 +70,7 @@ static void fn_node_random_float_expand_in_mf_network(
   blender::nodes::XXXNode node = builder.dnode();
   const blender::DefaultHash<blender::StringRefNull> hasher;
   function_seed = 33 * function_seed + hasher(node->name());
-  for (const blender::nodes::XXXNodeTreeContext *context = node.context; context != nullptr;
+  for (const blender::nodes::XXXNodeTreeContext *context = node.context(); context != nullptr;
        context = context->parent_context()) {
     function_seed = 33 * function_seed + hasher(context->parent_node()->name());
   }
diff --git a/source/blender/nodes/intern/node_tree_multi_function.cc b/source/blender/nodes/intern/node_tree_multi_function.cc
index 8a5d2cce50f..5cb2dcf9c57 100644
--- a/source/blender/nodes/intern/node_tree_multi_function.cc
+++ b/source/blender/nodes/intern/node_tree_multi_function.cc
@@ -88,8 +88,8 @@ static void insert_dummy_node(CommonMFNetworkBuilderData &common, const XXXNode
   fn::MFDummyNode &dummy_node = common.network.add_dummy(
       dnode->name(), input_types, output_types, input_names, output_names);
 
-  common.network_map.add(*dnode.context, input_dsockets, dummy_node.inputs());
-  common.network_map.add(*dnode.context, output_dsockets, dummy_node.outputs());
+  common.network_map.add(*dnode.context(), input_dsockets, dummy_node.inputs());
+  common.network_map.add(*dnode.context(), output_dsockets, dummy_node.outputs());
 }
 
 static bool has_data_sockets(const XXXNode &dnode)
@@ -115,7 +115,7 @@ static void foreach_node_to_insert(CommonMFNetworkBuilderData &common,
       return;
     }
     /* Don't insert non-root group input/output nodes, because they will be inlined. */
-    if (!dnode.context->is_root()) {
+    if (!dnode.context()->is_root()) {
       if (dnode->is_group_input_node() || dnode->is_group_output_node()) {
         return;
       }
@@ -274,7 +274,7 @@ static void insert_links_and_unlinked_inputs(CommonMFNetworkBuilderData &common)
 {
   foreach_node_to_insert(common, [&](const XXXNode dnode) {
     for (const InputSocketRef *socket_ref : dnode->inputs()) {
-      const XXXInputSocket to_dsocket{dnode.context, socket_ref};
+      const XXXInputSocket to_dsocket{dnode.context(), socket_ref};
       if (!to_dsocket->is_available()) {
         continue;
       }
@@ -396,14 +396,15 @@ static NodeExpandType get_node_expand_type(MFNetworkTreeMap &network_map,
   for (const InputSocketRef *dsocket : dnode->inputs()) {
     if (dsocket->is_available()) {
       for (fn::MFInputSocket *mf_input :
-           network_map.lookup(XXXInputSocket(dnode.context, dsocket))) {
+           network_map.lookup(XXXInputSocket(dnode.context(), dsocket))) {
         check_mf_node(mf_input->node());
       }
     }
   }
   for (const OutputSocketRef *dsocket : dnode->outputs()) {
     if (dsocket->is_available()) {
-      fn::MFOutputSocket &mf_output = network_map.lookup(XXXOutputSocket(dnode.context, dsocket));
+      fn::MFOutputSocket &mf_output = network_map.lookup(
+          XXXOutputSocket(dnode.context(), dsocket));
       check_mf_node(mf_output.node());
     }
   }
@@ -430,7 +431,7 @@ static const fn::MultiFunction &create_function_for_node_that_expands_into_multi
       MFDataType data_type = *socket_mf_type_get(*dsocket->typeinfo());
       fn::MFOutputSocket &fn_input = network.add_input(data_type.to_string(), data_type);
       for (fn::MFInputSocket *mf_input :
-           network_map.lookup(XXXInputSocket(dnode.context, dsocket))) {
+           network_map.lookup(XXXInputSocket(dnode.context(), dsocket))) {
         network.add_link(fn_input, *mf_input);
         dummy_fn_inputs.append(&fn_input);
       }
@@ -439,7 +440,8 @@ static const fn::MultiFunction &create_function_for_node_that_expands_into_multi
   Vector<const fn::MFInputSocket *> dummy_fn_outputs;
   for (const OutputSocketRef *dsocket : dnode->outputs()) {
     if (dsocket->is_available()) {
-      fn::MFOutputSocket &mf_output = network_map.lookup(XXXOutputSocket(dnode.context, dsocket));
+      fn::MFOutputSocket &mf_output = network_map.lookup(
+          XXXOutputSocket(dnode.context(), dsocket));
       MFDataType data_type = mf_output.data_type();
       fn::MFInputSocket &fn_output = network.add_output(data_type.to_string(), data_type);
       network.add_link(mf_output, fn_output);
diff --git a/source/blender/nodes/shader/nodes/node_shader_math.cc b/source/blender/nodes/shader/nodes/node_shader_math.cc
index 82f0d89d745..5cfbb3745bc 100644
--- a/source/blender/nodes/shader/nodes/node_shader_math.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_math.cc
@@ -116,7 +116,7 @@ static void sh_node_math_expand_in_mf_network(blender::nodes::NodeMFNetworkBuild
   blender::fn::MFNetwork &network = builder.network();
   blender::fn::MFFunctionNode &base_node = network.add_function(base_function);
 
-  builder.network_map().add_try_match(*dnode.context, dnode->inputs(), base_node.inputs());
+  builder.network_map().add_try_match(*dnode.context(), dnode->inputs(), base_node.inputs());
 
   const bool clamp_output = builder.bnode().custom2 != 0;
   if (clamp_output) {
@@ -126,11 +126,11 @@ static void sh_node_math_expand_in_mf_network(blender::nodes::NodeMFNetworkBuild
                                                               }};
     blender::fn::MFFunctionNode &clamp_node = network.add_function(clamp_fn);
     network.add_link(base_node.output(0), clamp_node.input(0));
-    builder.network_map().add(blender::nodes::XXXOutputSocket(dnode.context, &dnode->output(0)),
+    builder.network_map().add(blender::nodes::XXXOutputSocket(dnode.cont

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list