|
Blender
V3.3
|
#include <cstring>#include "DNA_node_types.h"#include "DNA_screen_types.h"#include "BLI_listbase.h"#include "BLI_string.h"#include "BLI_string_ref.hh"#include "BKE_animsys.h"#include "BKE_lib_id.h"#include "BKE_main.h"#include "BKE_main_namemap.h"#include "BKE_node.h"#include "MEM_guardedalloc.h"#include "versioning_common.h"Go to the source code of this file.
Macros | |
| #define | DNA_DEPRECATED_ALLOW |
Functions | |
| ARegion * | do_versions_add_region_if_not_found (ListBase *regionbase, int region_type, const char *name, int link_after_region_type) |
| ID * | do_versions_rename_id (Main *bmain, const short id_type, const char *name_src, const char *name_dst) |
| static void | change_node_socket_name (ListBase *sockets, const char *old_name, const char *new_name) |
| void | version_node_socket_id_delim (bNodeSocket *socket) |
| void | version_node_socket_name (bNodeTree *ntree, const int node_type, const char *old_name, const char *new_name) |
| void | version_node_input_socket_name (bNodeTree *ntree, const int node_type, const char *old_name, const char *new_name) |
| void | version_node_output_socket_name (bNodeTree *ntree, const int node_type, const char *old_name, const char *new_name) |
| bNodeSocket * | version_node_add_socket_if_not_exist (bNodeTree *ntree, bNode *node, eNodeSocketInOut in_out, int type, int subtype, const char *identifier, const char *name) |
| void | version_node_id (bNodeTree *ntree, const int node_type, const char *new_name) |
| void | version_node_socket_index_animdata (Main *bmain, const int node_tree_type, const int node_type, const int socket_index_orig, const int socket_index_offset, const int total_number_of_sockets) |
| void | version_socket_update_is_used (bNodeTree *ntree) |
| ARegion * | do_versions_add_region (int regiontype, const char *name) |
| #define DNA_DEPRECATED_ALLOW |
Definition at line 7 of file versioning_common.cc.
|
static |
Definition at line 78 of file versioning_common.cc.
References BLI_strncpy(), LISTBASE_FOREACH, and STREQ.
Referenced by version_node_input_socket_name(), version_node_output_socket_name(), and version_node_socket_name().
| ARegion* do_versions_add_region | ( | int | regiontype, |
| const char * | name | ||
| ) |
Definition at line 231 of file versioning_common.cc.
References MEM_callocN, and ARegion::regiontype.
Referenced by blo_do_versions_280(), blo_do_versions_300(), and do_versions_area_ensure_tool_region().
| ARegion* do_versions_add_region_if_not_found | ( | ListBase * | regionbase, |
| int | region_type, | ||
| const char * | name, | ||
| int | link_after_region_type | ||
| ) |
Definition at line 30 of file versioning_common.cc.
References BLI_insertlinkafter(), LISTBASE_FOREACH, MEM_callocN, and ARegion::regiontype.
Referenced by blo_do_versions_290(), and blo_do_versions_300().
| ID* do_versions_rename_id | ( | Main * | bmain, |
| short | id_type, | ||
| const char * | name_src, | ||
| const char * | name_dst | ||
| ) |
Rename if the ID doesn't exist.
Definition at line 51 of file versioning_common.cc.
References BKE_main_namemap_remove_name(), BLI_libblock_ensure_unique_name(), BLI_strncpy(), id, ID_IS_LINKED, LISTBASE_FOREACH, ID::name, STREQ, and which_libbase().
Referenced by BLO_update_defaults_startup_blend(), and do_versions_after_linking_280().
| bNodeSocket* version_node_add_socket_if_not_exist | ( | bNodeTree * | ntree, |
| bNode * | node, | ||
| eNodeSocketInOut | in_out, | ||
| int | type, | ||
| int | subtype, | ||
| const char * | identifier, | ||
| const char * | name | ||
| ) |
Definition at line 148 of file versioning_common.cc.
References node, nodeAddStaticSocket(), nodeFindSocket(), ntree, and type.
Referenced by blo_do_versions_300().
Replace the ID name of all nodes in the tree with the given type with the new name.
Definition at line 163 of file versioning_common.cc.
References LISTBASE_FOREACH, node, bNodeTree::nodes, ntree, and STREQ.
Referenced by blo_do_versions_300().
| void version_node_input_socket_name | ( | bNodeTree * | ntree, |
| const int | node_type, | ||
| const char * | old_name, | ||
| const char * | new_name | ||
| ) |
Definition at line 124 of file versioning_common.cc.
References change_node_socket_name(), LISTBASE_FOREACH, node, bNodeTree::nodes, and ntree.
Referenced by blo_do_versions_300(), and versioning_replace_legacy_combined_and_separate_color_nodes().
| void version_node_output_socket_name | ( | bNodeTree * | ntree, |
| const int | node_type, | ||
| const char * | old_name, | ||
| const char * | new_name | ||
| ) |
Definition at line 136 of file versioning_common.cc.
References change_node_socket_name(), LISTBASE_FOREACH, node, bNodeTree::nodes, and ntree.
Referenced by blo_do_versions_300(), and versioning_replace_legacy_combined_and_separate_color_nodes().
| void version_node_socket_id_delim | ( | bNodeSocket * | socket | ) |
Convert SocketName.001 unique name format to SocketName_001. Previously both were used.
Definition at line 90 of file versioning_common.cc.
References blender::StringRef::drop_known_prefix(), bNodeSocket::identifier, blender::StringRefBase::is_empty(), bNodeSocket::name, blender::StringRefBase::size(), and blender::StringRefBase::startswith().
Referenced by version_node_tree_socket_id_delim().
| void version_node_socket_index_animdata | ( | Main * | bmain, |
| int | node_tree_type, | ||
| int | node_type, | ||
| int | socket_index_orig, | ||
| int | socket_index_offset, | ||
| int | total_number_of_sockets | ||
| ) |
Adjust animation data for newly added node sockets.
Node sockets are addressed by their index (in their RNA path, and thus FCurves/drivers), and thus when a new node is added in the middle of the list, existing animation data needs to be adjusted.
Since this is about animation data, it only concerns input sockets.
| node_tree_type | Node tree type that has these nodes, for example NTREE_SHADER. |
| node_type | Node type to adjust, for example SH_NODE_BSDF_PRINCIPLED. |
| socket_index_orig | The original index of the moved socket; when socket 4 moved to 6, pass 4 here. |
| socket_index_offset | The offset of the nodes, so when socket 4 moved to 6, pass 2 here. |
| total_number_of_sockets | The total number of sockets in the node. |
Definition at line 174 of file versioning_common.cc.
References BKE_animdata_fix_paths_rename_all_ex(), BLI_sprintfN(), BLI_str_escape(), FOREACH_NODETREE_BEGIN, FOREACH_NODETREE_END, LISTBASE_FOREACH, MEM_freeN, MEM_mallocN, node, bNodeTree::nodes, ntree, and bNodeTree::type.
Referenced by do_versions_after_linking_290(), and do_versions_after_linking_300().
| void version_node_socket_name | ( | bNodeTree * | ntree, |
| const int | node_type, | ||
| const char * | old_name, | ||
| const char * | new_name | ||
| ) |
Definition at line 111 of file versioning_common.cc.
References change_node_socket_name(), LISTBASE_FOREACH, node, bNodeTree::nodes, and ntree.
Referenced by blo_do_versions_290(), and blo_do_versions_300().
The versioning code generally expects SOCK_IN_USE to be set correctly. This function updates the flag on all sockets after changes to the node tree.
Definition at line 215 of file versioning_common.cc.
References bNodeTree::links, LISTBASE_FOREACH, node, bNodeTree::nodes, ntree, and SOCK_IN_USE.
Referenced by add_realize_node_tree(), ambient_occlusion_node_relink(), displacement_node_insert(), do_versions_material_convert_legacy_blend_mode(), square_roughness_node_insert(), update_mapping_node_inputs_and_properties(), update_math_node_single_operand_operators(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_dot_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_coloring(), update_voronoi_node_crackle(), and update_voronoi_node_square_distance().