7 #define DNA_DEPRECATED_ALLOW
67 #include "RNA_prototypes.h"
104 if (soft_min !=
NULL) {
109 if (soft_max !=
NULL) {
118 if (default_value !=
NULL) {
144 if (soft_min !=
NULL) {
149 if (soft_max !=
NULL) {
158 if (precision !=
NULL) {
162 if (default_value !=
NULL) {
164 const int array_len = default_value->
len;
168 const float *old_default_array =
IDP_Array(default_value);
195 if (idprop_group ==
NULL) {
200 if (ui_container ==
NULL) {
206 if (prop_ui_data ==
NULL) {
218 const char *subtype_string =
IDP_String(subtype);
361 if (id_prev ==
NULL) {
386 *new_defbase =
object->defbase;
396 #define SEQ_SPEED_INTEGRATE (1 << 0)
397 #define SEQ_SPEED_COMPRESS_IPO_Y (1 << 2)
402 const char *substr =
NULL;
403 float globalSpeed =
v->globalSpeed;
405 if (globalSpeed == 1.0f) {
410 v->speed_fader = globalSpeed *
411 ((
float)seq->seq1->len /
419 v->speed_fader = seq->speed_fader * globalSpeed;
422 globalSpeed *= 100.0f;
424 v->speed_fader_length = seq->speed_fader * globalSpeed;
425 substr =
"speed_length";
429 v->speed_fader_frame_number = (int)(seq->speed_fader * globalSpeed);
430 substr =
"speed_frame_number";
435 if (substr || globalSpeed != 1.0f) {
438 if (globalSpeed != 1.0f) {
439 for (
int i = 0; i < fcu->
totvert; i++) {
441 bezt->
vec[0][1] *= globalSpeed;
442 bezt->
vec[1][1] *= globalSpeed;
443 bezt->
vec[2][1] *= globalSpeed;
459 #undef SEQ_SPEED_INTEGRATE
460 #undef SEQ_SPEED_COMPRESS_IPO_Y
475 for (
int i = 0; i < 3; i++) {
488 if (link->tosock == in_socket) {
512 realize_node->
locx =
node->locx - 100;
564 group_input->
locx = -400.0f;
566 group_output->
locx = 500.0f;
570 join->
locx = group_output->
locx - 175.0f;
576 separate->
locx = join->
locx - 350.0f;
577 separate->
locy = join->
locy + 50.0f;
579 realize->
locx = separate->
locx - 200.0f;
601 char name_esc[(
sizeof(seq->
name) - 2) * 2];
603 char *path =
BLI_sprintfN(
"sequence_editor.sequences_all[\"%s\"].pitch", name_esc);
646 if (text->id.us == 0) {
696 if (brush->clone.image !=
NULL &&
698 brush->clone.image =
NULL;
724 if (
STREQ(link->tosock->identifier,
"Switch")) {
725 bNode *to_node = link->tonode;
734 link->tosock = link->tosock->
next;
763 if (md->next ==
NULL) {
778 if (realize_instances_node_tree ==
NULL) {
781 new_nmd->
node_group = realize_instances_node_tree;
855 if (timeline_region ==
NULL) {
892 const bool is_first_space = sl ==
area->spacedata.first;
893 ListBase *regionbase = is_first_space ? &
area->regionbase : &sl->regionbase;
895 if (region ==
NULL) {
928 if (socket ==
node->inputs.first) {
931 strcpy(socket->name, socket->name[0] ==
'A' ?
"False" :
"True");
934 char number_suffix[8];
935 BLI_strncpy(number_suffix, socket->identifier + 1,
sizeof(number_suffix));
936 strcpy(socket->identifier, socket->name);
937 strcat(socket->identifier, number_suffix);
948 char *old_path = *p_old_path;
950 if (old_path ==
NULL) {
954 int len = strlen(old_path);
958 old_path[
len - 1] =
'z';
966 int index = (old_path[
len - 1] ==
'y' ? 2 : 0);
968 old_path[
len - 1] = 0;
1002 void *
UNUSED(wrapper_data))
1012 if (bone->flag & BONE_ADD_PARENT_END_ROLL) {
1016 copy_v3_fl3(bone->scale_in, bone->scale_in_x, 1.0f, bone->scale_in_z);
1017 copy_v3_fl3(bone->scale_out, bone->scale_out_x, 1.0f, bone->scale_out_z);
1030 data->numpoints = 0;
1041 const float old_value = socket_value->
value;
1097 if (strstr(property->name,
"_use_attribute") || strstr(property->name,
"_attribute_name")) {
1107 if (strstr(property->name,
"_use_attribute") || strstr(property->name,
"_attribute_name")) {
1113 sizeof(use_attribute_prop_name),
1124 sizeof(attribute_name_prop_name),
1139 const float SAFE_THRESHOLD = 1.0e-5f;
1140 const float CRITICAL_THRESHOLD = 1.0e-9f;
1141 const float THRESHOLD_SQUARED = CRITICAL_THRESHOLD * CRITICAL_THRESHOLD;
1143 const float x =
nor[0];
1144 const float y =
nor[1];
1145 const float z =
nor[2];
1147 const float theta = 1.0f +
y;
1148 const float theta_alt =
x *
x +
z *
z;
1149 float rMatrix[3][3], bMatrix[3][3];
1158 if (theta > SAFE_THRESHOLD || (theta > CRITICAL_THRESHOLD && theta_alt > THRESHOLD_SQUARED)) {
1167 if (theta > SAFE_THRESHOLD) {
1169 bMatrix[0][0] = 1 -
x *
x / theta;
1170 bMatrix[2][2] = 1 -
z *
z / theta;
1171 bMatrix[2][0] = bMatrix[0][2] = -
x *
z / theta;
1175 bMatrix[0][0] = (
x +
z) * (
x -
z) / -theta_alt;
1176 bMatrix[2][2] = -bMatrix[0][0];
1177 bMatrix[2][0] = bMatrix[0][2] = 2.0f *
x *
z / theta_alt;
1183 bMatrix[0][0] = bMatrix[1][1] = -1.0;
1194 const float tail[3],
1195 const float check_x_axis[3],
1196 const float check_y_axis[3],
1199 const float SAFE_THRESHOLD = 1.0e-5f;
1200 float vec[3], bone_mat[3][3], vec2[3];
1207 if (1.0f + vec[1] < SAFE_THRESHOLD * 2 && (vec[0] || vec[2])) {
1216 if (
dot_v3v3(bone_mat[0], check_x_axis) < 0.999f) {
1231 bone->head, bone->tail, bone->bone_mat[0], bone->bone_mat[1], &bone->roll);
1235 bone->arm_head, bone->arm_tail, bone->arm_mat[0], bone->arm_mat[1], &bone->arm_roll);
1267 if (!
STREQ(link->tosock->identifier,
"Position")) {
1273 const bool offset_enabled =
1275 if (offset_enabled) {
1277 link->tosock = old_offset_socket->
next;
1330 opop->subitem_local_name,
1332 opop->subitem_local_index);
1336 if (constraint_src ==
NULL) {
1338 CLOG_ERROR(&
LOG,
"Could not find source constraint in stored override data");
1343 opop->subitem_reference_name = opop->subitem_local_name;
1345 opop->subitem_reference_index = opop->subitem_local_index;
1346 opop->subitem_local_index++;
1362 opop->subitem_local_name,
1364 opop->subitem_local_index);
1367 if (mod_src ==
NULL) {
1369 CLOG_ERROR(&
LOG,
"Could not find source modifier in stored override data");
1374 opop->subitem_reference_name = opop->subitem_local_name;
1376 opop->subitem_reference_index = opop->subitem_local_index;
1377 opop->subitem_local_index++;
1389 opop->subitem_local_name,
1391 opop->subitem_local_index);
1393 gp_mod_anchor->
next :
1394 object->greasepencil_modifiers.first;
1396 if (gp_mod_src ==
NULL) {
1398 CLOG_ERROR(&
LOG,
"Could not find source GP modifier in stored override data");
1403 opop->subitem_reference_name = opop->subitem_local_name;
1405 opop->subitem_reference_index = opop->subitem_local_index;
1406 opop->subitem_local_index++;
1417 char rna_path[26 + (
sizeof(pchan->name) * 2) + 1];
1418 char name_esc[
sizeof(pchan->name) * 2];
1420 SNPRINTF(rna_path,
"pose.bones[\"%s\"].constraints", name_esc);
1432 if (anim_data ==
NULL) {
1449 opop->subitem_reference_name = opop->subitem_local_name;
1450 opop->subitem_local_name =
NULL;
1451 opop->subitem_reference_index = opop->subitem_local_index;
1452 opop->subitem_local_index++;
1472 switch (
node->type) {
1478 strcpy(
node->idname,
"FunctionNodeCombineColor");
1479 node->storage = storage;
1487 strcpy(
node->idname,
"FunctionNodeSeparateColor");
1488 node->storage = storage;
1539 switch (
node->type) {
1545 strcpy(
node->idname,
"CompositorNodeCombineColor");
1546 node->storage = storage;
1554 strcpy(
node->idname,
"CompositorNodeCombineColor");
1555 node->storage = storage;
1564 strcpy(
node->idname,
"CompositorNodeCombineColor");
1565 node->storage = storage;
1573 strcpy(
node->idname,
"CompositorNodeCombineColor");
1574 node->storage = storage;
1582 strcpy(
node->idname,
"CompositorNodeSeparateColor");
1583 node->storage = storage;
1591 strcpy(
node->idname,
"CompositorNodeSeparateColor");
1592 node->storage = storage;
1601 strcpy(
node->idname,
"CompositorNodeSeparateColor");
1602 node->storage = storage;
1610 strcpy(
node->idname,
"CompositorNodeSeparateColor");
1611 node->storage = storage;
1621 switch (
node->type) {
1625 strcpy(
node->idname,
"TextureNodeCombineColor");
1631 strcpy(
node->idname,
"TextureNodeSeparateColor");
1659 switch (
node->type) {
1665 strcpy(
node->idname,
"ShaderNodeCombineColor");
1666 node->storage = storage;
1674 strcpy(
node->idname,
"ShaderNodeCombineColor");
1675 node->storage = storage;
1683 strcpy(
node->idname,
"ShaderNodeSeparateColor");
1684 node->storage = storage;
1692 strcpy(
node->idname,
"ShaderNodeSeparateColor");
1693 node->storage = storage;
1706 if (
format->view_settings.curve_mapping) {
1712 format->view_settings.curve_mapping);
1718 if (
format->view_settings.curve_mapping->cm[0].curve ==
NULL) {
1731 enum { SCE_SNAP_SEQ = (1 << 7) };
1749 if (brush->gpencil_settings) {
1750 brush->gpencil_settings->dilate_pixels = 1;
1761 if (ob->pose ==
NULL) {
1765 copy_v3_fl(pchan->custom_scale_xyz, pchan->custom_scale);
1781 if (new_sidebar !=
NULL) {
1834 copy_v3_fl3(pchan->scale_in, pchan->scale_in_x, 1.0f, pchan->scale_in_z);
1835 copy_v3_fl3(pchan->scale_out, pchan->scale_out_x, 1.0f, pchan->scale_out_z);
1862 if (spreadsheet_dataset_region) {
1889 tool_settings->
snap_flag |= SCE_SNAP_SEQ;
1890 short snap_mode = tool_settings->
snap_mode;
1893 tool_settings->
snap_mode &= ~((1 << 4) | (1 << 5) | (1 << 6));
1896 if (snap_mode & (1 << 4)) {
1899 if (snap_mode & (1 << 5)) {
1902 if (snap_mode & (1 << 6)) {
1905 if (snap_node_mode & (1 << 5)) {
1908 if (snap_node_mode & (1 << 6)) {
1911 if (snap_uv_mode & (1 << 4)) {
1944 strcpy(
node->idname,
"GeometryNodeMeshSubdivide");
1962 mat->lineart.mat_occlusion = 1;
1970 fd->
filesdna,
"SurfaceDeformModifierData",
"int",
"num_mesh_verts")) {
1997 fd->
filesdna,
"WorkSpace",
"AssetLibraryReference",
"asset_library")) {
2004 fd->
filesdna,
"FileAssetSelectParams",
"AssetLibraryReference",
"asset_library_ref")) {
2030 tool_settings->
snap_flag &= ~SCE_SNAP_SEQ;
2055 fd->
filesdna,
"View3DOverlay",
"float",
"normals_constant_screen_size")) {
2083 fd->
filesdna,
"WorkSpace",
"AssetLibraryReference",
"asset_library_ref")) {
2090 fd->
filesdna,
"FileAssetSelectParams",
"AssetLibraryReference",
"asset_library_ref")) {
2148 if (
STREQ(link->tosock->identifier,
"Size") && link->tosock->type ==
SOCK_FLOAT) {
2149 bNode *link_fromnode = link->fromnode;
2166 if (
STREQ(socket->identifier,
"Size") && (socket->type ==
SOCK_FLOAT)) {
2177 fd->
filesdna,
"LineartGpencilModifierData",
"bool",
"use_crease_on_smooth")) {
2221 seq_show_safe_center | seq_show_metadata);
2223 seq_show_strip_source | seq_show_strip_duration |
2224 seq_show_grid | show_strip_offset);
2259 region->v2d.min[1] = 4.0f;
2279 R_EXR_TILE_FILE = (1 << 10),
2280 R_FULL_SAMPLE = (1 << 15),
2299 switch (sl->spacetype) {
2325 switch (sl->spacetype) {
2331 region->v2d.max[1] =
MAXSEQ;
2355 int region_tool_index = -1, region_head_index = -1, i;
2358 region_tool = region;
2359 region_tool_index = i;
2362 region_head = region;
2363 region_head_index = i;
2366 if ((region_tool && region_head) && (region_head_index > region_tool_index)) {
2404 switch (sl->spacetype) {
2407 enum { SEQ_DRAW_SEQUENCE = 0 };
2408 if (sseq->
mainb == SEQ_DRAW_SEQUENCE) {
2487 wm->xr.session_settings.base_scale = 1.0f;
2575 region->v2d.min[1] = 1.0f;
2592 if (region->v2d.minzoom > 0.05f) {
2593 region->v2d.minzoom = 0.05f;
2640 strcpy(
node->idname,
"FunctionNodeCompare");
2683 data->interpolation_type =
node->custom2;
2769 if (tool_settings->
snap_flag & SCE_SNAP_SEQ) {
2771 tool_settings->
snap_flag &= ~SCE_SNAP_SEQ;
2816 if (gpmd->
step == 1 && gpmd->
factor <= 0.5f) {
2822 gpmd->
step + 2.0f)));
2845 for (
int step = 0; step < 2; step++) {
2860 actlayer = me->vdata.layers + vact1;
2862 else if (vact2 != -1) {
2863 actlayer = me->ldata.layers + vact2;
2905 if (brush->curves_sculpt_settings !=
NULL) {
2909 brush->curves_sculpt_settings->add_amount = 1;
2951 if (timeline_region !=
NULL) {
2971 ms->old_channels = previous_channels;
2972 previous_channels = &ms->parseq->channels;
3010 for (
int step = 0; step < 2; step++) {
3025 actlayer = me->vdata.layers + vact1;
3027 else if (vact2 != -1) {
3028 actlayer = me->ldata.layers + vact2;
3115 if (settings ==
NULL) {
3142 if (brush->curves_sculpt_settings->points_per_curve == 0) {
3143 brush->curves_sculpt_settings->points_per_curve = 8;
3153 imapf->tile_number = 1001;
3206 ((
SpaceClip *)sl)->mask_info.blend_factor = 1.0;
3245 if (sock->storage) {
3251 if (
node->storage) {
3279 if (channels_region) {
3293 brush->curves_sculpt_settings->density_add_attempts = 100;
typedef float(TangentPoint)[2]
Blender kernel action and pose functionality.
void BKE_action_groups_reconstruct(struct bAction *act)
struct AnimData * BKE_animdata_from_id(const struct ID *id)
void BKE_animdata_main_cb(struct Main *bmain, ID_AnimData_Edit_Callback func, void *user_data)
void vec_roll_to_mat3(const float vec[3], float roll, float r_mat[3][3])
void mat3_to_vec_roll(const float mat[3][3], float r_vec[3], float *r_roll)
void BKE_asset_library_reference_init_default(struct AssetLibraryReference *library_ref)
Generic geometry attributes built on CustomData.
void BKE_id_attributes_active_color_set(struct ID *id, struct CustomDataLayer *active_layer)
void BKE_id_attributes_render_color_set(struct ID *id, struct CustomDataLayer *active_layer)
#define BKE_SCENE_COLLECTION_NAME
void BKE_nurb_knot_calc_v(struct Nurb *nu)
void BKE_nurb_knot_calc_u(struct Nurb *nu)
int CustomData_get_active_layer_index(const struct CustomData *data, int type)
int CustomData_get_render_layer_index(const struct CustomData *data, int type)
@ DT_MULTILAYER_INDEX_MAX
struct FCurve * id_data_find_fcurve(ID *id, void *data, struct StructRNA *type, const char *prop_name, int index, bool *r_driven)
struct FCurve * BKE_fcurve_find(ListBase *list, const char rna_path[], int array_index)
#define DRIVER_TARGETS_LOOPER_BEGIN(dvar)
#define DRIVER_TARGETS_LOOPER_END
eIDPropertyUIDataType IDP_ui_data_type(const struct IDProperty *prop)
struct IDPropertyUIData * IDP_ui_data_ensure(struct IDProperty *prop)
struct IDProperty * IDP_GetProperties(struct ID *id, bool create_if_needed) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
bool IDP_ui_data_supported(const struct IDProperty *prop)
int IDP_coerce_to_int_or_zero(const struct IDProperty *prop)
@ IDP_UI_DATA_TYPE_UNSUPPORTED
@ IDP_UI_DATA_TYPE_STRING
struct IDProperty * IDP_New(char type, const IDPropertyTemplate *val, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
bool IDP_AddToGroup(struct IDProperty *group, struct IDProperty *prop) ATTR_NONNULL()
struct IDProperty * IDP_GetPropertyFromGroup(const struct IDProperty *prop, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
float IDP_coerce_to_float_or_zero(const struct IDProperty *prop)
double IDP_coerce_to_double_or_zero(const struct IDProperty *prop)
void IDP_FreeFromGroup(struct IDProperty *group, struct IDProperty *prop) ATTR_NONNULL()
void BKE_image_ensure_tile_token(char *filename)
void id_fake_user_set(struct ID *id)
void id_sort_by_name(struct ListBase *lb, struct ID *id, struct ID *id_sorting_hint)
void BKE_main_id_repair_duplicate_names_listbase(struct Main *bmain, struct ListBase *lb)
bool BKE_lib_override_library_is_user_edited(const struct ID *id)
struct IDOverrideLibraryProperty * BKE_lib_override_library_property_find(struct IDOverrideLibrary *override, const char *rna_path)
void BKE_lib_override_library_property_operation_delete(struct IDOverrideLibraryProperty *override_property, struct IDOverrideLibraryPropertyOperation *override_property_operation)
#define FOREACH_MAIN_ID_END
#define MAIN_VERSION_ATLEAST(main, ver, subver)
#define FOREACH_MAIN_LISTBASE_END
#define FOREACH_MAIN_LISTBASE_BEGIN(_bmain, _lb)
#define FOREACH_MAIN_ID_BEGIN(_bmain, _id)
struct ListBase * which_libbase(struct Main *bmain, short type)
bool BKE_main_namemap_validate_and_fix(struct Main *bmain) ATTR_NONNULL()
struct ModifierData * BKE_modifier_new(int type)
bool BKE_modifier_unique_name(struct ListBase *modifiers, struct ModifierData *md)
#define GEO_NODE_SET_POSITION
#define GEO_NODE_MERGE_BY_DISTANCE
#define GEO_NODE_TRIANGULATE
#define SH_NODE_COMBINE_COLOR
#define GEO_NODE_SET_CURVE_HANDLES
#define GEO_NODE_MESH_PRIMITIVE_ICO_SPHERE
#define GEO_NODE_SUBDIVISION_SURFACE
#define GEO_NODE_CURVE_SPLINE_PARAMETER
#define CMP_NODE_SEPHSVA_LEGACY
#define GEO_NODE_MESH_PRIMITIVE_CIRCLE
struct bNodeSocket * nodeAddSocket(struct bNodeTree *ntree, struct bNode *node, eNodeSocketInOut in_out, const char *idname, const char *identifier, const char *name)
#define GEO_NODE_SEPARATE_COMPONENTS
#define GEO_NODE_POINTS_TO_VERTICES
#define GEO_NODE_BOUNDING_BOX
#define GEO_NODE_SUBDIVIDE_MESH
#define CMP_NODE_COMBYCCA_LEGACY
#define SH_NODE_BSDF_PRINCIPLED
#define CMP_NODE_SEPRGBA_LEGACY
#define CMP_NODE_SEPARATE_COLOR
#define GEO_NODE_SET_POINT_RADIUS
#define GEO_NODE_SET_CURVE_TILT
#define SH_NODE_SUBSURFACE_SCATTERING
#define SH_NODE_MAP_RANGE
#define TEX_NODE_DECOMPOSE_LEGACY
#define GEO_NODE_INPUT_MESH_ISLAND
#define GEO_NODE_MESH_PRIMITIVE_CUBE
#define GEO_NODE_DISTRIBUTE_POINTS_ON_FACES
#define SH_NODE_SEPRGB_LEGACY
#define CMP_NODE_COMBYUVA_LEGACY
#define GEO_NODE_MESH_PRIMITIVE_CONE
#define GEO_NODE_REPLACE_MATERIAL
#define GEO_NODE_REVERSE_CURVE
#define GEO_NODE_MESH_BOOLEAN
#define CMP_NODE_SEPYUVA_LEGACY
#define TEX_NODE_COMBINE_COLOR
#define CMP_NODE_COMBHSVA_LEGACY
struct bNodeSocket * nodeAddStaticSocket(struct bNodeTree *ntree, struct bNode *node, eNodeSocketInOut in_out, int type, int subtype, const char *identifier, const char *name)
#define FN_NODE_COMBINE_COLOR
#define GEO_NODE_TRANSLATE_INSTANCES
#define TEX_NODE_SEPARATE_COLOR
#define GEO_NODE_MESH_PRIMITIVE_LINE
#define GEO_NODE_TRIM_CURVE
#define GEO_NODE_TRANSFER_ATTRIBUTE
#define SH_NODE_SEPHSV_LEGACY
#define TEX_NODE_COMPOSE_LEGACY
#define GEO_NODE_FILLET_CURVE
#define GEO_NODE_MESH_PRIMITIVE_CYLINDER
#define GEO_NODE_CURVE_SPLINE_TYPE
#define GEO_NODE_MESH_PRIMITIVE_UV_SPHERE
#define GEO_NODE_SUBDIVIDE_CURVE
#define GEO_NODE_MESH_PRIMITIVE_GRID
const char * nodeStaticSocketType(int type, int subtype)
#define GEO_NODE_SPLIT_EDGES
#define CMP_NODE_OUTPUT_FILE
#define FOREACH_NODETREE_END
struct bNodeLink * nodeAddLink(struct bNodeTree *ntree, struct bNode *fromnode, struct bNodeSocket *fromsock, struct bNode *tonode, struct bNodeSocket *tosock)
#define GEO_NODE_ROTATE_INSTANCES
#define GEO_NODE_INPUT_MESH_EDGE_ANGLE
#define GEO_NODE_REALIZE_INSTANCES
void nodeRemoveSocket(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock)
#define GEO_NODE_RESAMPLE_CURVE
#define GEO_NODE_SAMPLE_CURVE
#define CMP_NODE_COMBINE_COLOR
#define CMP_NODE_COMBRGBA_LEGACY
void nodeSetSelected(struct bNode *node, bool select)
#define GEO_NODE_CAPTURE_ATTRIBUTE
#define FN_NODE_SEPARATE_COLOR
#define GEO_NODE_FILL_CURVE
#define FOREACH_NODETREE_BEGIN(bmain, _nodetree, _id)
#define GEO_NODE_CURVE_LENGTH
#define GEO_NODE_CURVE_TO_MESH
struct bNodeTree * ntreeAddTree(struct Main *bmain, const char *name, const char *idname)
#define GEO_NODE_STRING_TO_CURVES
struct bNodeSocket * ntreeAddSocketInterface(struct bNodeTree *ntree, eNodeSocketInOut in_out, const char *idname, const char *name)
#define GEO_NODE_POINTS_TO_VOLUME
struct bNode * nodeAddStaticNode(const struct bContext *C, struct bNodeTree *ntree, int type)
#define CMP_NODE_SEPYCCA_LEGACY
#define GEO_NODE_SET_MATERIAL
#define GEO_NODE_SCALE_INSTANCES
#define GEO_NODE_SET_CURVE_RADIUS
#define GEO_NODE_CONVEX_HULL
#define GEO_NODE_JOIN_GEOMETRY
#define FN_NODE_SLICE_STRING
struct ARegion * BKE_region_find_in_listbase_by_type(const struct ListBase *regionbase, const int region_type)
#define BLI_assert_unreachable()
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
#define LISTBASE_FOREACH(type, var, list)
void BLI_freelinkN(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void void * BLI_listbase_string_or_index_find(const struct ListBase *listbase, const char *string, size_t string_offset, int index) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
void BLI_insertlinkafter(struct ListBase *listbase, void *vprevlink, void *vnewlink) ATTR_NONNULL(1)
#define LISTBASE_FOREACH_INDEX(type, var, list, index_var)
void void void BLI_movelisttolist(struct ListBase *dst, struct ListBase *src) ATTR_NONNULL(1
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
int BLI_listbase_count(const struct ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void BLI_listbase_swaplinks(struct ListBase *listbase, void *vlinka, void *vlinkb) ATTR_NONNULL(1
MINLINE float max_ff(float a, float b)
MINLINE float min_ff(float a, float b)
#define BLI_ASSERT_UNIT_V3(v)
MINLINE float sasqrt(float fac)
void unit_m3(float m[3][3])
void mul_m3_m3m3(float R[3][3], const float A[3][3], const float B[3][3])
void axis_angle_normalized_to_mat3(float R[3][3], const float axis[3], float angle)
MINLINE bool compare_v3v3(const float a[3], const float b[3], float limit) ATTR_WARN_UNUSED_RESULT
MINLINE float normalize_v3(float r[3])
MINLINE void sub_v3_v3v3(float r[3], const float a[3], const float b[3])
MINLINE void copy_v3_fl3(float v[3], float x, float y, float z)
MINLINE float dot_v3v3(const float a[3], const float b[3]) ATTR_WARN_UNUSED_RESULT
MINLINE void copy_v3_fl(float r[3], float f)
const char * BLI_path_basename(const char *path) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
bool BLI_path_extension_check(const char *str, const char *ext) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
size_t size_t char * BLI_sprintfN(const char *__restrict format,...) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1) ATTR_MALLOC ATTR_PRINTF_FORMAT(1
#define STRNCPY(dst, src)
#define SNPRINTF(dst, format,...)
int BLI_strcasecmp(const char *s1, const char *s2) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
char * BLI_str_replaceN(const char *__restrict str, const char *__restrict substr_old, const char *__restrict substr_new) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() ATTR_MALLOC
char * BLI_strdup(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() ATTR_MALLOC
bool BLI_str_endswith(const char *__restrict str, const char *__restrict end) ATTR_NONNULL()
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
size_t size_t char size_t BLI_str_escape(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL()
bool BLI_uniquename(struct ListBase *list, void *vlink, const char *defname, char delim, int name_offset, size_t name_len)
#define UNUSED_VARS_NDEBUG(...)
external readfile function prototypes.
typedef double(DMatrix)[4][4]
#define CLOG_ERROR(clg_ref,...)
#define ID_IS_OVERRIDE_LIBRARY_REAL(_id)
#define ID_IS_LINKED(_id)
@ IDOVERRIDE_LIBRARY_OP_INSERT_AFTER
@ IDOVERRIDE_LIBRARY_FLAG_SYSTEM_DEFINED
@ BBONE_ADD_PARENT_END_ROLL
Object groups, one object can be in many groups at once.
@ COLORMANAGE_VIEW_USE_CURVES
@ CONSTRAINT_TYPE_SPLINEIK
blenloader genfile private function prototypes
bool DNA_struct_find(const struct SDNA *sdna, const char *stype)
bool DNA_struct_elem_find(const struct SDNA *sdna, const char *stype, const char *vartype, const char *name)
@ eGpencilModifierType_Lineart
@ eGpencilModifierType_Smooth
@ LRT_USE_CREASE_ON_SMOOTH_SURFACES
These structs are the foundation for all linked lists in the library system.
#define MASK_DRAWFLAG_SPLINE
@ LRT_MATERIAL_CUSTOM_OCCLUSION_EFFECTIVENESS
@ eModifierType_WeightVGProximity
@ eModifierType_DataTransfer
@ eModifierType_SurfaceDeform
@ MOD_WVG_PROXIMITY_WEIGHTS_NORMALIZE
@ MOD_WVG_PROXIMITY_INVERT_VGROUP_MASK
@ CMP_NODE_COMBSEP_COLOR_YCC
@ CMP_NODE_COMBSEP_COLOR_YUV
@ CMP_NODE_COMBSEP_COLOR_RGB
@ CMP_NODE_COMBSEP_COLOR_HSV
@ SHD_SUBSURFACE_RANDOM_WALK_FIXED_RADIUS
@ SHD_SUBSURFACE_RANDOM_WALK
@ GEO_NODE_REALIZE_INSTANCES_LEGACY_BEHAVIOR
@ GEO_NODE_MERGE_BY_DISTANCE_MODE_ALL
#define SEQ_SNAP_TO_STRIPS
#define SEQ_SNAP_TO_STRIP_HOLD
#define UV_SCULPT_TOOL_RELAX_LAPLACIAN
#define SEQ_SNAP_TO_CURRENT_FRAME
@ SCE_SNAP_TO_INCLUDE_EDITED
@ SCE_SNAP_TO_INCLUDE_NONEDITED
@ seqModifierType_ColorBalance
@ SEQ_COLOR_BALANCE_METHOD_LIFTGAMMAGAIN
@ SEQ_USE_EFFECT_DEFAULT_FADE
@ SEQ_TRANSFORM_FILTER_BILINEAR
@ SN_OVERLAY_SHOW_WIRE_COLORS
@ SN_OVERLAY_SHOW_OVERLAYS
@ SN_OVERLAY_SHOW_NAMED_ATTRIBUTES
@ SI_OVERLAY_SHOW_GRID_BACKGROUND
@ SEQ_TIMELINE_SHOW_FCURVES
@ SEQ_TIMELINE_SHOW_STRIP_DURATION
@ SEQ_TIMELINE_SHOW_STRIP_OFFSETS
@ SEQ_TIMELINE_SHOW_STRIP_SOURCE
@ SEQ_TIMELINE_SHOW_STRIP_NAME
@ SEQ_TIMELINE_SHOW_STRIP_COLOR_TAG
@ SEQ_VIEW_SEQUENCE_PREVIEW
@ FILE_BROWSE_MODE_ASSETS
@ SO_FILTER_NO_VIEW_LAYERS
@ SPREADSHEET_FILTER_ENABLE
@ SEQ_PREVIEW_SHOW_METADATA
@ SEQ_PREVIEW_SHOW_GPENCIL
@ SEQ_PREVIEW_SHOW_SAFE_MARGINS
@ SEQ_PREVIEW_SHOW_OUTLINE_SELECTED
@ SEQ_PREVIEW_SHOW_SAFE_CENTER
@ FILE_ASSET_IMPORT_APPEND_REUSE
@ FILE_ASSET_IMPORT_APPEND
@ FILE_PARAMS_FLAG_UNUSED_3
@ FILE_PARAMS_FLAG_UNUSED_1
@ FILE_PARAMS_FLAG_UNUSED_2
#define FILE_SELECT_MAX_RECURSIONS
@ V2D_VIEWSYNC_AREA_VERTICAL
@ V3D_OFSDRAW_XR_SHOW_CUSTOM_OVERLAYS
@ V3D_OFSDRAW_SHOW_SELECTION
@ V3D_OFSDRAW_XR_SHOW_CONTROLLERS
@ V3D_AROUND_CENTER_MEDIAN
@ V3D_OVERLAY_FADE_INACTIVE
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble z
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
Read Guarded memory(de)allocation.
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Sky Generate a procedural sky texture Noise Generate fractal Perlin noise Wave Generate procedural bands or rings with noise Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a or normal between and object coordinate space Combine Create a color from its and value channels Color Retrieve a color or the default fallback if none is specified Separate Split a vector into its and Z components Generates normals with round corners and may slow down renders Vector Displace the surface along an arbitrary direction White Return a random value or color based on an input seed Float Map an input float to a curve and outputs a float value SH_NODE_SEPARATE_COLOR
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert a producing a negative SH_NODE_COMBRGB_LEGACY
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Sky Generate a procedural sky texture Noise Generate fractal Perlin noise Wave Generate procedural bands or rings with noise Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a or normal between and object coordinate space SH_NODE_COMBHSV_LEGACY
ATTR_WARN_UNUSED_RESULT const BMVert * v
SIMD_FORCE_INLINE btVector3 transform(const btVector3 &point) const
btSequentialImpulseConstraintSolverMt int btPersistentManifold int btTypedConstraint ** constraints
void SEQ_channels_ensure(ListBase *channels)
void SEQ_for_each_callback(ListBase *seqbase, SeqForEachFunc callback, void *user_data)
void *(* MEM_malloc_arrayN)(size_t len, size_t size, const char *str)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
static void area(int d1, int d2, int e1, int e2, float weights[2])
static const pxr::TfToken st("st", pxr::TfToken::Immortal)
struct node_tree node_tree
bool RNA_enum_value_from_id(const EnumPropertyItem *item, const char *identifier, int *r_value)
const EnumPropertyItem rna_enum_property_subtype_items[]
Editing * SEQ_editing_get(const Scene *scene)
SequencerToolSettings * SEQ_tool_settings_ensure(Scene *scene)
void SEQ_time_update_meta_strip_range(const Scene *scene, Sequence *seq_meta)
int SEQ_time_right_handle_frame_get(const Scene *scene, const Sequence *seq)
struct CurveMapping * curve_mapping
ListBase * displayed_channels
AssetLibraryReference asset_library_ref
FileSelectParams base_params
struct GpencilModifierData * next
float chain_smooth_tolerance
struct ModifierData * next
struct bNodeTree * node_group
struct NodesModifierSettings settings
struct IDProperty * properties
ListBase greasepencil_modifiers
struct ImageFormatData im_format
struct Collection * master_collection
struct ToolSettings * toolsettings
ColorManagedViewSettings view_settings
FileSelectParams * params
FileAssetSelectParams * asset_params
SpaceImageOverlay overlay
struct SequencerTimelineOverlay timeline_overlay
struct SequencerPreviewOverlay preview_overlay
StripTransform * transform
float normals_constant_screen_size
struct bConstraint * next
struct bNodeSocket * next
#define SEQ_SPEED_INTEGRATE
static void version_idproperty_move_data_string(IDPropertyUIDataString *ui_data, const IDProperty *prop_ui_data)
static void move_vertex_group_names_to_object_data(Main *bmain)
static void add_realize_instances_before_socket(bNodeTree *ntree, bNode *node, bNodeSocket *geometry_socket)
void do_versions_after_linking_300(FileData *UNUSED(fd), Main *bmain)
static void version_idproperty_move_data_float(IDPropertyUIDataFloat *ui_data, const IDProperty *prop_ui_data)
static bool seq_transform_origin_set(Sequence *seq, void *UNUSED(user_data))
void blo_do_versions_300(FileData *fd, Library *UNUSED(lib), Main *bmain)
static void versioning_replace_legacy_combined_and_separate_color_nodes(bNodeTree *ntree)
static void sort_linked_ids(Main *bmain)
static void version_liboverride_rnacollections_insertion_animdata(ID *id)
static void do_versions_idproperty_bones_recursive(Bone *bone)
static bNodeTree * add_realize_node_tree(Main *bmain)
static void version_geometry_nodes_add_attribute_input_settings(NodesModifierData *nmd)
static void version_idproperty_ui_data(IDProperty *idprop_group)
static void do_version_bbone_len_scale_fcurve_fix(FCurve *fcu)
static void version_switch_node_input_prefix(Main *bmain)
static void version_liboverride_rnacollections_insertion_object(Object *object)
static bool do_versions_sequencer_color_tags(Sequence *seq, void *UNUSED(user_data))
static void legacy_vec_roll_to_mat3_normalized(const float nor[3], const float roll, float r_mat[3][3])
static void version_geometry_nodes_set_position_node_offset(bNodeTree *ntree)
static void version_idproperty_move_data_int(IDPropertyUIDataInt *ui_data, const IDProperty *prop_ui_data)
static void do_versions_sequencer_speed_effect_recursive(Scene *scene, const ListBase *seqbase)
#define SEQ_SPEED_COMPRESS_IPO_Y
static void do_versions_idproperty_ui_data(Main *bmain)
static void version_node_tree_socket_id_delim(bNodeTree *ntree)
static void do_version_bones_bbone_len_scale(ListBase *lb)
static bool seq_transform_filter_set(Sequence *seq, void *UNUSED(user_data))
static void version_geometry_nodes_add_realize_instance_nodes(bNodeTree *ntree)
static void do_versions_idproperty_seq_recursive(ListBase *seqbase)
static void do_version_constraints_spline_ik_joint_bindings(ListBase *lb)
static void do_version_subsurface_methods(bNode *node)
static void seq_speed_factor_fix_rna_path(Sequence *seq, ListBase *fcurves)
static void version_fix_image_format_copy(Main *bmain, ImageFormatData *format)
static bool replace_bbone_len_scale_rnapath(char **p_old_path, int *p_index)
static void version_liboverride_rnacollections_insertion_object_constraints(ListBase *constraints, IDOverrideLibraryProperty *op)
static void do_version_bbone_len_scale_animdata_cb(ID *UNUSED(id), AnimData *adt, void *UNUSED(wrapper_data))
static bNodeSocket * do_version_replace_float_size_with_vector(bNodeTree *ntree, bNode *node, bNodeSocket *socket)
static bNodeLink * find_connected_link(bNodeTree *ntree, bNodeSocket *in_socket)
static IDProperty * idproperty_find_ui_container(IDProperty *idprop_group)
static bool version_fix_seq_meta_range(Sequence *seq, void *user_data)
static bool version_merge_still_offsets(Sequence *seq, void *UNUSED(user_data))
static void correct_bone_roll_value(const float head[3], const float tail[3], const float check_x_axis[3], const float check_y_axis[3], float *r_roll)
static bool do_versions_sequencer_color_balance_sop(Sequence *seq, void *UNUSED(user_data))
static bool seq_speed_factor_set(Sequence *seq, void *user_data)
static void assert_sorted_ids(Main *bmain)
static bool seq_meta_channels_ensure(Sequence *seq, void *UNUSED(user_data))
static void do_version_bones_roll(ListBase *lb)
void version_node_socket_id_delim(bNodeSocket *socket)
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_node_input_socket_name(bNodeTree *ntree, const int node_type, const char *old_name, const char *new_name)
ARegion * do_versions_add_region(int regiontype, const char *name)
void version_node_socket_name(bNodeTree *ntree, const int node_type, const char *old_name, const char *new_name)
void version_socket_update_is_used(bNodeTree *ntree)
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)
ARegion * do_versions_add_region_if_not_found(ListBase *regionbase, int region_type, const char *name, int link_after_region_type)
void version_node_output_socket_name(bNodeTree *ntree, const int node_type, const char *old_name, const char *new_name)
void version_node_id(bNodeTree *ntree, const int node_type, const char *new_name)