[Bf-blender-cvs] [5d0b263c04d] temp-derived-node-tree-refactor: cleanup
Jacques Lucke
noreply at git.blender.org
Wed Mar 3 16:12:19 CET 2021
Commit: 5d0b263c04d79d9cc00ac7db2b499eb73d1dd7cb
Author: Jacques Lucke
Date: Wed Mar 3 16:09:28 2021 +0100
Branches: temp-derived-node-tree-refactor
https://developer.blender.org/rB5d0b263c04d79d9cc00ac7db2b499eb73d1dd7cb
cleanup
===================================================================
M source/blender/modifiers/intern/MOD_nodes.cc
M source/blender/nodes/NOD_XXX_node_tree.hh
===================================================================
diff --git a/source/blender/modifiers/intern/MOD_nodes.cc b/source/blender/modifiers/intern/MOD_nodes.cc
index 45fbf8dea7f..e04135f3765 100644
--- a/source/blender/modifiers/intern/MOD_nodes.cc
+++ b/source/blender/modifiers/intern/MOD_nodes.cc
@@ -413,7 +413,7 @@ class GeometryNodesEvaluator {
/* Prepare inputs required to execute the node. */
GValueMap<StringRef> node_inputs_map{allocator_};
- for (const InputSocketRef *input_socket : node.node->inputs()) {
+ for (const InputSocketRef *input_socket : node->inputs()) {
if (input_socket->is_available()) {
Vector<GMutablePointer> values = this->get_input_values({node.context, input_socket});
for (int i = 0; i < values.size(); ++i) {
@@ -433,7 +433,7 @@ class GeometryNodesEvaluator {
this->execute_node(node, params);
/* Forward computed outputs to linked input sockets. */
- for (const OutputSocketRef *output_socket : node.node->outputs()) {
+ 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);
@@ -466,7 +466,7 @@ class GeometryNodesEvaluator {
void store_ui_hints(const XXXNode node, GeoNodeExecParams params) const
{
- for (const InputSocketRef *dsocket : node.node->inputs()) {
+ for (const InputSocketRef *dsocket : node->inputs()) {
if (!dsocket->is_available()) {
continue;
}
@@ -474,7 +474,7 @@ class GeometryNodesEvaluator {
continue;
}
- bNodeTree *btree_cow = node.node->btree();
+ bNodeTree *btree_cow = node->btree();
bNodeTree *btree_original = (bNodeTree *)DEG_get_original_id((ID *)btree_cow);
const NodeTreeEvaluationContext context(*self_object_, *modifier_);
@@ -485,7 +485,7 @@ class GeometryNodesEvaluator {
component->attribute_foreach(
[&](StringRefNull attribute_name, const AttributeMetaData &UNUSED(meta_data)) {
BKE_nodetree_attribute_hint_add(
- *btree_original, context, *node.node->bnode(), attribute_name);
+ *btree_original, context, *node->bnode(), attribute_name);
return true;
});
}
@@ -499,7 +499,7 @@ class GeometryNodesEvaluator {
MFContextBuilder fn_context;
MFParamsBuilder fn_params{fn, 1};
Vector<GMutablePointer> input_data;
- for (const InputSocketRef *dsocket : node.node->inputs()) {
+ for (const InputSocketRef *dsocket : node->inputs()) {
if (dsocket->is_available()) {
GMutablePointer data = params.extract_input(dsocket->identifier());
fn_params.add_readonly_single_input(GSpan(*data.type(), data.get(), 1));
@@ -507,7 +507,7 @@ class GeometryNodesEvaluator {
}
}
Vector<GMutablePointer> output_data;
- for (const OutputSocketRef *dsocket : node.node->outputs()) {
+ for (const OutputSocketRef *dsocket : node->outputs()) {
if (dsocket->is_available()) {
const CPPType &type = *blender::nodes::socket_cpp_type_get(*dsocket->typeinfo());
void *buffer = allocator_.allocate(type.size(), type.alignment());
@@ -520,10 +520,10 @@ class GeometryNodesEvaluator {
value.destruct();
}
int output_index = 0;
- for (const int i : node.node->outputs().index_range()) {
- if (node.node->output(i).is_available()) {
+ for (const int i : node->outputs().index_range()) {
+ if (node->output(i).is_available()) {
GMutablePointer value = output_data[output_index];
- params.set_output_by_move(node.node->output(i).identifier(), value);
+ params.set_output_by_move(node->output(i).identifier(), value);
value.destruct();
output_index++;
}
@@ -532,7 +532,7 @@ class GeometryNodesEvaluator {
void execute_unknown_node(const XXXNode node, GeoNodeExecParams params)
{
- for (const OutputSocketRef *socket : node.node->outputs()) {
+ for (const OutputSocketRef *socket : node->outputs()) {
if (socket->is_available()) {
const CPPType &type = *blender::nodes::socket_cpp_type_get(*socket->typeinfo());
params.set_output_by_copy(socket->identifier(), {type, type.default_value()});
diff --git a/source/blender/nodes/NOD_XXX_node_tree.hh b/source/blender/nodes/NOD_XXX_node_tree.hh
index 11e3f5d67a8..ec912734a72 100644
--- a/source/blender/nodes/NOD_XXX_node_tree.hh
+++ b/source/blender/nodes/NOD_XXX_node_tree.hh
@@ -77,6 +77,7 @@ struct XXXNode {
friend bool operator!=(const XXXNode &a, const XXXNode &b);
operator bool() const;
+ const NodeRef *operator->() const;
uint64_t hash() const;
};
@@ -253,6 +254,11 @@ inline XXXNode::operator bool() const
return node != nullptr;
}
+inline const NodeRef *XXXNode::operator->() const
+{
+ return node;
+}
+
inline uint64_t XXXNode::hash() const
{
return DefaultHash<XXXNodeTreeContext>{}(context) ^ DefaultHash<const NodeRef *>{}(node);
More information about the Bf-blender-cvs
mailing list