[Bf-blender-cvs] [4658bd0342c] temp-derived-node-tree-refactor: cleanup

Jacques Lucke noreply at git.blender.org
Wed Mar 3 16:12:19 CET 2021


Commit: 4658bd0342cd7bf27d0c1d0ae6fcbd8f97f2f8d4
Author: Jacques Lucke
Date:   Wed Mar 3 16:12:08 2021 +0100
Branches: temp-derived-node-tree-refactor
https://developer.blender.org/rB4658bd0342cd7bf27d0c1d0ae6fcbd8f97f2f8d4

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 e04135f3765..e06d6199cb8 100644
--- a/source/blender/modifiers/intern/MOD_nodes.cc
+++ b/source/blender/modifiers/intern/MOD_nodes.cc
@@ -314,10 +314,10 @@ class GeometryNodesEvaluator {
     }
 
     /* Multi-input sockets contain a vector of inputs. */
-    if (socket_to_compute.socket->is_multi_input_socket()) {
+    if (socket_to_compute->is_multi_input_socket()) {
       Vector<GMutablePointer> values;
       for (const XXXSocket from_socket : from_sockets) {
-        if (from_socket.socket->is_output()) {
+        if (from_socket->is_output()) {
           XXXOutputSocket from_output_socket{from_socket};
           const std::pair<XXXInputSocket, XXXOutputSocket> key = std::make_pair(
               socket_to_compute, from_output_socket);
@@ -342,7 +342,7 @@ class GeometryNodesEvaluator {
     }
 
     const XXXSocket from_socket = from_sockets[0];
-    if (from_socket.socket->is_output()) {
+    if (from_socket->is_output()) {
       const XXXOutputSocket from_output_socket{from_socket};
       const std::pair<XXXInputSocket, XXXOutputSocket> key = std::make_pair(socket_to_compute,
                                                                             from_output_socket);
@@ -364,7 +364,7 @@ class GeometryNodesEvaluator {
 
   void foreach_origin_socket(XXXInputSocket to_socket, FunctionRef<void(XXXSocket)> callback) const
   {
-    for (const OutputSocketRef *linked_socket : to_socket.socket->linked_sockets()) {
+    for (const OutputSocketRef *linked_socket : to_socket->linked_sockets()) {
       const NodeRef &linked_node = linked_socket->node();
       XXXOutputSocket linked_xxx_socket{to_socket.context, linked_socket};
       if (linked_node.is_group_input_node()) {
@@ -374,7 +374,7 @@ class GeometryNodesEvaluator {
         else {
           XXXInputSocket socket_in_parent_group =
               linked_xxx_socket.get_corresponding_group_node_input();
-          if (socket_in_parent_group.socket->is_linked()) {
+          if (socket_in_parent_group->is_linked()) {
             this->foreach_origin_socket(socket_in_parent_group, callback);
           }
           else {
@@ -384,7 +384,7 @@ class GeometryNodesEvaluator {
       }
       else if (linked_node.is_group_node()) {
         XXXInputSocket socket_in_group = linked_xxx_socket.get_corresponding_group_output_socket();
-        if (socket_in_group.socket->is_linked()) {
+        if (socket_in_group->is_linked()) {
           this->foreach_origin_socket(socket_in_group, callback);
         }
         else {
@@ -399,12 +399,11 @@ class GeometryNodesEvaluator {
 
   void compute_output_and_forward(const XXXOutputSocket socket_to_compute)
   {
-    const XXXNode node{socket_to_compute.context, &socket_to_compute.socket->node()};
+    const XXXNode node{socket_to_compute.context, &socket_to_compute->node()};
 
-    if (!socket_to_compute.socket->is_available()) {
+    if (!socket_to_compute->is_available()) {
       /* If the output is not available, use a default value. */
-      const CPPType &type = *blender::nodes::socket_cpp_type_get(
-          *socket_to_compute.socket->typeinfo());
+      const CPPType &type = *blender::nodes::socket_cpp_type_get(*socket_to_compute->typeinfo());
       void *buffer = allocator_.allocate(type.size(), type.alignment());
       type.copy_to_uninitialized(type.default_value(), buffer);
       this->forward_to_inputs(socket_to_compute, {type, buffer});
@@ -550,7 +549,7 @@ class GeometryNodesEvaluator {
     const CPPType &from_type = *value_to_forward.type();
     Vector<XXXInputSocket> to_sockets_same_type;
     for (const XXXInputSocket &to_socket : to_sockets_all) {
-      const CPPType &to_type = *blender::nodes::socket_cpp_type_get(*to_socket.socket->typeinfo());
+      const CPPType &to_type = *blender::nodes::socket_cpp_type_get(*to_socket->typeinfo());
       const std::pair<XXXInputSocket, XXXOutputSocket> key = std::make_pair(to_socket,
                                                                             from_socket);
       if (from_type == to_type) {
@@ -601,7 +600,7 @@ class GeometryNodesEvaluator {
   void foreach_input_to_forward_to(XXXOutputSocket from_socket,
                                    FunctionRef<void(XXXInputSocket)> callback) const
   {
-    for (const InputSocketRef *linked_socket : from_socket.socket->linked_sockets()) {
+    for (const InputSocketRef *linked_socket : from_socket->linked_sockets()) {
       const NodeRef &linked_node = linked_socket->node();
       XXXInputSocket linked_xxx_socket{from_socket.context, linked_socket};
       if (linked_node.is_group_output_node()) {
@@ -632,8 +631,8 @@ class GeometryNodesEvaluator {
 
   GMutablePointer get_unlinked_input_value(const XXXInputSocket &socket)
   {
-    bNodeSocket *bsocket = socket.socket->bsocket();
-    const CPPType &type = *blender::nodes::socket_cpp_type_get(*socket.socket->typeinfo());
+    bNodeSocket *bsocket = socket->bsocket();
+    const CPPType &type = *blender::nodes::socket_cpp_type_get(*socket->typeinfo());
     void *buffer = allocator_.allocate(type.size(), type.alignment());
 
     if (bsocket->type == SOCK_OBJECT) {
diff --git a/source/blender/nodes/NOD_XXX_node_tree.hh b/source/blender/nodes/NOD_XXX_node_tree.hh
index ec912734a72..675784c858b 100644
--- a/source/blender/nodes/NOD_XXX_node_tree.hh
+++ b/source/blender/nodes/NOD_XXX_node_tree.hh
@@ -95,6 +95,7 @@ struct XXXSocket {
   friend bool operator!=(const XXXSocket &a, const XXXSocket &b);
 
   operator bool() const;
+  const SocketRef *operator->() const;
 
   uint64_t hash() const;
 };
@@ -111,6 +112,7 @@ struct XXXInputSocket {
   friend bool operator!=(const XXXInputSocket &a, const XXXInputSocket &b);
 
   operator bool() const;
+  const InputSocketRef *operator->() const;
 
   uint64_t hash() const;
 
@@ -132,6 +134,7 @@ struct XXXOutputSocket {
   friend bool operator!=(const XXXOutputSocket &a, const XXXOutputSocket &b);
 
   operator bool() const;
+  const OutputSocketRef *operator->() const;
 
   uint64_t hash() const;
 
@@ -299,6 +302,11 @@ inline XXXSocket::operator bool() const
   return socket != nullptr;
 }
 
+inline const SocketRef *XXXSocket::operator->() const
+{
+  return socket;
+}
+
 inline uint64_t XXXSocket::hash() const
 {
   return DefaultHash<XXXNodeTreeContext>{}(context) ^ DefaultHash<const SocketRef *>{}(socket);
@@ -335,6 +343,11 @@ inline XXXInputSocket::operator bool() const
   return socket != nullptr;
 }
 
+inline const InputSocketRef *XXXInputSocket::operator->() const
+{
+  return socket;
+}
+
 inline uint64_t XXXInputSocket::hash() const
 {
   return DefaultHash<XXXNodeTreeContext>{}(context) ^
@@ -370,6 +383,11 @@ inline XXXOutputSocket::operator bool() const
   return socket != nullptr;
 }
 
+inline const OutputSocketRef *XXXOutputSocket::operator->() const
+{
+  return socket;
+}
+
 inline uint64_t XXXOutputSocket::hash() const
 {
   return DefaultHash<XXXNodeTreeContext>{}(context) ^



More information about the Bf-blender-cvs mailing list