[Bf-blender-cvs] [37067ef6cb3] temp-node-error-messages: Cleanup
Hans Goudey
noreply at git.blender.org
Tue Feb 16 18:36:03 CET 2021
Commit: 37067ef6cb3041d769f635b6f5bc04e8f56726ed
Author: Hans Goudey
Date: Tue Feb 16 11:16:24 2021 -0600
Branches: temp-node-error-messages
https://developer.blender.org/rB37067ef6cb3041d769f635b6f5bc04e8f56726ed
Cleanup
===================================================================
M source/blender/blenkernel/BKE_node.h
M source/blender/blenkernel/BKE_node_ui_storage.hh
M source/blender/blenkernel/intern/node.cc
M source/blender/blenkernel/intern/node_ui_storage.cc
M source/blender/editors/space_node/node_draw.cc
M source/blender/imbuf/intern/indexer.c
M source/blender/makesdna/DNA_node_types.h
M source/blender/modifiers/intern/MOD_nodes.cc
M source/blender/nodes/NOD_geometry_exec.hh
===================================================================
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index 62c06af0884..7984bbc980a 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -848,7 +848,7 @@ bool BKE_node_is_connected_to_output(struct bNodeTree *ntree, struct bNode *node
/* ************** COMMON NODES *************** */
#define NODE_UNDEFINED -2 /* node type is not registered */
-#define NODE_CUSTOM -1 /* for dynamically registered custom types */
+#define NODE_CUSTOM -1 /* for dynamically registered custom types */
#define NODE_GROUP 2
// #define NODE_FORLOOP 3 /* deprecated */
// #define NODE_WHILELOOP 4 /* deprecated */
diff --git a/source/blender/blenkernel/BKE_node_ui_storage.hh b/source/blender/blenkernel/BKE_node_ui_storage.hh
index ac0c4dcfab0..fa08b167c72 100644
--- a/source/blender/blenkernel/BKE_node_ui_storage.hh
+++ b/source/blender/blenkernel/BKE_node_ui_storage.hh
@@ -29,11 +29,15 @@ struct bNodeTree;
struct Object;
struct ModifierData;
+/**
+ * Contains the context necessary to determine when to display settings for a certain node tree
+ * that may be used for multiple modifiers and objects.
+ *
+ * \note This does not yet handle the context of nested node trees.
+ */
struct NodeUIStorageContextModifier {
std::string object_name;
SessionUUID modifier_session_uuid;
- /* TODO: The same node tree can be used multiple times in a parent node tree,
- * so the tree path should be added to the context here. */
NodeUIStorageContextModifier(const Object &object, const ModifierData &modifier)
{
@@ -45,7 +49,7 @@ struct NodeUIStorageContextModifier {
{
const uint64_t hash1 = blender::DefaultHash<std::string>{}(object_name);
const uint64_t hash2 = BLI_session_uuid_hash_uint64(&modifier_session_uuid);
- return hash1 ^ (hash2 * 33); /* Copied from DefaultHash pair hash function. */
+ return hash1 ^ (hash2 * 33); /* Copied from DefaultHash for std::pair. */
}
bool operator==(const NodeUIStorageContextModifier &other) const
@@ -74,12 +78,12 @@ struct NodeTreeUIStorage {
blender::Map<std::string, blender::Map<NodeUIStorageContextModifier, NodeUIStorage>> node_map;
};
-void BKE_nodetree_ui_storage_clear(struct bNodeTree &ntree);
+void BKE_nodetree_ui_storage_free(bNodeTree &ntree);
-void BKE_nodetree_ui_storage_ensure(bNodeTree &ntree);
+void BKE_nodetree_ui_storage_add(bNodeTree &ntree);
-void BKE_nodetree_error_message_add(struct bNodeTree &ntree,
+void BKE_nodetree_error_message_add(bNodeTree &ntree,
const NodeUIStorageContextModifier &context,
- const struct bNode &node,
+ const bNode &node,
const NodeWarningType type,
std::string message);
diff --git a/source/blender/blenkernel/intern/node.cc b/source/blender/blenkernel/intern/node.cc
index 8e63815f734..1c1683c38ae 100644
--- a/source/blender/blenkernel/intern/node.cc
+++ b/source/blender/blenkernel/intern/node.cc
@@ -220,7 +220,7 @@ static void ntree_copy_data(Main *UNUSED(bmain), ID *id_dst, const ID *id_src, c
/* Don't copy error messages in the runtime struct.
* They should be filled during execution anyway. */
- ntree_dst->runtime = nullptr;
+ ntree_dst->ui_storage = nullptr;
}
static void ntree_free_data(ID *id)
@@ -275,7 +275,7 @@ static void ntree_free_data(ID *id)
BKE_libblock_free_data(&ntree->id, true);
}
- BKE_nodetree_ui_storage_clear(*ntree);
+ BKE_nodetree_ui_storage_free(*ntree);
}
static void library_foreach_node_socket(LibraryForeachIDData *data, bNodeSocket *sock)
@@ -565,7 +565,7 @@ static void ntree_blend_write(BlendWriter *writer, ID *id, const void *id_addres
ntree->interface_type = nullptr;
ntree->progress = nullptr;
ntree->execdata = nullptr;
- ntree->runtime = nullptr;
+ ntree->ui_storage = nullptr;
BLO_write_id_struct(writer, bNodeTree, id_address, &ntree->id);
@@ -597,7 +597,7 @@ void ntreeBlendReadData(BlendDataReader *reader, bNodeTree *ntree)
ntree->progress = nullptr;
ntree->execdata = nullptr;
- ntree->runtime = nullptr;
+ ntree->ui_storage = nullptr;
BLO_read_data_address(reader, &ntree->adt);
BKE_animdata_blend_read_data(reader, ntree->adt);
diff --git a/source/blender/blenkernel/intern/node_ui_storage.cc b/source/blender/blenkernel/intern/node_ui_storage.cc
index 696d228a425..ccdc0ae4ebc 100644
--- a/source/blender/blenkernel/intern/node_ui_storage.cc
+++ b/source/blender/blenkernel/intern/node_ui_storage.cc
@@ -31,20 +31,20 @@ using blender::Map;
using blender::StringRef;
using blender::Vector;
-void BKE_nodetree_ui_storage_ensure(bNodeTree &ntree)
+void BKE_nodetree_ui_storage_add(bNodeTree &ntree)
{
- if (ntree.runtime == nullptr) {
- ntree.runtime = new NodeTreeUIStorage();
+ if (ntree.ui_storage == nullptr) {
+ ntree.ui_storage = new NodeTreeUIStorage();
}
}
-void BKE_nodetree_ui_storage_clear(bNodeTree &ntree)
+void BKE_nodetree_ui_storage_free(bNodeTree &ntree)
{
- NodeTreeUIStorage *ui_storage = ntree.runtime;
+ NodeTreeUIStorage *ui_storage = ntree.ui_storage;
if (ui_storage != nullptr) {
ui_storage->node_map.clear();
delete ui_storage;
- ntree.runtime = nullptr;
+ ntree.ui_storage = nullptr;
}
}
@@ -87,13 +87,13 @@ void BKE_nodetree_error_message_add(bNodeTree &ntree,
const NodeWarningType type,
std::string message)
{
- BLI_assert(ntree.runtime != nullptr);
- NodeTreeUIStorage &node_tree_ui_storage = *ntree.runtime;
+ BLI_assert(ntree.ui_storage != nullptr);
+ NodeTreeUIStorage &node_tree_ui_storage = *ntree.ui_storage;
node_error_message_log(ntree, node, message, type);
Map<NodeUIStorageContextModifier, NodeUIStorage> &context_to_storage_map =
- node_tree_ui_storage.node_map.lookup_or_add_default(node.name);
+ node_tree_ui_storage.node_map.lookup_or_add_default_as(StringRef(node.name));
NodeUIStorage &node_ui_storage = context_to_storage_map.lookup_or_add_default(context);
diff --git a/source/blender/editors/space_node/node_draw.cc b/source/blender/editors/space_node/node_draw.cc
index bf2f9ac0718..8a6d6523ed5 100644
--- a/source/blender/editors/space_node/node_draw.cc
+++ b/source/blender/editors/space_node/node_draw.cc
@@ -37,6 +37,7 @@
#include "BLI_blenlib.h"
#include "BLI_map.hh"
#include "BLI_math.h"
+#include "BLI_string_ref.hh"
#include "BLI_vector.hh"
#include "BLT_translation.h"
@@ -80,6 +81,7 @@
#endif
using blender::Map;
+using blender::StringRef;
using blender::Vector;
extern "C" {
@@ -1229,12 +1231,12 @@ static const NodeUIStorage *node_ui_storage_get_from_context(const bContext *C,
const bNodeTree &ntree,
const bNode &node)
{
- const NodeTreeUIStorage *node_tree_ui_storage = ntree.runtime;
+ const NodeTreeUIStorage *node_tree_ui_storage = ntree.ui_storage;
if (node_tree_ui_storage == nullptr) {
return nullptr;
}
const Map<NodeUIStorageContextModifier, NodeUIStorage> *node_ui_storage =
- node_tree_ui_storage->node_map.lookup_ptr(node.name);
+ node_tree_ui_storage->node_map.lookup_ptr_as(StringRef(node.name));
if (node_ui_storage == nullptr) {
return nullptr;
}
diff --git a/source/blender/imbuf/intern/indexer.c b/source/blender/imbuf/intern/indexer.c
index f10e3b31141..3e8551f9822 100644
--- a/source/blender/imbuf/intern/indexer.c
+++ b/source/blender/imbuf/intern/indexer.c
@@ -40,7 +40,7 @@
#include "BKE_global.h"
-# include "BLI_threads.h"
+#include "BLI_threads.h"
#ifdef WITH_AVI
# include "AVI_avi.h"
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 8b41ee534e1..3f1f8328cef 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -353,8 +353,8 @@ typedef struct bNode {
/* XXX NODE_UPDATE is a generic update flag. More fine-grained updates
* might be used in the future, but currently all work the same way.
*/
-#define NODE_UPDATE 0xFFFF /* generic update flag (includes all others) */
-#define NODE_UPDATE_ID 1 /* associated id data block has changed */
+#define NODE_UPDATE 0xFFFF /* generic update flag (includes all others) */
+#define NODE_UPDATE_ID 1 /* associated id data block has changed */
#define NODE_UPDATE_OPERATOR 2 /* node update triggered from update operator */
/* Unique hash key for identifying node instances
@@ -401,7 +401,7 @@ typedef struct bNodeLink {
/* link->flag */
#define NODE_LINKFLAG_HILITE (1 << 0) /* link has been successfully validated */
#define NODE_LINK_VALID (1 << 1)
-#define NODE_LINK_TEST (1 << 2) /* free test flag, undefined */
+#define NODE_LINK_TEST (1 << 2) /* free test flag, undefined */
#define NODE_LINK_TEMP_HIGHLIGHT (1 << 3) /* Link is highlighted for picking. */
/* tree->edit_quality/tree->render_quality */
@@ -503,7 +503,7 @@ typedef struct bNodeTree {
void (*update_draw)(void *);
void *tbh, *prh, *sdh, *udh;
- struct NodeTreeUIStorage *runtime;
+ struct NodeTreeUIStorage *ui_storage;
} bNodeTree;
/* ntree->type, index */
@@ -517,11 +517,11 @@ typedef struct bNodeTree {
#define NTREE_TYPE_INIT 1
/* ntree->flag */
-#define NTREE_DS_EXPAND (1 << 0) /* for animation editors */
-#define NTREE_COM_OPENCL (1 << 1) /* use opencl */
-#define NTREE_TWO_PASS (1 << 2) /* two pass */
+#define NTREE_DS_EXPAND (1 << 0) /* for animation editors */
+#define NTREE_COM_OPENCL (1 << 1) /* use opencl */
+#define NTREE_TWO_PASS (1 << 2) /* two pass */
#define NTREE_COM_GROUPNODE_BUFFER (1 << 3) /* use groupnode buffers */
-#define NTREE_VIEWER_BORDER (1 << 4) /* use a border for viewer nodes */
+#define NTREE_VIEWER_BORDER (1 << 4) /* use a border for viewer nodes */
/* NOTE: DEPRECATED, use (id->tag & LIB_TAG_LOCALIZED) instead. */
/* tree is localized copy, free when deleting node groups */
@@ -1234,7 +12
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list