52 # define ASSERT_SOFT_HARD_LIMITS \
53 if (softmin < hardmin || softmax > hardmax) { \
54 CLOG_ERROR(&LOG, "error with soft/hard limits: %s.%s", CONTAINER_RNA_ID(cont), identifier); \
55 BLI_assert(!"invalid soft/hard limits"); \
59 # define ASSERT_SOFT_HARD_LIMITS (void)0
74 .make_overridable =
false,
93 "dna_type=%s, dna_offset=%d, dna_struct=%s, dna_name=%s, id=%s\n",
106 # define DESCR_CHECK(description, id1, id2) \
107 if (description && (description)[0]) { \
108 int i = strlen(description); \
109 if (i > 3 && (description)[i - 1] == '.' && (description)[i - 3] != '.') { \
111 "'%s' description from '%s' '%s' ends with a '.' !", \
120 # define DESCR_CHECK(description, id1, id2)
130 if (listbase->
last) {
131 ((
Link *)listbase->
last)->next = link;
134 listbase->
first = link;
136 listbase->
last = link;
150 if (listbase->
last == link) {
153 if (listbase->
first == link) {
162 for (link = listbase->
first; link; link = link->
next) {
182 for (link = listbase->
first; link; link =
next) {
228 g_version_data.struct_map_static_from_alias, struct_name, (
void *)struct_name);
244 for (; dsrna; dsrna = dsrna->
cont.
prev) {
245 if (dsrna->
srna == srna) {
266 for (; dprop; dprop = dprop->
prev) {
267 if (dprop->
prop == prop) {
273 for (; dsrna; dsrna = dsrna->
cont.
prev) {
275 for (; dprop; dprop = dprop->
prev) {
276 if (dprop->
prop == prop) {
323 for (; dfunc; dfunc = dfunc->
cont.
prev) {
324 if (dfunc->
func == func) {
330 for (; dsrna; dsrna = dsrna->
cont.
prev) {
332 for (; dfunc; dfunc = dfunc->
cont.
prev) {
333 if (dfunc->
func == func) {
356 for (; dfunc; dfunc = dfunc->
cont.
prev) {
358 for (; dparm; dparm = dparm->
prev) {
359 if (dparm->
prop == parm) {
366 for (; dsrna; dsrna = dsrna->
cont.
prev) {
368 for (; dfunc; dfunc = dfunc->
cont.
prev) {
370 for (; dparm; dparm = dparm->
prev) {
371 if (dparm->
prop == parm) {
421 while (name[0] ==
'*') {
424 while (oname[0] ==
'*') {
429 if (name[
a] ==
'[' && oname[
a] == 0) {
432 if (name[
a] ==
'[' && oname[
a] ==
'[') {
438 if (name[
a] != oname[
a]) {
443 if (name[
a] == 0 && oname[
a] ==
'.') {
446 if (name[
a] == 0 && oname[
a] ==
'-' && oname[
a + 1] ==
'>') {
450 return (name[
a] == oname[
a]);
454 const char *structname,
455 const char *membername,
460 int b, structnr, cmp;
469 if (structnr == -1) {
485 smember->
name = dnaname;
486 smember->
offset = *offset;
489 if (strstr(membername,
"[")) {
497 for (b = 0; dnaname[b] ==
'*'; b++) {
505 smember->
name = dnaname;
506 smember->
offset = *offset;
511 membername = strstr(membername,
".") + strlen(
".");
518 smember->
name = dnaname;
519 smember->
offset = *offset;
527 membername = strstr(membername,
"->") + strlen(
"->");
533 if (offset && *offset != -1) {
553 static const char *kwlist[] = {
555 "and",
"as",
"assert",
"async",
"await",
"break",
"class",
"continue",
"def",
556 "del",
"elif",
"else",
"except",
"finally",
"for",
"from",
"global",
"if",
557 "import",
"in",
"is",
"lambda",
"nonlocal",
"not",
"or",
"pass",
"raise",
558 "return",
"try",
"while",
"with",
"yield",
NULL,
561 if (!isalpha(identifier[0])) {
562 strcpy(
error,
"first character failed isalpha() check");
566 for (
a = 0; identifier[
a];
a++) {
568 if (isalpha(identifier[
a]) && isupper(identifier[
a])) {
569 strcpy(
error,
"property names must contain lower case characters only");
574 if (identifier[
a] ==
'_') {
578 if (identifier[
a] ==
' ') {
579 strcpy(
error,
"spaces are not okay in identifier names");
583 if (isalnum(identifier[
a]) == 0) {
584 strcpy(
error,
"one of the characters failed an isalnum() check and is not an underscore");
589 for (
a = 0; kwlist[
a];
a++) {
590 if (
STREQ(identifier, kwlist[
a])) {
591 strcpy(
error,
"this keyword is reserved by python");
597 static const char *kwlist_prop[] = {
606 for (
a = 0; kwlist_prop[
a];
a++) {
607 if (
STREQ(identifier, kwlist_prop[
a])) {
608 strcpy(
error,
"this keyword is reserved by python");
622 static const char *kwlist[] = {
624 "and",
"as",
"assert",
"break",
"class",
"continue",
"def",
"del",
625 "elif",
"else",
"except",
"finally",
"for",
"from",
"global",
"if",
626 "import",
"in",
"is",
"lambda",
"nonlocal",
"not",
"or",
"pass",
627 "raise",
"return",
"try",
"while",
"with",
"yield",
NULL,
630 if (!isalpha(identifier[0])) {
635 for (
a = 0; identifier[
a];
a++) {
637 if (isalpha(identifier[
a]) && isupper(identifier[
a])) {
639 identifier[
a] = tolower(identifier[
a]);
643 if (identifier[
a] ==
'_') {
647 if (identifier[
a] ==
' ') {
652 if (isalnum(identifier[
a]) == 0) {
658 for (
a = 0; kwlist[
a];
a++) {
659 if (
STREQ(identifier, kwlist[
a])) {
663 identifier[strlen(identifier) - 1] =
'_';
669 static const char *kwlist_prop[] = {
678 for (
a = 0; kwlist_prop[
a];
a++) {
679 if (
STREQ(identifier, kwlist_prop[
a])) {
683 identifier[strlen(identifier) - 1] =
'_';
697 const char *error_message =
NULL;
707 CLOG_ERROR(&
LOG,
"Failed to decode SDNA: %s.", error_message);
805 fprintf(stderr,
"%s '%s' freed while holding a python reference.", srna->
identifier);
811 nextprop = prop->
next;
824 nextparm = parm->
next;
840 rna_brna_structs_remove_and_free(brna, srna);
871 for (srna = brna->
structs.
first; srna; srna = nextsrna) {
910 if (ds->
srna == srna) {
940 memcpy(srna, srnafrom,
sizeof(
StructRNA));
946 srna->
base = srnafrom;
962 srna->
name = identifier;
967 srna->
icon = ICON_DOT;
1008 "rna_builtin_properties_begin",
1009 "rna_builtin_properties_next",
1010 "rna_iterator_listbase_end",
1011 "rna_builtin_properties_get",
1014 "rna_builtin_properties_lookup_string",
1106 CLOG_ERROR(&
LOG,
"%s base struct must know DNA already.", structname);
1159 srna->
flag &= ~flag;
1194 const char *instance)
1237 if (identifier[0] !=
'\0') {
1280 const char *identifier,
1315 "runtime property identifier \"%s.%s\" - %s",
1331 "subtype does not apply to 'PROP_BOOLEAN' \"%s.%s\"",
1344 "subtype does not apply to 'PROP_INT' \"%s.%s\"",
1409 prop->
name = identifier;
1519 prop->
flag &= ~flag;
1551 prop->
flag |= flag_property;
1559 prop->
flag &= ~flag_property;
1574 "\"%s.%s\", array length must be zero of greater.",
1583 "\"%s.%s\", array length must be smaller than %d.",
1593 "\"%s.%s\", array dimensions has been set to %u but would be overwritten as 1.",
1601 switch (prop->
type) {
1611 "\"%s.%s\", only boolean/int/float can be array.",
1636 "\"%s.%s\", array dimension must be between 1 and %d.",
1644 switch (prop->
type) {
1651 "\"%s.%s\", only boolean/int/float can be array.",
1665 for (i = 1; i < dimension; i++) {
1687 if (consecutive != 0) {
1690 if (consecutive < 0) {
1717 if (step < 0 || step > 100) {
1733 switch (prop->
type) {
1738 iprop->
step = (int)step;
1768 switch (prop->
type) {
1801 switch (prop->
type) {
1832 switch (prop->
type) {
1842 "\"%s.%s\", this struct type (probably an Operator, Keymap or UserPreference) "
1843 "does not accept ID pointer properties.",
1863 "\"%s.%s\", invalid type for struct type.",
1878 switch (prop->
type) {
1895 int i, defaultfound = 0;
1897 switch (prop->
type) {
1905 if (item[i].identifier[0]) {
1909 "\"%s.%s\", enum identifiers must not contain spaces.",
1921 if (!defaultfound) {
1923 if (item[i].identifier[0]) {
1944 switch (prop->
type) {
1961 switch (prop->
type) {
1985 switch (prop->
type) {
2002 switch (prop->
type) {
2024 switch (prop->
type) {
2046 switch (prop->
type) {
2068 switch (prop->
type) {
2090 switch (prop->
type) {
2094 if (value ==
NULL) {
2096 "\"%s.%s\", NULL string passed (don't call in this case).",
2105 "\"%s.%s\", empty string passed (don't call in this case).",
2130 int i, defaultfound = 0;
2132 switch (prop->
type) {
2140 for (i = 0; i < eprop->
totitem; i++) {
2148 "\"%s.%s\", default includes unused bits (%d).",
2156 for (i = 0; i < eprop->
totitem; i++) {
2162 if (!defaultfound && eprop->
totitem) {
2186 const char *structname,
2187 const char *propname)
2226 "\"%s.%s\" (identifier \"%s\") not found. Struct must be in DNA.",
2258 const char *structname,
2259 const char *propname,
2283 "%s.%s is a '%s' but wrapped as type '%s'.",
2303 bool has_default =
true;
2305 has_default =
false;
2307 fprintf(stderr,
"%s default: unsupported boolean array default\n", __func__);
2312 bprop->
defaultvalue = *(
const char *)default_data & bit;
2315 bprop->
defaultvalue = *(
const short *)default_data & bit;
2318 bprop->
defaultvalue = *(
const int *)default_data & bit;
2321 has_default =
false;
2324 stderr,
"%s default: unsupported boolean type (%s)\n", __func__, dp->
dnatype);
2349 const char *structname,
2350 const char *propname,
2387 "%s.%s is a '%s' but wrapped as type '%s'.",
2433 bool has_default =
true;
2439 for (
int i = 0; i < prop->
totarraylength && default_data < default_data_end; i++) {
2440 defaultarray[i] = *(
const char *)default_data;
2448 for (
int i = 0; i < prop->
totarraylength && default_data < default_data_end; i++) {
2450 *(
const ushort *)default_data;
2457 memcpy(defaultarray, default_data,
MIN2(size_final, dp->
dnasize));
2461 has_default =
false;
2464 "%s default: unsupported int array type (%s)\n",
2472 fprintf(stderr,
"value=(");
2476 fprintf(stderr,
"), ");
2487 *(
const short *)default_data :
2488 *(
const ushort *)default_data;
2492 *(
const uint *)default_data;
2495 has_default =
false;
2497 fprintf(stderr,
"%s default: unsupported int type (%s)\n", __func__, dp->
dnatype);
2539 "%s.%s is a '%s' but wrapped as type '%s'.",
2563 bool has_default =
true;
2567 float *defaultarray =
rna_calloc(size_final);
2568 memcpy(defaultarray, default_data,
MIN2(size_final, dp->
dnasize));
2572 has_default =
false;
2575 "%s default: unsupported float array type (%s)\n",
2583 fprintf(stderr,
"value=(");
2587 fprintf(stderr,
"), ");
2600 has_default =
false;
2603 stderr,
"%s default: unsupported float type (%s)\n", __func__, dp->
dnatype);
2646 CLOG_ERROR(&
LOG,
"\"%s.%s\", array not supported for enum type.", structname, propname);
2659 bool has_default =
true;
2670 has_default =
false;
2672 fprintf(stderr,
"%s default: unsupported enum type (%s)\n", __func__, dp->
dnatype);
2692 const char *structname,
2693 const char *propname)
2705 int defaultvalue_mask = 0;
2707 for (
int i = 0; i < eprop->
totitem; i++) {
2752 fprintf(stderr,
"value=\"%s\", ", sprop->
defaultvalue);
2784 CLOG_ERROR(&
LOG,
"\"%s.%s\", array not supported for pointer type.", structname, propname);
2792 const char *structname,
2793 const char *propname,
2794 const char *lengthpropname)
2817 CLOG_ERROR(&
LOG,
"\"%s.%s\", array of collections not supported.", structname, propname);
2829 if (dp && lengthpropname) {
2838 if (lengthpropname[0] == 0 ||
2840 if (lengthpropname[0] == 0) {
2863 CLOG_ERROR(&
LOG,
"\"%s.%s\" not found.", structname, lengthpropname);
2940 prop->
update = (
void *)func;
2980 switch (prop->
type) {
3022 if (getfunc || setfunc) {
3045 if (getfunc || setfunc) {
3067 switch (prop->
type) {
3116 if (getfunc || setfunc) {
3143 if (getfunc || setfunc) {
3165 switch (prop->
type) {
3214 if (getfunc || setfunc) {
3241 if (getfunc || setfunc) {
3263 switch (prop->
type) {
3302 if (getfunc || setfunc) {
3324 switch (prop->
type) {
3363 if (getfunc || setfunc) {
3374 PropertyRNA *prop,
const char *get,
const char *set,
const char *type_fn,
const char *poll)
3383 switch (prop->
type) {
3414 const char *lookupint,
3415 const char *lookupstring,
3416 const char *assignint)
3425 switch (prop->
type) {
3482 const char *identifier,
3484 const char *ui_name,
3485 const char *ui_description)
3498 const char *identifier,
3500 bool *default_value,
3501 const char *ui_name,
3502 const char *ui_description)
3511 if (default_value) {
3520 const char *identifier,
3522 bool *default_value,
3523 const char *ui_name,
3524 const char *ui_description)
3533 if (default_value) {
3542 const char *identifier,
3544 bool *default_value,
3545 const char *ui_name,
3546 const char *ui_description)
3555 if (default_value) {
3564 const char *identifier,
3566 bool *default_value,
3567 const char *ui_name,
3568 const char *ui_description)
3577 if (default_value) {
3586 const char *identifier,
3590 const char *ui_name,
3591 const char *ui_description,
3602 if (hardmin != hardmax) {
3612 const char *identifier,
3614 const int *default_value,
3617 const char *ui_name,
3618 const char *ui_description,
3631 if (default_value) {
3634 if (hardmin != hardmax) {
3644 const char *identifier,
3646 const int *default_value,
3649 const char *ui_name,
3650 const char *ui_description,
3663 if (default_value) {
3666 if (hardmin != hardmax) {
3676 const char *identifier,
3677 const char *default_value,
3679 const char *ui_name,
3680 const char *ui_description)
3691 if (default_value) {
3700 const char *identifier,
3701 const char *default_value,
3703 const char *ui_name,
3704 const char *ui_description)
3715 if (default_value) {
3724 const char *identifier,
3725 const char *default_value,
3727 const char *ui_name,
3728 const char *ui_description)
3739 if (default_value) {
3748 const char *identifier,
3749 const char *default_value,
3751 const char *ui_name,
3752 const char *ui_description)
3763 if (default_value) {
3772 const char *identifier,
3775 const char *ui_name,
3776 const char *ui_description)
3781 if (items ==
NULL) {
3796 const char *identifier,
3799 const char *ui_name,
3800 const char *ui_description)
3805 if (items ==
NULL) {
3826 const char *identifier,
3827 float default_value,
3830 const char *ui_name,
3831 const char *ui_description,
3842 if (hardmin != hardmax) {
3852 const char *identifier,
3854 const float *default_value,
3857 const char *ui_name,
3858 const char *ui_description,
3871 if (default_value) {
3874 if (hardmin != hardmax) {
3884 const char *identifier,
3886 const float *default_value,
3889 const char *ui_name,
3890 const char *ui_description,
3912 const char *identifier,
3914 const float *default_value,
3917 const char *ui_name,
3918 const char *ui_description,
3931 if (default_value) {
3934 if (hardmin != hardmax) {
3944 const char *identifier,
3947 const float *default_value,
3950 const char *ui_name,
3951 const char *ui_description,
3957 const int length[2] = {rows, columns};
3963 if (default_value) {
3966 if (hardmin != hardmax) {
3976 const char *identifier,
3978 const float *default_value,
3981 const char *ui_name,
3982 const char *ui_description,
4006 const char *identifier,
4008 const float *default_value,
4011 const char *ui_name,
4012 const char *ui_description,
4024 if (default_value) {
4032 if (hardmin != hardmax) {
4042 const char *identifier,
4043 float default_value,
4046 const char *ui_name,
4047 const char *ui_description,
4066 const char *identifier,
4068 const float *default_value,
4071 const char *ui_name,
4072 const char *ui_description,
4085 if (default_value) {
4088 if (hardmin != hardmax) {
4098 const char *identifier,
4099 float default_value,
4102 const char *ui_name,
4103 const char *ui_description,
4114 if (hardmax < 2.0f) {
4116 "Percentage property with incorrect range: %s.%s",
4124 if (hardmin != hardmax) {
4134 const char *identifier,
4135 float default_value,
4138 const char *ui_name,
4139 const char *ui_description,
4150 if (hardmin != hardmax) {
4160 const char *identifier,
4162 const char *ui_name,
4163 const char *ui_description)
4176 const char *identifier,
4178 const char *ui_name,
4179 const char *ui_description)
4195 const char *identifier,
4197 const char *ui_name,
4198 const char *ui_description)
4211 const char *identifier,
4213 const char *ui_name,
4214 const char *ui_description)
4306 "\"%s.%s\", dynamic values are not allowed as strict returns, "
4307 "use RNA_def_function_output instead.",
4312 if (
ret->arraydimension) {
4314 "\"%s.%s\", arrays are not allowed as strict returns, "
4315 "use RNA_def_function_output instead.",
4355 return sizeof(bool) *
len;
4357 return sizeof(int) *
len;
4367 return sizeof(bool);
4372 return sizeof(
float);
4380 return sizeof(
char *);
4393 return sizeof(
void *);
4402 return sizeof(
void *);
4411 return sizeof(
void *);
4423 else if (tot >= 8 && (tot & (tot - 1)) == 0) {
4428 (*items)[tot] = *item;
4435 if (item != &item_error) {
4461 if (item->
value == value) {
4565 switch (prop->
type) {
4591 "RNA_def_property_store");
4596 if (
array[
a].identifier) {
4602 if (
array[
a].description) {
4643 g_py_data_clear_fn = py_data_clear_fn;
4651 if (g_py_data_clear_fn) {
4652 g_py_data_clear_fn(prop);
4668 switch (prop->
type) {
4749 rna_def_property_free(cont_, prop);
4765 return "PROP_BOOLEAN";
4769 return "PROP_FLOAT";
4771 return "PROP_STRING";
4775 return "PROP_POINTER";
4777 return "PROP_COLLECTION";
4780 return "PROP_UNKNOWN";
typedef float(TangentPoint)[2]
bool BLI_ghash_reinsert(GHash *gh, void *key, void *val, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
GHash * BLI_ghash_str_new_ex(const char *info, const unsigned int nentries_reserve) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
void * BLI_ghash_lookup_default(GHash *gh, const void *key, void *val_default) ATTR_WARN_UNUSED_RESULT
void * BLI_ghash_replace_key(GHash *gh, void *key)
bool BLI_ghash_remove(GHash *gh, const void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
void BLI_ghash_insert(GHash *gh, void *key, void *val)
void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
void * BLI_ghash_lookup(GHash *gh, const void *key) ATTR_WARN_UNUSED_RESULT
void * BLI_findstring_ptr(const struct ListBase *listbase, const char *id, const int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
char * BLI_strdup(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() ATTR_MALLOC
#define POINTER_FROM_INT(i)
#define POINTER_OFFSET(v, ofs)
#define BLT_I18NCONTEXT_DEFAULT_BPYRNA
#define CLOG_ERROR(clg_ref,...)
#define CLOG_WARN(clg_ref,...)
const void * DNA_default_table[SDNA_TYPE_MAX]
blenloader genfile private function prototypes
void DNA_sdna_free(struct SDNA *sdna)
struct SDNA * DNA_sdna_from_data(const void *data, const int data_len, bool do_endian_swap, bool data_alloc, const char **r_error_message)
const unsigned char DNAstr[]
int DNA_elem_size_nr(const struct SDNA *sdna, short type, short name)
void DNA_sdna_alias_data_ensure(struct SDNA *sdna)
int DNA_struct_find_nr(const struct SDNA *sdna, const char *str)
_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
Read Guarded memory(de)allocation.
int RNA_def_property_free_identifier(StructOrFunctionRNA *cont_, const char *identifier)
void RNA_def_struct_free_pointers(BlenderRNA *brna, StructRNA *srna)
#define IS_DNATYPE_BOOLEAN_COMPAT(_str)
void RNA_def_property_duplicate_pointers(StructOrFunctionRNA *cont_, PropertyRNA *prop)
void RNA_def_property_free_pointers_set_py_data_callback(void(*py_data_clear_fn)(PropertyRNA *prop))
#define IS_DNATYPE_FLOAT_COMPAT(_str)
#define IS_DNATYPE_INT_COMPAT(_str)
void RNA_def_func_duplicate_pointers(FunctionRNA *func)
#define RNA_MAX_ARRAY_LENGTH
void RNA_def_struct_duplicate_pointers(BlenderRNA *brna, StructRNA *srna)
void RNA_def_property_free_pointers(PropertyRNA *prop)
void RNA_def_func_free_pointers(FunctionRNA *func)
#define RNA_MAX_ARRAY_DIMENSION
struct StructRNA *(* StructRegisterFunc)(struct Main *bmain, struct ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
int(* EnumPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop)
float(* FloatPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop)
@ STRUCT_PUBLIC_NAMESPACE
@ STRUCT_NO_DATABLOCK_IDPROPERTIES
@ STRUCT_PUBLIC_NAMESPACE_INHERIT
void **(* StructInstanceFunc)(PointerRNA *ptr)
void(* IntPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, int value)
void(* EnumPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, int value)
void(* IntPropertyRangeFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, int *min, int *max, int *softmin, int *softmax)
void(* IntArrayPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, int *values)
void(* FloatPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, float value)
struct ParameterDynAlloc ParameterDynAlloc
struct PointerRNA PointerRNA
void(* CallFunc)(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, ParameterList *parms)
void(* FloatPropertyRangeFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, float *min, float *max, float *softmin, float *softmax)
#define RNA_TRANSLATION_PREC_DEFAULT
void(* BooleanArrayPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, const bool *values)
void(* FloatArrayPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, const float *values)
bool(* BooleanPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop)
void(* BooleanArrayPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, bool *values)
void(* StringPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, char *value)
void(* StringPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, const char *value)
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
void(* IntArrayPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, const int *values)
void(* StructUnregisterFunc)(struct Main *bmain, struct StructRNA *type)
int(* StringPropertyLengthFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop)
int(* IntPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop)
const EnumPropertyItem *(* EnumPropertyItemFunc)(struct bContext *C, PointerRNA *ptr, struct PropertyRNA *prop, bool *r_free)
void(* FloatArrayPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, float *values)
void(* BooleanPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, bool value)
#define UI_PRECISION_FLOAT_MAX
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
SIMD_FORCE_INLINE btScalar length(const btQuaternion &q)
Return the length of a quaternion.
const char * DNA_struct_rename_legacy_hack_static_from_alias(const char *name)
void DNA_alias_maps(enum eDNA_RenameDir version_dir, GHash **r_struct_map, GHash **r_elem_map)
int DNA_elem_array_size(const char *str)
@ DNA_RENAME_STATIC_FROM_ALIAS
void * rna_calloc(int buffer_len)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_recallocN_id)(void *vmemh, size_t len, const char *str)
void *(* MEM_callocN)(size_t len, const char *str)
void *(* MEM_mallocN)(size_t len, const char *str)
static void error(const char *str)
IMETHOD Vector diff(const Vector &a, const Vector &b, double dt=1)
void RNA_struct_py_type_set(StructRNA *srna, void *py_type)
void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type)
void * RNA_struct_py_type_get(StructRNA *srna)
StructDefRNA * rna_find_struct_def(StructRNA *srna)
PropertyRNA * RNA_def_string_file_name(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_float(StructOrFunctionRNA *cont_, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_enum_items_add(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item)
void RNA_def_struct_refine_func(StructRNA *srna, const char *refine)
void RNA_def_property_pointer_sdna(PropertyRNA *prop, const char *structname, const char *propname)
PropertyRNA * RNA_def_boolean_layer_member(StructOrFunctionRNA *cont_, const char *identifier, int len, bool *default_value, const char *ui_name, const char *ui_description)
void RNA_define_lib_overridable(const bool make_overridable)
void RNA_def_property_struct_runtime(StructOrFunctionRNA *cont, PropertyRNA *prop, StructRNA *type)
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
void RNA_define_animate_sdna(bool animate)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool default_value, const char *ui_name, const char *ui_description)
void rna_freelinkN(ListBase *listbase, void *vlink)
PropertyRNA * RNA_def_enum_flag(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
static PropertyDefRNA * rna_def_property_sdna(PropertyRNA *prop, const char *structname, const char *propname)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
struct DNAStructMember DNAStructMember
void RNA_def_struct_flag(StructRNA *srna, int flag)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
PropertyRNA * RNA_def_int_array(StructOrFunctionRNA *cont_, const char *identifier, int len, const int *default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
const float rna_default_quaternion[4]
void RNA_def_property_float_default(PropertyRNA *prop, float value)
static void rna_remlink(ListBase *listbase, void *vlink)
void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
PropertyRNA * RNA_def_float_array(StructOrFunctionRNA *cont_, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
PropertyRNA * RNA_def_float_matrix(StructOrFunctionRNA *cont_, const char *identifier, int rows, int columns, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_enum_default(PropertyRNA *prop, int value)
void RNA_def_property_float_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_define_verify_sdna(bool verify)
PropertyRNA * RNA_def_float_distance(StructOrFunctionRNA *cont_, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void rna_freelistN(ListBase *listbase)
void RNA_def_property_enum_native_type(PropertyRNA *prop, const char *native_enum_type)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
void RNA_def_property_string_sdna(PropertyRNA *prop, const char *structname, const char *propname)
const int rna_matrix_dimsize_4x2[]
void RNA_def_property_ui_icon(PropertyRNA *prop, int icon, int consecutive)
void RNA_def_struct_property_tags(StructRNA *srna, const EnumPropertyItem *prop_tag_defines)
PropertyRNA * RNA_def_string_file_path(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_property_srna(PropertyRNA *prop, const char *type)
void RNA_def_property_int_funcs_runtime(PropertyRNA *prop, IntPropertyGetFunc getfunc, IntPropertySetFunc setfunc, IntPropertyRangeFunc rangefunc)
void RNA_def_property_collection_funcs(PropertyRNA *prop, const char *begin, const char *next, const char *end, const char *get, const char *length, const char *lookupint, const char *lookupstring, const char *assignint)
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
const float rna_default_scale_3d[3]
void RNA_def_function_output(FunctionRNA *UNUSED(func), PropertyRNA *ret)
#define ASSERT_SOFT_HARD_LIMITS
PropertyDefRNA * rna_find_struct_property_def(StructRNA *srna, PropertyRNA *prop)
void RNA_def_property_boolean_default(PropertyRNA *prop, bool value)
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set)
PropertyRNA * RNA_def_collection_runtime(StructOrFunctionRNA *cont_, const char *identifier, StructRNA *type, const char *ui_name, const char *ui_description)
void RNA_def_struct_register_funcs(StructRNA *srna, const char *reg, const char *unreg, const char *instance)
void RNA_identifier_sanitize(char *identifier, int property)
void RNA_def_property_dynamic_array_funcs(PropertyRNA *prop, const char *getlength)
void RNA_def_property_multi_array(PropertyRNA *prop, int dimension, const int length[])
void RNA_def_property_enum_funcs_runtime(PropertyRNA *prop, EnumPropertyGetFunc getfunc, EnumPropertySetFunc setfunc, EnumPropertyItemFunc itemfunc)
PropertyRNA * RNA_def_float_vector(StructOrFunctionRNA *cont_, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_boolean_array_funcs_runtime(PropertyRNA *prop, BooleanArrayPropertyGetFunc getfunc, BooleanArrayPropertySetFunc setfunc)
#define DESCR_CHECK(description, id1, id2)
void RNA_def_struct_identifier(BlenderRNA *brna, StructRNA *srna, const char *identifier)
static int rna_member_cmp(const char *name, const char *oname)
void RNA_def_property_int_default(PropertyRNA *prop, int value)
const float rna_default_axis_angle[4]
StructRNA * RNA_def_struct_ptr(BlenderRNA *brna, const char *identifier, StructRNA *srnafrom)
void RNA_def_property_editable_array_func(PropertyRNA *prop, const char *editable)
PropertyRNA * RNA_def_boolean_vector(StructOrFunctionRNA *cont_, const char *identifier, int len, bool *default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
void RNA_def_py_data(PropertyRNA *prop, void *py_data)
void RNA_def_struct_clear_flag(StructRNA *srna, int flag)
void RNA_def_property_array(PropertyRNA *prop, int length)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
static bool debugSRNA_defaults
void RNA_def_struct_identifier_no_struct_map(StructRNA *srna, const char *identifier)
void RNA_def_property_poll_runtime(PropertyRNA *prop, const void *func)
PropertyRNA * RNA_def_float_factor(StructOrFunctionRNA *cont_, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_string_maxlength(PropertyRNA *prop, int maxlength)
void RNA_def_struct_sdna_from(StructRNA *srna, const char *structname, const char *propname)
void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
void RNA_def_property_collection_sdna(PropertyRNA *prop, const char *structname, const char *propname, const char *lengthpropname)
GHash * struct_map_static_from_alias
void RNA_def_function_ui_description(FunctionRNA *func, const char *description)
void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *func)
const int rna_matrix_dimsize_4x4[]
void RNA_def_property_enum_funcs(PropertyRNA *prop, const char *get, const char *set, const char *item)
static size_t rna_property_type_sizeof(PropertyType type)
PropertyRNA * RNA_def_float_percentage(StructOrFunctionRNA *cont_, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_editable_func(PropertyRNA *prop, const char *editable)
void RNA_def_property_float_funcs_runtime(PropertyRNA *prop, FloatPropertyGetFunc getfunc, FloatPropertySetFunc setfunc, FloatPropertyRangeFunc rangefunc)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
PropertyRNA * RNA_def_int_vector(StructOrFunctionRNA *cont_, const char *identifier, int len, const int *default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
void RNA_def_property_enum_bitflag_sdna(PropertyRNA *prop, const char *structname, const char *propname)
static FunctionRNA * rna_def_function(StructRNA *srna, const char *identifier)
void RNA_def_property_int_array_default(PropertyRNA *prop, const int *array)
void RNA_free(BlenderRNA *brna)
void RNA_enum_item_end(EnumPropertyItem **items, int *totitem)
void RNA_def_struct_name_property(struct StructRNA *srna, struct PropertyRNA *prop)
static int DNA_struct_find_nr_wrapper(const struct SDNA *sdna, const char *struct_name)
void RNA_def_function_flag(FunctionRNA *func, int flag)
static int rna_find_sdna_member(SDNA *sdna, const char *structname, const char *membername, DNAStructMember *smember, int *offset)
static ContainerDefRNA * rna_find_container_def(ContainerRNA *cont)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_struct_free_extension(StructRNA *srna, ExtensionRNA *rna_ext)
void RNA_def_property_pointer_funcs(PropertyRNA *prop, const char *get, const char *set, const char *type_fn, const char *poll)
static int rna_validate_identifier(const char *identifier, char *error, bool property)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
void RNA_def_property_enum_sdna(PropertyRNA *prop, const char *structname, const char *propname)
PropertyRNA * RNA_def_float_translation(StructOrFunctionRNA *cont_, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_enum_item_add(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item)
PropertyRNA * RNA_def_string_dir_path(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_property_int_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
PropertyRNA * RNA_def_pointer_runtime(StructOrFunctionRNA *cont_, const char *identifier, StructRNA *type, const char *ui_name, const char *ui_description)
const int rna_matrix_dimsize_3x3[]
int rna_parameter_size(PropertyRNA *parm)
void RNA_define_free(BlenderRNA *UNUSED(brna))
void RNA_def_property_string_default(PropertyRNA *prop, const char *value)
void RNA_def_struct_ui_icon(StructRNA *srna, int icon)
FunctionDefRNA * rna_find_function_def(FunctionRNA *func)
FunctionRNA * RNA_def_function_runtime(StructRNA *srna, const char *identifier, CallFunc call)
void RNA_def_property_int_array_funcs_runtime(PropertyRNA *prop, IntArrayPropertyGetFunc getfunc, IntArrayPropertySetFunc setfunc, IntPropertyRangeFunc rangefunc)
void RNA_def_property_float_array_funcs_runtime(PropertyRNA *prop, FloatArrayPropertyGetFunc getfunc, FloatArrayPropertySetFunc setfunc, FloatPropertyRangeFunc rangefunc)
void RNA_struct_free(BlenderRNA *brna, StructRNA *srna)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_float_color(StructOrFunctionRNA *cont_, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
static void print_default_info(const PropertyDefRNA *dp)
void RNA_def_struct_idprops_func(StructRNA *srna, const char *idproperties)
void RNA_def_property_override_funcs(PropertyRNA *prop, const char *diff, const char *store, const char *apply)
void RNA_def_property_translation_context(PropertyRNA *prop, const char *context)
PropertyRNA * RNA_def_float_vector_xyz(StructOrFunctionRNA *cont_, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
PropertyDefRNA * rna_find_parameter_def(PropertyRNA *parm)
static StructDefRNA * rna_find_def_struct(StructRNA *srna)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_override_clear_flag(PropertyRNA *prop, PropertyOverrideFlag flag)
void RNA_def_property_update_runtime(PropertyRNA *prop, const void *func)
void RNA_enum_item_add_separator(EnumPropertyItem **items, int *totitem)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, int default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
void RNA_def_enum_funcs(PropertyRNA *prop, EnumPropertyItemFunc itemfunc)
BlenderRNA * RNA_create(void)
static void rna_brna_structs_add(BlenderRNA *brna, StructRNA *srna)
void RNA_def_property_subtype(PropertyRNA *prop, PropertySubType subtype)
PropertyRNA * RNA_def_collection(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
PropertyDefRNA * rna_findlink(ListBase *listbase, const char *identifier)
void RNA_def_property_float_sdna(PropertyRNA *prop, const char *structname, const char *propname)
PropertyRNA * RNA_def_boolean_layer(StructOrFunctionRNA *cont_, const char *identifier, int len, bool *default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_boolean_array_default(PropertyRNA *prop, const bool *array)
void RNA_def_property_boolean_funcs_runtime(PropertyRNA *prop, BooleanPropertyGetFunc getfunc, BooleanPropertySetFunc setfunc)
void RNA_enum_items_add_value(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item, int value)
static struct @1096 g_version_data
PropertyRNA * RNA_def_boolean_array(StructOrFunctionRNA *cont_, const char *identifier, int len, bool *default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_ui_range(PropertyRNA *prop, double min, double max, double step, int precision)
PropertyRNA * RNA_def_float_rotation(StructOrFunctionRNA *cont_, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_tags(PropertyRNA *prop, int tags)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_int_sdna(PropertyRNA *prop, const char *structname, const char *propname)
const char * RNA_property_typename(PropertyType type)
void RNA_def_struct_translation_context(StructRNA *srna, const char *context)
void RNA_def_property_float_array_default(PropertyRNA *prop, const float *array)
void RNA_def_property_boolean_negative_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
void RNA_def_struct_nested(BlenderRNA *brna, StructRNA *srna, const char *structname)
void RNA_define_fallback_property_update(int noteflag, const char *updatefunc)
void RNA_def_property_string_funcs_runtime(PropertyRNA *prop, StringPropertyGetFunc getfunc, StringPropertyLengthFunc lengthfunc, StringPropertySetFunc setfunc)
void RNA_def_property_override_flag(PropertyRNA *prop, PropertyOverrideFlag flag)
void rna_addtail(ListBase *listbase, void *vlink)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
PointerRNA rna_builtin_properties_get(struct CollectionPropertyIterator *iter)
void rna_builtin_properties_next(struct CollectionPropertyIterator *iter)
void rna_builtin_properties_begin(struct CollectionPropertyIterator *iter, struct PointerRNA *ptr)
PointerRNA rna_builtin_type_get(struct PointerRNA *ptr)
bool(* RNAPropOverrideStore)(struct Main *bmain, struct PointerRNA *ptr_local, struct PointerRNA *ptr_reference, struct PointerRNA *ptr_storage, struct PropertyRNA *prop_local, struct PropertyRNA *prop_reference, struct PropertyRNA *prop_storage, const int len_local, const int len_reference, const int len_storage, struct IDOverrideLibraryPropertyOperation *opop)
StructRNA *(* PropPointerTypeFunc)(struct PointerRNA *ptr)
void(* PropIntSetFunc)(struct PointerRNA *ptr, int value)
void(* UpdateFunc)(struct Main *main, struct Scene *scene, struct PointerRNA *ptr)
void(* PropBooleanArrayGetFunc)(struct PointerRNA *ptr, bool *values)
struct IntPropertyRNA IntPropertyRNA
void(* PropEnumSetFunc)(struct PointerRNA *ptr, int value)
bool(* RNAPropOverrideApply)(struct Main *bmain, struct PointerRNA *ptr_dst, struct PointerRNA *ptr_src, struct PointerRNA *ptr_storage, struct PropertyRNA *prop_dst, struct PropertyRNA *prop_src, struct PropertyRNA *prop_storage, const int len_dst, const int len_src, const int len_storage, struct PointerRNA *ptr_item_dst, struct PointerRNA *ptr_item_src, struct PointerRNA *ptr_item_storage, struct IDOverrideLibraryPropertyOperation *opop)
struct IDProperty *(* IDPropertiesFunc)(struct PointerRNA *ptr, bool create)
int(* PropCollectionAssignIntFunc)(struct PointerRNA *ptr, int key, const struct PointerRNA *assign_ptr)
void(* PropIntArrayGetFunc)(struct PointerRNA *ptr, int *values)
PointerRNA(* PropCollectionGetFunc)(struct CollectionPropertyIterator *iter)
void(* PropStringSetFunc)(struct PointerRNA *ptr, const char *value)
char *(* StructPathFunc)(struct PointerRNA *ptr)
bool(* PropPointerPollFunc)(struct PointerRNA *ptr, const PointerRNA value)
@ PROP_INTERN_PTR_OWNERSHIP_FORCED
@ PROP_INTERN_FREE_POINTERS
void(* PropFloatRangeFunc)(struct PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax)
int(* PropStringLengthFunc)(struct PointerRNA *ptr)
void(* PropCollectionNextFunc)(struct CollectionPropertyIterator *iter)
struct StructRNA *(* StructRefineFunc)(struct PointerRNA *ptr)
int(* PropCollectionLengthFunc)(struct PointerRNA *ptr)
void(* PropPointerSetFunc)(struct PointerRNA *ptr, const PointerRNA value, struct ReportList *reports)
struct PointerPropertyRNA PointerPropertyRNA
void(* PropFloatSetFunc)(struct PointerRNA *ptr, float value)
void(* PropBooleanArraySetFunc)(struct PointerRNA *ptr, const bool *values)
struct FloatPropertyRNA FloatPropertyRNA
void(* PropStringGetFunc)(struct PointerRNA *ptr, char *value)
const EnumPropertyItem *(* PropEnumItemFunc)(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, bool *r_free)
void(* PropIntArraySetFunc)(struct PointerRNA *ptr, const int *values)
bool(* PropBooleanGetFunc)(struct PointerRNA *ptr)
int(* ItemEditableFunc)(struct PointerRNA *ptr, int index)
void(* PropBooleanSetFunc)(struct PointerRNA *ptr, bool value)
void(* PropFloatArraySetFunc)(struct PointerRNA *ptr, const float *values)
struct EnumPropertyRNA EnumPropertyRNA
struct CollectionPropertyRNA CollectionPropertyRNA
int(* PropEnumGetFunc)(struct PointerRNA *ptr)
PointerRNA(* PropPointerGetFunc)(struct PointerRNA *ptr)
void(* PropCollectionBeginFunc)(struct CollectionPropertyIterator *iter, struct PointerRNA *ptr)
void(* PropIntRangeFunc)(struct PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax)
int(* PropArrayLengthGetFunc)(struct PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION])
void(* PropCollectionEndFunc)(struct CollectionPropertyIterator *iter)
int(* PropCollectionLookupStringFunc)(struct PointerRNA *ptr, const char *key, struct PointerRNA *r_ptr)
struct BoolPropertyRNA BoolPropertyRNA
#define CONTAINER_RNA_ID(cont)
struct StringPropertyRNA StringPropertyRNA
int(* PropCollectionLookupIntFunc)(struct PointerRNA *ptr, int key, struct PointerRNA *r_ptr)
void(* PropFloatArrayGetFunc)(struct PointerRNA *ptr, float *values)
int(* EditableFunc)(struct PointerRNA *ptr, const char **r_info)
float(* PropFloatGetFunc)(struct PointerRNA *ptr)
int(* PropIntGetFunc)(struct PointerRNA *ptr)
int(* RNAPropOverrideDiff)(struct Main *bmain, struct PropertyRNAOrID *prop_a, struct PropertyRNAOrID *prop_b, const int mode, struct IDOverrideLibrary *override, const char *rna_path, const size_t rna_path_len, const int flags, bool *r_override_changed)
struct SELECTID_Context context
struct AllocDefRNA * next
struct StructRNA * laststruct
struct BlenderDefRNA::@1097 fallback
struct BlenderDefRNA::@1097::@1098 property_update
struct GHash * structs_map
PropBooleanArraySetFuncEx setarray_ex
PropBooleanArrayGetFuncEx getarray_ex
PropBooleanArraySetFunc setarray
const bool * defaultarray
PropBooleanSetFuncEx set_ex
PropBooleanGetFuncEx get_ex
PropBooleanArrayGetFunc getarray
PropCollectionNextFunc next
PropCollectionLookupStringFunc lookupstring
PropCollectionLengthFunc length
struct StructRNA * item_type
PropCollectionLookupIntFunc lookupint
PropCollectionBeginFunc begin
PropCollectionAssignIntFunc assignint
PropCollectionEndFunc end
PropCollectionGetFunc get
const EnumPropertyItem * item
const char * native_enum_type
PropFloatSetFuncEx set_ex
PropFloatRangeFuncEx range_ex
PropFloatArrayGetFuncEx getarray_ex
PropFloatArraySetFuncEx setarray_ex
PropFloatArrayGetFunc getarray
const float * defaultarray
PropFloatArraySetFunc setarray
PropFloatGetFuncEx get_ex
PropIntRangeFuncEx range_ex
PropIntArrayGetFunc getarray
PropIntArrayGetFuncEx getarray_ex
PropIntArraySetFunc setarray
PropIntArraySetFuncEx setarray_ex
PropPointerTypeFunc type_fn
const char * dnastructfromprop
const char * dnastructname
struct ContainerRNA * cont
const char * dnalengthstructname
const char * dnalengthname
struct PropertyRNA * prop
const char * dnastructfromname
struct PropertyDefRNA * prev
ItemEditableFunc itemeditable
PropArrayLengthGetFunc getlength
const char * translation_context
RNAPropOverrideApply override_apply
unsigned int arraydimension
struct PropertyRNA * next
RNAPropOverrideStore override_store
RNAPropOverrideDiff override_diff
unsigned int arraylength[RNA_MAX_ARRAY_DIMENSION]
unsigned int totarraylength
SDNA_StructMember members[]
const char * defaultvalue
PropStringLengthFuncEx length_ex
PropStringLengthFunc length
PropStringGetFuncEx get_ex
PropStringSetFuncEx set_ex
StructUnregisterFunc unreg
StructInstanceFunc instance
struct StructRNA * nested
const char * translation_context
const EnumPropertyItem * prop_tag_defines
PropertyRNA * nameproperty
IDPropertiesFunc idproperties
PropertyRNA * iteratorproperty