void defgroup_unique_name(bDeformGroup *dg, Object *ob) { struct {Object *ob; void *dg; } data; data.ob = ob; data.dg = dg; BLI_uniquename_cb(defgroup_unique_check, &data, DATA_("Group"), '.', dg->name, sizeof(dg->name)); }
void unique_editbone_name(ListBase *edbo, char *name, EditBone *bone) { struct {ListBase *lb; void *bone; } data; data.lb = edbo; data.bone = bone; BLI_uniquename_cb(editbone_unique_check, &data, DATA_("Bone"), '.', name, sizeof(bone->name)); }
void ntreeCompositOutputFileUniqueLayer(ListBase *list, bNodeSocket *sock, const char defname[], char delim) { NodeImageMultiFileSocket *sockdata; struct {ListBase *lb; bNodeSocket *sock;} data; data.lb = list; data.sock = sock; /* See if we are given an empty string */ if (ELEM(NULL, sock, defname)) return; sockdata = sock->storage; BLI_uniquename_cb(unique_layer_unique_check, &data, defname, delim, sockdata->layer, sizeof(sockdata->layer)); }
void BLI_uniquename(ListBase *list, void *vlink, const char defname[], char delim, short name_offs, short name_len) { struct {ListBase *lb; void *vlink; short name_offs; } data; data.lb = list; data.vlink = vlink; data.name_offs = name_offs; assert((name_len > 1) && (name_len <= UNIQUE_NAME_MAX)); /* See if we are given an empty string */ if (ELEM(NULL, vlink, defname)) return; BLI_uniquename_cb(uniquename_unique_check, &data, defname, delim, GIVE_STRADDR(vlink, name_offs), name_len); }
static void unique_bone_name(bArmature *arm, char *name) { BLI_uniquename_cb(bone_unique_check, (void *)arm, DATA_("Bone"), '.', name, sizeof(((Bone *)NULL)->name)); }