[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