[Bf-blender-cvs] [98a4a08fce6] functions: various automated variable renamings
Jacques Lucke
noreply at git.blender.org
Sat Nov 30 16:40:09 CET 2019
Commit: 98a4a08fce64daef8ab6fa42922d309fc9f58e03
Author: Jacques Lucke
Date: Wed Nov 27 16:06:55 2019 +0100
Branches: functions
https://developer.blender.org/rB98a4a08fce64daef8ab6fa42922d309fc9f58e03
various automated variable renamings
===================================================================
M source/blender/functions/CMakeLists.txt
A source/blender/functions/FN_inlined_tree_multi_function_network.h
A source/blender/functions/FN_inlined_tree_multi_function_network_generation.h
D source/blender/functions/FN_vtree_multi_function_network.h
D source/blender/functions/FN_vtree_multi_function_network_generation.h
R051 source/blender/functions/intern/vtree_multi_function_network/builder.cc source/blender/functions/intern/inlined_tree_multi_function_network/builder.cc
R060 source/blender/functions/intern/vtree_multi_function_network/builder.h source/blender/functions/intern/inlined_tree_multi_function_network/builder.h
R056 source/blender/functions/intern/vtree_multi_function_network/generate.cc source/blender/functions/intern/inlined_tree_multi_function_network/generate.cc
R055 source/blender/functions/intern/vtree_multi_function_network/mappings.cc source/blender/functions/intern/inlined_tree_multi_function_network/mappings.cc
R071 source/blender/functions/intern/vtree_multi_function_network/mappings.h source/blender/functions/intern/inlined_tree_multi_function_network/mappings.h
R075 source/blender/functions/intern/vtree_multi_function_network/mappings_nodes.cc source/blender/functions/intern/inlined_tree_multi_function_network/mappings_nodes.cc
R096 source/blender/functions/intern/vtree_multi_function_network/mappings_sockets.cc source/blender/functions/intern/inlined_tree_multi_function_network/mappings_sockets.cc
M source/blender/modifiers/intern/MOD_functiondeform_cxx.cc
M source/blender/modifiers/intern/MOD_functionpoints_cxx.cc
M source/blender/simulations/bparticles/node_frontend.cpp
M source/blender/simulations/bparticles/particle_function_builder.cpp
M source/blender/simulations/bparticles/particle_function_builder.hpp
===================================================================
diff --git a/source/blender/functions/CMakeLists.txt b/source/blender/functions/CMakeLists.txt
index 5d83c907b38..81c31b155ec 100644
--- a/source/blender/functions/CMakeLists.txt
+++ b/source/blender/functions/CMakeLists.txt
@@ -25,11 +25,11 @@ set(SRC
intern/multi_functions/lists.cc
intern/multi_functions/mixed.cc
intern/multi_functions/network.cc
- intern/vtree_multi_function_network/builder.cc
- intern/vtree_multi_function_network/generate.cc
- intern/vtree_multi_function_network/mappings_nodes.cc
- intern/vtree_multi_function_network/mappings_sockets.cc
- intern/vtree_multi_function_network/mappings.cc
+ intern/inlined_tree_multi_function_network/builder.cc
+ intern/inlined_tree_multi_function_network/generate.cc
+ intern/inlined_tree_multi_function_network/mappings_nodes.cc
+ intern/inlined_tree_multi_function_network/mappings_sockets.cc
+ intern/inlined_tree_multi_function_network/mappings.cc
intern/attributes_block_container.cc
intern/attributes_ref.cc
intern/cpp_type.cc
@@ -57,14 +57,14 @@ set(SRC
FN_multi_function_param_type.h
FN_multi_function.h
FN_multi_functions.h
- FN_vtree_multi_function_network_generation.h
- FN_vtree_multi_function_network.h
+ FN_inlined_tree_multi_function_network_generation.h
+ FN_inlined_tree_multi_function_network.h
intern/multi_functions/lists.h
intern/multi_functions/mixed.h
intern/multi_functions/network.h
- intern/vtree_multi_function_network/builder.h
- intern/vtree_multi_function_network/mappings.h
+ intern/inlined_tree_multi_function_network/builder.h
+ intern/inlined_tree_multi_function_network/mappings.h
intern/cpp_types.h
)
diff --git a/source/blender/functions/FN_inlined_tree_multi_function_network.h b/source/blender/functions/FN_inlined_tree_multi_function_network.h
new file mode 100644
index 00000000000..80a86127a66
--- /dev/null
+++ b/source/blender/functions/FN_inlined_tree_multi_function_network.h
@@ -0,0 +1,192 @@
+#ifndef __FN_VTREE_MULTI_FUNCTION_NETWORK_H__
+#define __FN_VTREE_MULTI_FUNCTION_NETWORK_H__
+
+#include "BKE_inlined_node_tree.h"
+
+#include "BLI_multi_map.h"
+
+#include "FN_multi_function_network.h"
+
+namespace FN {
+
+using BKE::InlinedNodeTree;
+using BKE::XInputSocket;
+using BKE::XNode;
+using BKE::XOutputSocket;
+using BKE::XSocket;
+using BLI::MultiMap;
+
+#define VTreeMFSocketMap_UNMAPPED UINT_MAX
+#define VTreeMFSocketMap_MULTIMAPPED (UINT_MAX - 1)
+
+class VTreeMFSocketMap {
+ private:
+ /* An input xsocket can be mapped to multiple sockets.
+ * An output xsocket can be mapped to at most one socket.
+ */
+ const InlinedNodeTree *m_inlined_tree;
+ const MFNetwork *m_network;
+ Array<uint> m_single_socket_by_xsocket;
+ MultiMap<uint, uint> m_multiple_inputs_by_xsocket;
+ Array<uint> m_xsocket_by_socket;
+
+ public:
+ VTreeMFSocketMap(const InlinedNodeTree &inlined_tree,
+ const MFNetwork &network,
+ Array<uint> single_socket_by_xsocket,
+ MultiMap<uint, uint> multiple_inputs_by_xsocket,
+ Array<uint> xsocket_by_socket)
+ : m_inlined_tree(&inlined_tree),
+ m_network(&network),
+ m_single_socket_by_xsocket(std::move(single_socket_by_xsocket)),
+ m_multiple_inputs_by_xsocket(std::move(multiple_inputs_by_xsocket)),
+ m_xsocket_by_socket(std::move(xsocket_by_socket))
+ {
+ }
+
+ bool is_mapped(const XSocket &xsocket) const
+ {
+ return m_single_socket_by_xsocket[xsocket.id()] < VTreeMFSocketMap_MULTIMAPPED;
+ }
+
+ bool is_mapped(const MFSocket &socket) const
+ {
+ return m_xsocket_by_socket[socket.id()] != VTreeMFSocketMap_UNMAPPED;
+ }
+
+ const MFInputSocket &lookup_singly_mapped_input_socket(const XInputSocket &xsocket) const
+ {
+ BLI_assert(this->lookup_socket(xsocket).size() == 1);
+ uint mapped_id = m_single_socket_by_xsocket[xsocket.id()];
+ return m_network->socket_by_id(mapped_id).as_input();
+ }
+
+ Vector<const MFInputSocket *> lookup_socket(const XInputSocket &xsocket) const
+ {
+ uint id = xsocket.id();
+ uint mapped_value = m_single_socket_by_xsocket[id];
+ switch (mapped_value) {
+ case VTreeMFSocketMap_UNMAPPED: {
+ return {};
+ }
+ case VTreeMFSocketMap_MULTIMAPPED: {
+ Vector<const MFInputSocket *> sockets;
+ for (uint mapped_id : m_multiple_inputs_by_xsocket.lookup(id)) {
+ sockets.append(&m_network->socket_by_id(mapped_id).as_input());
+ }
+ return sockets;
+ }
+ default: {
+ uint mapped_id = mapped_value;
+ const MFInputSocket &socket = m_network->socket_by_id(mapped_id).as_input();
+ return {&socket};
+ }
+ }
+ }
+
+ const MFOutputSocket &lookup_socket(const XOutputSocket &xsocket) const
+ {
+ uint mapped_id = m_single_socket_by_xsocket[xsocket.id()];
+ return m_network->socket_by_id(mapped_id).as_output();
+ }
+
+ const XInputSocket &lookup_xsocket(const MFInputSocket &socket) const
+ {
+ uint mapped_id = m_xsocket_by_socket[socket.id()];
+ return m_inlined_tree->socket_by_id(mapped_id).as_input();
+ }
+
+ const XOutputSocket &lookup_xsocket(const MFOutputSocket &socket) const
+ {
+ uint mapped_id = m_xsocket_by_socket[socket.id()];
+ return m_inlined_tree->socket_by_id(mapped_id).as_output();
+ }
+};
+
+class VTreeMFNetwork {
+ private:
+ const InlinedNodeTree &m_inlined_tree;
+ std::unique_ptr<MFNetwork> m_network;
+ VTreeMFSocketMap m_socket_map;
+
+ public:
+ VTreeMFNetwork(const InlinedNodeTree &inlined_tree,
+ std::unique_ptr<MFNetwork> network,
+ VTreeMFSocketMap socket_map)
+ : m_inlined_tree(inlined_tree),
+ m_network(std::move(network)),
+ m_socket_map(std::move(socket_map))
+ {
+ }
+
+ const InlinedNodeTree &inlined_tree() const
+ {
+ return m_inlined_tree;
+ }
+
+ const MFNetwork &network() const
+ {
+ return *m_network;
+ }
+
+ bool is_mapped(const XSocket &xsocket) const
+ {
+ return m_socket_map.is_mapped(xsocket);
+ }
+
+ bool is_mapped(const MFSocket &socket) const
+ {
+ return m_socket_map.is_mapped(socket);
+ }
+
+ const MFInputSocket &lookup_dummy_socket(const XInputSocket &xsocket) const
+ {
+ const MFInputSocket &socket = m_socket_map.lookup_singly_mapped_input_socket(xsocket);
+ BLI_assert(socket.node().is_dummy());
+ return socket;
+ }
+
+ const MFOutputSocket &lookup_dummy_socket(const XOutputSocket &xsocket) const
+ {
+ const MFOutputSocket &socket = this->lookup_socket(xsocket);
+ BLI_assert(socket.node().is_dummy());
+ return socket;
+ }
+
+ const MFOutputSocket &lookup_socket(const XOutputSocket &xsocket) const
+ {
+ return m_socket_map.lookup_socket(xsocket);
+ }
+
+ const XInputSocket &lookup_xsocket(const MFInputSocket &socket) const
+ {
+ return m_socket_map.lookup_xsocket(socket);
+ }
+
+ const XOutputSocket &lookup_xsocket(const MFOutputSocket &socket) const
+ {
+ return m_socket_map.lookup_xsocket(socket);
+ }
+
+ void lookup_dummy_sockets(ArrayRef<const XOutputSocket *> xsockets,
+ MutableArrayRef<const MFOutputSocket *> r_result) const
+ {
+ BLI_assert(xsockets.size() == r_result.size());
+ for (uint i : xsockets.index_iterator()) {
+ r_result[i] = &this->lookup_socket(*xsockets[i]);
+ }
+ }
+
+ void lookup_dummy_sockets(ArrayRef<const XInputSocket *> xsockets,
+ MutableArrayRef<const MFInputSocket *> r_result) const
+ {
+ BLI_assert(xsockets.size() == r_result.size());
+ for (uint i : xsockets.index_iterator()) {
+ r_result[i] = &this->lookup_dummy_socket(*xsockets[i]);
+ }
+ }
+};
+
+} // namespace FN
+
+#endif /* __FN_VTREE_MULTI_FUNCTION_NETWORK_H__ */
diff --git a/source/blender/functions/FN_inlined_tree_multi_function_network_generation.h b/source/blender/functions/FN_inlined_tree_multi_function_network_generation.h
new file mode 100644
index 00000000000..459b0960e3f
--- /dev/null
+++ b/source/blender/functions/FN_inlined_tree_multi_function_network_generation.h
@@ -0,0 +1,20 @@
+#ifndef __FN_VTREE_MULTI_FUNCTION_NETWORK_GENERATION_H__
+#define __FN_VTREE_MULTI_FUNCTION_NETWORK_GENERATION_H__
+
+#include "FN_inlined_tree_multi_function_network.h"
+#include "BLI_resource_collector.h"
+#include "intern/multi_functions/network.h"
+
+namespace FN {
+
+using BLI::ResourceCollector;
+
+std::unique_ptr<VTreeMFNetwork> generate_inlined_tree_multi_function_network(
+ const InlinedNodeTree &inlined_tree, ResourceCollector &resources);
+
+std::unique_ptr<MF_EvaluateNetwork> generate_inlined_tree_multi_function(
+ const InlinedNodeTree &inlined_tree, ResourceCollector &resources);
+
+} // namespace FN
+
+#endif /* __FN_VTREE_MULTI_FUNCTION_NETWORK_GENERATION_H__ */
diff --git a/source/blender/functions/FN_vtree_multi_function_network.h b/source/blender/functions/FN_vtree_multi_function_network.h
deleted file mode 100644
index 2a543071b77..00000000000
--- a/source/blender/functions/FN_vtree_multi_function_network.h
+++ /dev/null
@@ -1,190 +0,0 @@
-#ifndef __FN_VTREE_MULTI_FUNCTION_NETWORK_H__
-#define __FN_VTREE_MULTI_FUNCTION_NETWORK_H__
-
-#include "BKE_inlined_node_tree.h"
-
-#include "BLI_multi_map.h"
-
-#include "FN_multi_function_network.h"
-
-namespace FN {
-
-using BKE::InlinedNodeTree;
-using BKE::XInputSocket;
-using BKE::XNode;
-using BKE::XOutputSocket;
-using BKE::XSocket;
-using BLI::MultiMap;
-
-#define VTreeMFSocketMap_UNMAPPED UINT_MAX
-#define VTreeMFSocketMap_MULTIMAPPED (UINT_MAX - 1)
-
-class VTreeMFSocketMap {
- private:
- /* An input vsocket can be mapped to multiple sockets.
- * An output vsocket can be mapped to at most one socket.
- */
- const InlinedNodeTree *m_vtree;
- const MFNetwork *m_network;
- Array<uint> m_single_socket_by_vsocket;
- MultiMap<uint, uint> m_multiple_inputs_by_vsocket;
- Array<uint> m_vsocket_by_socket;
-
- public:
- VTreeMFSocketMap(const InlinedNodeTree &vtree,
- const MFNetwork &network,
- Array<uint> single_socket_by_vsocket,
- MultiMap<uint, uint> multiple_inputs_by_vsocket,
- Array<uint> vsocket_by_socket)
- : m_vtree(&vtree),
-
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list