diff options
author | Campbell Barton <ideasman42@gmail.com> | 2021-12-07 09:19:15 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2021-12-07 09:38:48 +0300 |
commit | ffc4c126f5416b04a01653e7a03451797b98aba4 (patch) | |
tree | ac63d70d33aae5ab1666c9c2f62058c9c1eebd5c /source/blender/blenkernel/intern/idprop.c | |
parent | f159d49f56cedccd509ee93f5a5fb51f4f39eeb8 (diff) |
Cleanup: move public doc-strings into headers for 'blenkernel'
- Added space below non doc-string comments to make it clear
these aren't comments for the symbols directly below them.
- Use doxy sections for some headers.
- Minor improvements to doc-strings.
Ref T92709
Diffstat (limited to 'source/blender/blenkernel/intern/idprop.c')
-rw-r--r-- | source/blender/blenkernel/intern/idprop.c | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/source/blender/blenkernel/intern/idprop.c b/source/blender/blenkernel/intern/idprop.c index f7411f541b7..c21f3dd0bcf 100644 --- a/source/blender/blenkernel/intern/idprop.c +++ b/source/blender/blenkernel/intern/idprop.c @@ -76,10 +76,6 @@ static size_t idp_size_table[] = { /* --------- property array type -------------*/ -/** - * \note as a start to move away from the stupid IDP_New function, this type - * has its own allocation function. - */ IDProperty *IDP_NewIDPArray(const char *name) { IDProperty *prop = MEM_callocN(sizeof(IDProperty), "IDProperty prop array"); @@ -127,7 +123,6 @@ static void IDP_FreeIDPArray(IDProperty *prop, const bool do_id_user) } } -/* shallow copies item */ void IDP_SetIndexArray(IDProperty *prop, int index, IDProperty *item) { BLI_assert(prop->type == IDP_IDPARRAY); @@ -229,7 +224,6 @@ static void idp_resize_group_array(IDProperty *prop, int newlen, void *newarr) } } -/* This function works for strings too! */ void IDP_ResizeArray(IDProperty *prop, int newlen) { const bool is_grow = newlen >= prop->len; @@ -357,13 +351,6 @@ static IDProperty *IDP_CopyArray(const IDProperty *prop, const int flag) /** \name String Functions (IDProperty String API) * \{ */ -/** - * - * \param st: The string to assign. - * \param name: The property name. - * \param maxlen: The size of the new string (including the \0 terminator). - * \return The new string property. - */ IDProperty *IDP_NewString(const char *st, const char *name, int maxlen) { IDProperty *prop = MEM_callocN(sizeof(IDProperty), "IDProperty string"); @@ -514,8 +501,6 @@ static IDProperty *IDP_CopyGroup(const IDProperty *prop, const int flag) return newp; } -/* use for syncing proxies. - * When values name and types match, copy the values, else ignore */ void IDP_SyncGroupValues(IDProperty *dest, const IDProperty *src) { BLI_assert(dest->type == IDP_GROUP); @@ -565,9 +550,6 @@ void IDP_SyncGroupTypes(IDProperty *dest, const IDProperty *src, const bool do_a } } -/** - * Replaces all properties with the same name in a destination group from a source group. - */ void IDP_ReplaceGroupInGroup(IDProperty *dest, const IDProperty *src) { BLI_assert(dest->type == IDP_GROUP); @@ -592,10 +574,6 @@ void IDP_ReplaceGroupInGroup(IDProperty *dest, const IDProperty *src) } } -/** - * Checks if a property with the same name as prop exists, and if so replaces it. - * Use this to preserve order! - */ void IDP_ReplaceInGroup_ex(IDProperty *group, IDProperty *prop, IDProperty *prop_exist) { BLI_assert(group->type == IDP_GROUP); @@ -618,10 +596,6 @@ void IDP_ReplaceInGroup(IDProperty *group, IDProperty *prop) IDP_ReplaceInGroup_ex(group, prop, prop_exist); } -/** - * If a property is missing in \a dest, add it. - * Do it recursively. - */ void IDP_MergeGroup_ex(IDProperty *dest, const IDProperty *src, const bool do_overwrite, @@ -663,25 +637,11 @@ void IDP_MergeGroup_ex(IDProperty *dest, } } -/** - * If a property is missing in \a dest, add it. - * Do it recursively. - */ void IDP_MergeGroup(IDProperty *dest, const IDProperty *src, const bool do_overwrite) { IDP_MergeGroup_ex(dest, src, do_overwrite, 0); } -/** - * This function has a sanity check to make sure ID properties with the same name don't - * get added to the group. - * - * The sanity check just means the property is not added to the group if another property - * exists with the same name; the client code using ID properties then needs to detect this - * (the function that adds new properties to groups, #IDP_AddToGroup, - * returns false if a property can't be added to the group, and true if it can) - * and free the property. - */ bool IDP_AddToGroup(IDProperty *group, IDProperty *prop) { BLI_assert(group->type == IDP_GROUP); @@ -695,10 +655,6 @@ bool IDP_AddToGroup(IDProperty *group, IDProperty *prop) return false; } -/** - * This is the same as IDP_AddToGroup, only you pass an item - * in the group list to be inserted after. - */ bool IDP_InsertToGroup(IDProperty *group, IDProperty *previous, IDProperty *pnew) { BLI_assert(group->type == IDP_GROUP); @@ -712,12 +668,6 @@ bool IDP_InsertToGroup(IDProperty *group, IDProperty *previous, IDProperty *pnew return false; } -/** - * \note this does not free the property!! - * - * To free the property, you have to do: - * IDP_FreeProperty(prop); - */ void IDP_RemoveFromGroup(IDProperty *group, IDProperty *prop) { BLI_assert(group->type == IDP_GROUP); @@ -727,9 +677,6 @@ void IDP_RemoveFromGroup(IDProperty *group, IDProperty *prop) BLI_remlink(&group->data.group, prop); } -/** - * Removes the property from the group and frees it. - */ void IDP_FreeFromGroup(IDProperty *group, IDProperty *prop) { IDP_RemoveFromGroup(group, prop); @@ -742,7 +689,6 @@ IDProperty *IDP_GetPropertyFromGroup(const IDProperty *prop, const char *name) return (IDProperty *)BLI_findstring(&prop->data.group, name, offsetof(IDProperty, name)); } -/** same as above but ensure type match */ IDProperty *IDP_GetPropertyTypeFromGroup(const IDProperty *prop, const char *name, const char type) { IDProperty *idprop = IDP_GetPropertyFromGroup(prop, name); @@ -768,10 +714,6 @@ static void IDP_FreeGroup(IDProperty *prop, const bool do_id_user) /** \name Main Functions (IDProperty Main API) * \{ */ -/** - * Return an int from an IDProperty with a compatible type. This should be avoided, but - * it's sometimes necessary, for example when legacy files have incorrect property types. - */ int IDP_coerce_to_int_or_zero(const IDProperty *prop) { switch (prop->type) { @@ -786,10 +728,6 @@ int IDP_coerce_to_int_or_zero(const IDProperty *prop) } } -/** - * Return a double from an IDProperty with a compatible type. This should be avoided, but - * it's sometimes necessary, for example when legacy files have incorrect property types. - */ double IDP_coerce_to_double_or_zero(const IDProperty *prop) { switch (prop->type) { @@ -804,10 +742,6 @@ double IDP_coerce_to_double_or_zero(const IDProperty *prop) } } -/** - * Return a float from an IDProperty with a compatible type. This should be avoided, but - * it's sometimes necessary, for example when legacy files have incorrect property types. - */ float IDP_coerce_to_float_or_zero(const IDProperty *prop) { switch (prop->type) { @@ -845,10 +779,6 @@ IDProperty *IDP_CopyProperty(const IDProperty *prop) return IDP_CopyProperty_ex(prop, 0); } -/** - * Copy content from source IDProperty into destination one, freeing destination property's content - * first. - */ void IDP_CopyPropertyContent(IDProperty *dst, IDProperty *src) { IDProperty *idprop_tmp = IDP_CopyProperty(src); @@ -858,11 +788,6 @@ void IDP_CopyPropertyContent(IDProperty *dst, IDProperty *src) IDP_FreeProperty(idprop_tmp); } -/** - * Get the Group property that contains the id properties for ID id. Set create_if_needed - * to create the Group property and attach it to id if it doesn't exist; otherwise - * the function will return NULL if there's no Group property attached to the ID. - */ IDProperty *IDP_GetProperties(ID *id, const bool create_if_needed) { if (id->properties) { @@ -880,8 +805,6 @@ IDProperty *IDP_GetProperties(ID *id, const bool create_if_needed) return id->properties; } -/** - * \param is_strict: When false treat missing items as a match */ bool IDP_EqualsProperties_ex(IDProperty *prop1, IDProperty *prop2, const bool is_strict) { if (prop1 == NULL && prop2 == NULL) { @@ -974,33 +897,6 @@ bool IDP_EqualsProperties(IDProperty *prop1, IDProperty *prop2) return IDP_EqualsProperties_ex(prop1, prop2, true); } -/** - * Allocate a new ID. - * - * This function takes three arguments: the ID property type, a union which defines - * its initial value, and a name. - * - * The union is simple to use; see the top of BKE_idprop.h for its definition. - * An example of using this function: - * - * \code{.c} - * IDPropertyTemplate val; - * IDProperty *group, *idgroup, *color; - * group = IDP_New(IDP_GROUP, val, "group1"); // groups don't need a template. - * - * val.array.len = 4 - * val.array.type = IDP_FLOAT; - * color = IDP_New(IDP_ARRAY, val, "color1"); - * - * idgroup = IDP_GetProperties(some_id, 1); - * IDP_AddToGroup(idgroup, color); - * IDP_AddToGroup(idgroup, group); - * \endcode - * - * Note that you MUST either attach the id property to an id property group with - * IDP_AddToGroup or MEM_freeN the property, doing anything else might result in - * a memory leak. - */ IDProperty *IDP_New(const char type, const IDPropertyTemplate *val, const char *name) { IDProperty *prop = NULL; @@ -1096,11 +992,6 @@ IDProperty *IDP_New(const char type, const IDPropertyTemplate *val, const char * return prop; } -/** - * Free allocated pointers in the UI data that isn't shared with the UI data in the #other - * argument. Useful for returning early on failure when updating UI data in place, or when - * replacing a subset of the UI data's allocated pointers. - */ void IDP_ui_data_free_unique_contents(IDPropertyUIData *ui_data, const eIDPropertyUIDataType type, const IDPropertyUIData *other) @@ -1175,10 +1066,6 @@ void IDP_ui_data_free(IDProperty *prop) prop->ui_data = NULL; } -/** - * \note This will free allocated data, all child properties of arrays and groups, and unlink IDs! - * But it does not free the actual IDProperty struct itself. - */ void IDP_FreePropertyContent_ex(IDProperty *prop, const bool do_id_user) { switch (prop->type) { @@ -1241,14 +1128,6 @@ void IDP_Reset(IDProperty *prop, const IDProperty *reference) } } -/** - * Loop through all ID properties in hierarchy of given \a id_property_root included. - * - * \note Container types (groups and arrays) are processed after applying the callback on them. - * - * \param type_filter: If not 0, only apply callback on properties of matching types, see - * IDP_TYPE_FILTER_ enum in DNA_ID.h. - */ void IDP_foreach_property(IDProperty *id_property_root, const int type_filter, IDPForeachPropertyCallback callback, |