244 #define IDP_Int(prop) ((prop)->data.val)
245 #define IDP_Array(prop) ((prop)->data.pointer)
247 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
248 # define IDP_Float(prop) \
250 struct IDProperty *: (*(float *)&(prop)->data.val), \
251 const struct IDProperty *: (*(const float *)&(prop)->data.val))
252 # define IDP_Double(prop) \
254 struct IDProperty *: (*(double *)&(prop)->data.val), \
255 const struct IDProperty *: (*(const double *)&(prop)->data.val))
256 # define IDP_String(prop) \
258 struct IDProperty *: ((char *) (prop)->data.pointer), \
259 const struct IDProperty *: ((const char *) (prop)->data.pointer))
260 # define IDP_IDPArray(prop) \
262 struct IDProperty *: ((struct IDProperty *) (prop)->data.pointer), \
263 const struct IDProperty *: ((const struct IDProperty *) (prop)->data.pointer))
264 # define IDP_Id(prop) \
266 struct IDProperty *: ((ID *) (prop)->data.pointer), \
267 const struct IDProperty *: ((const ID *) (prop)->data.pointer))
269 # define IDP_Float(prop) (*(float *)&(prop)->data.val)
270 # define IDP_Double(prop) (*(double *)&(prop)->data.val)
271 # define IDP_String(prop) ((char *)(prop)->data.pointer)
272 # define IDP_IDPArray(prop) ((struct IDProperty *)(prop)->data.pointer)
273 # define IDP_Id(prop) ((ID *)(prop)->data.pointer)
320 const char *caller_func_id);
321 #define IDP_BlendDataRead(reader, prop) IDP_BlendReadData_impl(reader, prop, __func__)
eIDPropertyUIDataType IDP_ui_data_type(const struct IDProperty *prop)
void IDP_MergeGroup_ex(struct IDProperty *dest, const struct IDProperty *src, bool do_overwrite, int flag) ATTR_NONNULL()
void IDP_BlendReadExpand(struct BlendExpander *expander, struct IDProperty *prop)
bool IDP_EqualsProperties(struct IDProperty *prop1, struct IDProperty *prop2) ATTR_WARN_UNUSED_RESULT
void IDP_AssignID(struct IDProperty *prop, struct ID *id, int flag)
struct IDProperty * IDP_CopyProperty_ex(const struct IDProperty *prop, int flag) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void IDP_AppendArray(struct IDProperty *prop, struct IDProperty *item)
void IDP_FreePropertyContent(struct IDProperty *prop)
void(* IDPWalkFunc)(void *userData, struct IDProperty *idp)
struct IDPropertyUIData * IDP_ui_data_ensure(struct IDProperty *prop)
void IDP_BlendWrite(struct BlendWriter *writer, const struct IDProperty *prop)
void IDP_SetIndexArray(struct IDProperty *prop, int index, struct IDProperty *item) ATTR_NONNULL()
struct IDProperty * IDP_GetProperties(struct ID *id, bool create_if_needed) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void IDP_CopyPropertyContent(struct IDProperty *dst, struct IDProperty *src) ATTR_NONNULL()
void IDP_ReplaceInGroup(struct IDProperty *group, struct IDProperty *prop) ATTR_NONNULL()
struct IDProperty * IDP_CopyIDPArray(const struct IDProperty *array, int flag) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void IDP_foreach_property(struct IDProperty *id_property_root, int type_filter, IDPForeachPropertyCallback callback, void *user_data)
void(* IDPForeachPropertyCallback)(struct IDProperty *id_property, void *user_data)
bool IDP_ui_data_supported(const struct IDProperty *prop)
void IDP_ui_data_free_unique_contents(struct IDPropertyUIData *ui_data, eIDPropertyUIDataType type, const struct IDPropertyUIData *other)
int IDP_coerce_to_int_or_zero(const struct IDProperty *prop)
struct IDProperty * IDP_GetIndexArray(struct IDProperty *prop, int index) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void IDP_ConcatString(struct IDProperty *str1, struct IDProperty *append) ATTR_NONNULL()
void IDP_print(const struct IDProperty *prop)
char * IDP_reprN(const struct IDProperty *prop, uint *r_len)
@ 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()
void IDP_ConcatStringC(struct IDProperty *prop, const char *st) ATTR_NONNULL()
struct IDPropertyUIData * IDP_ui_data_copy(const struct IDProperty *prop)
bool IDP_InsertToGroup(struct IDProperty *group, struct IDProperty *previous, struct IDProperty *pnew) ATTR_NONNULL(1
struct IDProperty * IDP_NewIDPArray(const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
struct IDProperty * IDP_GetPropertyTypeFromGroup(const struct IDProperty *prop, const char *name, char type) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
bool void IDP_RemoveFromGroup(struct IDProperty *group, struct IDProperty *prop) ATTR_NONNULL()
void IDP_ReplaceInGroup_ex(struct IDProperty *group, struct IDProperty *prop, struct IDProperty *prop_exist)
struct IDProperty * IDP_NewString(const char *st, const char *name, int maxlen) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(2)
void IDP_ResizeIDPArray(struct IDProperty *prop, int len)
void IDP_FreeString(struct IDProperty *prop) ATTR_NONNULL()
void IDP_SyncGroupTypes(struct IDProperty *dest, const struct IDProperty *src, bool do_arraylen) ATTR_NONNULL()
union IDPropertyTemplate IDPropertyTemplate
void IDP_BlendReadData_impl(struct BlendDataReader *reader, struct IDProperty **prop, const char *caller_func_id)
void IDP_repr_fn(const struct IDProperty *prop, void(*str_append_fn)(void *user_data, const char *str, uint str_len), void *user_data)
void IDP_ReplaceGroupInGroup(struct IDProperty *dest, const struct IDProperty *src) ATTR_NONNULL()
void IDP_FreeProperty_ex(struct IDProperty *prop, bool do_id_user)
void IDP_ui_data_free(struct IDProperty *prop)
void IDP_MergeGroup(struct IDProperty *dest, const struct IDProperty *src, bool do_overwrite) ATTR_NONNULL()
void IDP_FreeProperty(struct IDProperty *prop)
void IDP_FreePropertyContent_ex(struct IDProperty *prop, bool do_id_user)
void IDP_SyncGroupValues(struct IDProperty *dest, const struct IDProperty *src) ATTR_NONNULL()
void IDP_ResizeArray(struct IDProperty *prop, int newlen)
bool IDP_AddToGroup(struct IDProperty *group, struct IDProperty *prop) ATTR_NONNULL()
bool IDP_EqualsProperties_ex(struct IDProperty *prop1, struct IDProperty *prop2, bool is_strict) ATTR_WARN_UNUSED_RESULT
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)
void IDP_Reset(struct IDProperty *prop, const struct IDProperty *reference)
void IDP_BlendReadLib(struct BlendLibReader *reader, struct Library *lib, struct IDProperty *prop)
void IDP_AssignString(struct IDProperty *prop, const char *st, int maxlen) ATTR_NONNULL()
void IDP_FreeArray(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 IDP_ClearProperty(struct IDProperty *prop)
struct IDProperty * IDP_CopyProperty(const struct IDProperty *prop) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
#define ATTR_WARN_UNUSED_RESULT
#define ATTR_NONNULL(...)
_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 type
DEGForeachIDComponentCallback callback
SyclQueue void void * src
SyclQueue void void size_t num_bytes void
static const pxr::TfToken st("st", pxr::TfToken::Immortal)
IDPropertyUIData * ui_data
struct IDPropertyTemplate::@27 array
struct IDPropertyTemplate::@28 matrix_or_vector
struct IDPropertyTemplate::@26 string