Blender V5.0
RNA_access.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5/* Use a define instead of `#pragma once` because of `rna_internal.hh` */
6#ifndef __RNA_ACCESS_H__
7#define __RNA_ACCESS_H__
8
12
13#include <optional>
14#include <stdarg.h>
15#include <string>
16
17#include "RNA_types.hh"
18
19#include "BLI_compiler_attrs.h"
20#include "BLI_function_ref.hh"
21#include "BLI_string_ref.hh"
22
23struct ID;
27struct IDProperty;
28struct ListBase;
29struct Main;
30struct ReportList;
31struct Scene;
32struct bContext;
33
34/* Types */
36
37/* Pointer
38 *
39 * These functions will fill in RNA pointers, this can be done in three ways:
40 * - a pointer Main is created by just passing the data pointer
41 * - a pointer to a datablock can be created with the type and id data pointer
42 * - a pointer to data contained in a datablock can be created with the id type
43 * and id data pointer, and the data type and pointer to the struct itself.
44 *
45 * There is also a way to get a pointer with the information about all structs.
46 */
47
81
90PointerRNA RNA_pointer_create_from_ancestor(const PointerRNA &ptr, const int ancestor_idx);
91
93
95 PropertyRNA *prop,
96 int prop_index,
97 PathResolvedRNA *r_anim_rna);
98
101
102/* Structs */
103
104StructRNA *RNA_struct_find(const char *identifier);
105
106const char *RNA_struct_identifier(const StructRNA *type);
107const char *RNA_struct_ui_name(const StructRNA *type);
108const char *RNA_struct_ui_name_raw(const StructRNA *type);
109const char *RNA_struct_ui_description(const StructRNA *type);
110const char *RNA_struct_ui_description_raw(const StructRNA *type);
111const char *RNA_struct_translation_context(const StructRNA *type);
112int RNA_struct_ui_icon(const StructRNA *type);
113
123const StructRNA *RNA_struct_base_child_of(const StructRNA *type, const StructRNA *parent_type);
124
125bool RNA_struct_is_ID(const StructRNA *type);
126bool RNA_struct_is_a(const StructRNA *type, const StructRNA *srna);
127
128bool RNA_struct_undo_check(const StructRNA *type);
129
133
135void RNA_struct_py_type_set(StructRNA *srna, void *py_type);
136
138void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type);
139
142bool RNA_struct_idprops_check(const StructRNA *srna);
145
164bool RNA_struct_system_idprops_unset(PointerRNA *ptr, const char *identifier);
165
166PropertyRNA *RNA_struct_find_property(PointerRNA *ptr, const char *identifier);
167
173 const char *name,
174 const PropertyType property_type_check);
180 const char *name,
181 const StructRNA *struct_type_check);
182
184unsigned int RNA_struct_count_properties(StructRNA *srna);
185
199std::optional<AncestorPointerRNA> RNA_struct_search_closest_ancestor_by_type(
200 PointerRNA *ptr, const StructRNA *srna);
201
207PropertyRNA *RNA_struct_type_find_property_no_base(StructRNA *srna, const char *identifier);
212PropertyRNA *RNA_struct_type_find_property(StructRNA *srna, const char *identifier);
213
214FunctionRNA *RNA_struct_find_function(StructRNA *srna, const char *identifier);
216
217[[nodiscard]] char *RNA_struct_name_get_alloc_ex(
218 PointerRNA *ptr, char *fixedbuf, int fixedlen, int *r_len, PropertyRNA **r_nameprop);
219[[nodiscard]] char *RNA_struct_name_get_alloc(PointerRNA *ptr,
220 char *fixedbuf,
221 int fixedlen,
222 int *r_len);
223
227bool RNA_struct_available_or_report(ReportList *reports, const char *identifier);
229 const char *identifier,
230 const char *sep);
231
232/* Properties
233 *
234 * Access to struct properties. All this works with RNA pointers rather than
235 * direct pointers to the data. */
236
237/* Property Information */
238
239const char *RNA_property_identifier(const PropertyRNA *prop);
240const char *RNA_property_description(PropertyRNA *prop);
241
243
260
271char RNA_property_array_item_char(PropertyRNA *prop, int index);
273
278
279const char *RNA_property_ui_name(const PropertyRNA *prop, const PointerRNA *ptr = nullptr);
280const char *RNA_property_ui_name_raw(const PropertyRNA *prop, const PointerRNA *ptr = nullptr);
281const char *RNA_property_ui_description(const PropertyRNA *prop);
282const char *RNA_property_ui_description_raw(const PropertyRNA *prop);
283const char *RNA_property_translation_context(const PropertyRNA *prop);
284int RNA_property_ui_icon(const PropertyRNA *prop);
285
286/* Dynamic Property Information */
287
288void RNA_property_int_range(PointerRNA *ptr, PropertyRNA *prop, int *hardmin, int *hardmax);
290 PointerRNA *ptr, PropertyRNA *prop, int *softmin, int *softmax, int *step);
291
292void RNA_property_float_range(PointerRNA *ptr, PropertyRNA *prop, float *hardmin, float *hardmax);
294 PropertyRNA *prop,
295 float *softmin,
296 float *softmax,
297 float *step,
298 float *precision);
299
300int RNA_property_float_clamp(PointerRNA *ptr, PropertyRNA *prop, float *value);
301int RNA_property_int_clamp(PointerRNA *ptr, PropertyRNA *prop, int *value);
302
303bool RNA_enum_identifier(const EnumPropertyItem *item, int value, const char **r_identifier);
305 int value,
306 const char **r_identifier);
307bool RNA_enum_name(const EnumPropertyItem *item, int value, const char **r_name);
309 int value,
310 const char *translation_context,
311 const char **r_name);
312bool RNA_enum_description(const EnumPropertyItem *item, int value, const char **r_description);
313int RNA_enum_from_value(const EnumPropertyItem *item, int value);
314int RNA_enum_from_identifier(const EnumPropertyItem *item, const char *identifier);
316 const char *identifier,
317 int *r_value);
322int RNA_enum_from_name(const EnumPropertyItem *item, const char *name);
323unsigned int RNA_enum_items_count(const EnumPropertyItem *item);
324
327 PropertyRNA *prop,
328 bool use_static,
329 const EnumPropertyItem **r_item,
330 int *r_totitem,
331 bool *r_free);
334 PropertyRNA *prop,
335 const EnumPropertyItem **r_item,
336 int *r_totitem,
337 bool *r_free);
340 PropertyRNA *prop,
341 const EnumPropertyItem **r_item,
342 int *r_totitem,
343 bool *r_free);
346 PropertyRNA *prop,
347 const EnumPropertyItem **r_item,
348 int *r_totitem,
349 bool *r_free);
351 bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *identifier, int *r_value);
353 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_identifier);
355 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_name);
357 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_name);
358
360 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, EnumPropertyItem *r_item);
362 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, EnumPropertyItem *r_item);
363
365 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_identifier);
366
369
373bool RNA_property_is_runtime(const PropertyRNA *prop);
374
380bool RNA_property_editable_info(const PointerRNA *ptr, PropertyRNA *prop, const char **r_info);
384bool RNA_property_editable_index(const PointerRNA *ptr, PropertyRNA *prop, const int index);
385
390
399bool RNA_property_animateable(const PointerRNA *ptr, PropertyRNA *prop_orig);
432bool RNA_property_overridable_library_set(PointerRNA *ptr, PropertyRNA *prop, bool is_overridable);
439bool RNA_property_path_from_ID_check(PointerRNA *ptr, PropertyRNA *prop); /* slow, use with care */
440
451
452/* Property Data */
453
455void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, bool value);
456void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, bool *values);
458 PropertyRNA *prop,
459 bool *values,
460 int values_num);
462void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const bool *values);
464 PropertyRNA *prop,
465 const bool *values,
466 int values_num);
467void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, bool value);
471
473void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value);
474void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values);
476 PropertyRNA *prop,
477 int *values,
478 int values_num);
481void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values);
482void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value);
484 PropertyRNA *prop,
485 const int *values,
486 int values_num);
488bool RNA_property_int_set_default(PropertyRNA *prop, int value);
491
493void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value);
494void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *values);
496 PropertyRNA *prop,
497 float *values,
498 int values_num);
499void RNA_property_float_get_array_range(PointerRNA *ptr, PropertyRNA *prop, float values[2]);
501void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const float *values);
503 PropertyRNA *prop,
504 const float *values,
505 int values_num);
506void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, float value);
508bool RNA_property_float_set_default(PropertyRNA *prop, float value);
511
513void RNA_property_string_get(PointerRNA *ptr, PropertyRNA *prop, char *value);
515 PropertyRNA *prop,
516 char *fixedbuf,
517 int fixedlen,
518 int *r_len) ATTR_WARN_UNUSED_RESULT;
519void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *value);
520void RNA_property_string_set_bytes(PointerRNA *ptr, PropertyRNA *prop, const char *value, int len);
521
529 const bContext *C,
531 PropertyRNA *prop,
532 const char *edit_text,
534
539std::optional<std::string> RNA_property_string_path_filter(const bContext *C,
541 PropertyRNA *prop);
542
548void RNA_property_string_get_default(PropertyRNA *prop, char *value, int value_maxncpy);
550 PropertyRNA *prop,
551 char *fixedbuf,
552 int fixedlen,
553 int *r_len) ATTR_WARN_UNUSED_RESULT;
558
560void RNA_property_enum_set(PointerRNA *ptr, PropertyRNA *prop, int value);
570 const bContext *C, PointerRNA *ptr, PropertyRNA *prop, int from_value, int step);
571
585 ATTR_NONNULL(1, 2);
587 PropertyRNA *prop,
588 PointerRNA ptr_value,
589 ReportList *reports) ATTR_NONNULL(1, 2);
591
593 PropertyRNA *prop,
605 PropertyRNA *prop,
606 const PointerRNA *t_ptr);
608 PropertyRNA *prop,
609 int key,
610 PointerRNA *r_ptr);
612 PropertyRNA *prop,
613 const char *key,
614 PointerRNA *r_ptr);
616 PointerRNA *ptr, PropertyRNA *prop, const char *key, PointerRNA *r_ptr, int *r_index);
617
626
631 PropertyRNA *prop,
632 int key,
633 const PointerRNA *assign_ptr);
635
636/* efficient functions to set properties for arrays */
638 PointerRNA *ptr, PropertyRNA *prop, PropertyRNA *itemprop, bool set, RawArray *array);
641 PropertyRNA *prop,
642 const char *propname,
643 void *array,
644 RawPropertyType type,
645 int len);
648 PropertyRNA *prop,
649 const char *propname,
650 void *array,
651 RawPropertyType type,
652 int len);
655
656/* to create ID property groups */
662bool RNA_property_collection_move(PointerRNA *ptr, PropertyRNA *prop, int key, int pos);
663
664/* copy/reset */
666 Main *bmain, PointerRNA *ptr, PointerRNA *fromptr, PropertyRNA *prop, int index);
667bool RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index);
669
670/* Quick name based property access
671 *
672 * These are just an easier way to access property values without having to
673 * call RNA_struct_find_property. The names have to exist as RNA properties
674 * for the type in the pointer, if they do not exist an error will be printed.
675 *
676 * There is no support for pointers and collections here yet, these can be
677 * added when ID properties support them. */
678
679bool RNA_boolean_get(PointerRNA *ptr, const char *name);
680void RNA_boolean_set(PointerRNA *ptr, const char *name, bool value);
681void RNA_boolean_get_array(PointerRNA *ptr, const char *name, bool *values);
682void RNA_boolean_set_array(PointerRNA *ptr, const char *name, const bool *values);
683
684int RNA_int_get(PointerRNA *ptr, const char *name);
685void RNA_int_set(PointerRNA *ptr, const char *name, int value);
686void RNA_int_get_array(PointerRNA *ptr, const char *name, int *values);
687void RNA_int_set_array(PointerRNA *ptr, const char *name, const int *values);
688
689float RNA_float_get(PointerRNA *ptr, const char *name);
690void RNA_float_set(PointerRNA *ptr, const char *name, float value);
691void RNA_float_get_array(PointerRNA *ptr, const char *name, float *values);
692void RNA_float_set_array(PointerRNA *ptr, const char *name, const float *values);
693
694int RNA_enum_get(PointerRNA *ptr, const char *name);
695void RNA_enum_set(PointerRNA *ptr, const char *name, int value);
696void RNA_enum_set_identifier(bContext *C, PointerRNA *ptr, const char *name, const char *id);
697bool RNA_enum_is_equal(bContext *C, PointerRNA *ptr, const char *name, const char *enumname);
698
699/* Lower level functions that don't use a PointerRNA. */
700bool RNA_enum_value_from_id(const EnumPropertyItem *item, const char *identifier, int *r_value);
701bool RNA_enum_id_from_value(const EnumPropertyItem *item, int value, const char **r_identifier);
702bool RNA_enum_icon_from_value(const EnumPropertyItem *item, int value, int *r_icon);
703bool RNA_enum_name_from_value(const EnumPropertyItem *item, int value, const char **r_name);
704
705void RNA_string_get(PointerRNA *ptr, const char *name, char *value);
711std::string RNA_string_get(PointerRNA *ptr, const char *name);
713 const char *name,
714 char *fixedbuf,
715 int fixedlen,
716 int *r_len) ATTR_WARN_UNUSED_RESULT;
717int RNA_string_length(PointerRNA *ptr, const char *name);
718void RNA_string_set(PointerRNA *ptr, const char *name, const char *value);
719
724/* Set the property name of PointerRNA ptr to ptr_value */
725void RNA_pointer_set(PointerRNA *ptr, const char *name, PointerRNA ptr_value);
726void RNA_pointer_add(PointerRNA *ptr, const char *name);
727
729int RNA_collection_length(PointerRNA *ptr, const char *name);
730bool RNA_collection_is_empty(PointerRNA *ptr, const char *name);
731void RNA_collection_add(PointerRNA *ptr, const char *name, PointerRNA *r_value);
732void RNA_collection_clear(PointerRNA *ptr, const char *name);
733
734#define RNA_BEGIN(sptr, itemptr, propname) \
735 { \
736 CollectionPropertyIterator rna_macro_iter; \
737 for (RNA_collection_begin(sptr, propname, &rna_macro_iter); rna_macro_iter.valid; \
738 RNA_property_collection_next(&rna_macro_iter)) \
739 { \
740 PointerRNA itemptr = rna_macro_iter.ptr;
741
742#define RNA_END \
743 } \
744 RNA_property_collection_end(&rna_macro_iter); \
745 } \
746 ((void)0)
747
748#define RNA_PROP_BEGIN(sptr, itemptr, prop) \
749 { \
750 CollectionPropertyIterator rna_macro_iter; \
751 for (RNA_property_collection_begin(sptr, prop, &rna_macro_iter); rna_macro_iter.valid; \
752 RNA_property_collection_next(&rna_macro_iter)) \
753 { \
754 PointerRNA itemptr = rna_macro_iter.ptr;
755
756#define RNA_PROP_END \
757 } \
758 RNA_property_collection_end(&rna_macro_iter); \
759 } \
760 ((void)0)
761
762#define RNA_STRUCT_BEGIN(sptr, prop) \
763 { \
764 CollectionPropertyIterator rna_macro_iter{}; \
765 for (RNA_property_collection_begin( \
766 sptr, RNA_struct_iterator_property((sptr)->type), &rna_macro_iter); \
767 rna_macro_iter.valid; \
768 RNA_property_collection_next(&rna_macro_iter)) \
769 { \
770 PropertyRNA *prop = (PropertyRNA *)rna_macro_iter.ptr.data;
771
772#define RNA_STRUCT_BEGIN_SKIP_RNA_TYPE(sptr, prop) \
773 { \
774 CollectionPropertyIterator rna_macro_iter; \
775 RNA_property_collection_begin( \
776 sptr, RNA_struct_iterator_property((sptr)->type), &rna_macro_iter); \
777 if (rna_macro_iter.valid) { \
778 RNA_property_collection_next(&rna_macro_iter); \
779 } \
780 for (; rna_macro_iter.valid; RNA_property_collection_next(&rna_macro_iter)) { \
781 PropertyRNA *prop = (PropertyRNA *)rna_macro_iter.ptr.data;
782
783#define RNA_STRUCT_END \
784 } \
785 RNA_property_collection_end(&rna_macro_iter); \
786 } \
787 ((void)0)
788
802bool RNA_property_is_set_ex(PointerRNA *ptr, PropertyRNA *prop, bool use_ghost);
806bool RNA_struct_property_is_set_ex(PointerRNA *ptr, const char *identifier, bool use_ghost);
807bool RNA_struct_property_is_set(PointerRNA *ptr, const char *identifier);
808bool RNA_property_is_idprop(const PropertyRNA *prop);
813void RNA_struct_property_unset(PointerRNA *ptr, const char *identifier);
814
818std::string RNA_property_as_string(
819 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int index, int max_prop_length);
825std::optional<std::string> RNA_pointer_as_string(bContext *C,
827 PropertyRNA *prop_ptr,
828 PointerRNA *ptr_prop);
834 bool as_function,
835 bool all_args,
836 bool nested_args,
837 int max_prop_length,
838 PropertyRNA *iterprop);
841 bool as_function,
842 bool all_args,
843 bool nested_args,
844 int max_prop_length);
846 bContext *C, FunctionRNA *func, bool as_function, bool all_args, int max_prop_length);
847
848/* Function */
849
850const char *RNA_function_identifier(FunctionRNA *func);
855
858 FunctionRNA *func,
859 const char *identifier);
861
862/* Utility */
863
865
868int RNA_parameter_list_size(const ParameterList *parms);
871
875
876void RNA_parameter_get(ParameterList *parms, PropertyRNA *parm, void **r_value);
877void RNA_parameter_get_lookup(ParameterList *parms, const char *identifier, void **r_value);
878void RNA_parameter_set(ParameterList *parms, PropertyRNA *parm, const void *value);
879void RNA_parameter_set_lookup(ParameterList *parms, const char *identifier, const void *value);
880
881/* Only for PROP_DYNAMIC properties! */
882
887 PropertyRNA *parm,
888 void *data,
889 int length);
890
892 bContext *C, ReportList *reports, PointerRNA *ptr, FunctionRNA *func, ParameterList *parms);
893
894std::optional<blender::StringRefNull> RNA_translate_ui_text(
895 const char *text, const char *text_ctxt, StructRNA *type, PropertyRNA *prop, int translate);
896
897/* ID */
898
901
902/* macro which inserts the function name */
903#if defined __GNUC__
904# define RNA_warning(format, args...) _RNA_warning("%s: " format "\n", __func__, ##args)
905#elif defined(_MSVC_TRADITIONAL) && \
906 !_MSVC_TRADITIONAL /* The "new preprocessor" is enabled via `/Zc:preprocessor`. */
907# define RNA_warning(format, ...) _RNA_warning("%s: " format "\n", __FUNCTION__, ##__VA_ARGS__)
908#else
909# define RNA_warning(format, ...) _RNA_warning("%s: " format "\n", __FUNCTION__, __VA_ARGS__)
910#endif
911
913void _RNA_warning(const char *format, ...) ATTR_PRINTF_FORMAT(1, 2);
914
915/* Equals test. */
916
922 /* Only care about equality, not full comparison. */
931};
932
934 Main *bmain, PointerRNA *ptr_a, PointerRNA *ptr_b, PropertyRNA *prop, eRNACompareMode mode);
935bool RNA_struct_equals(Main *bmain, PointerRNA *ptr_a, PointerRNA *ptr_b, eRNACompareMode mode);
936
937/* Override. */
938
954
972
984
985
996 PointerRNA *ptr_local,
997 PointerRNA *ptr_reference,
998 const char *root_path,
999 size_t root_path_len,
1000 IDOverrideLibrary *liboverride,
1001 eRNAOverrideMatch flags,
1002 eRNAOverrideMatchResult *r_report_flags);
1003
1009 PointerRNA *ptr_local,
1010 PointerRNA *ptr_reference,
1011 PointerRNA *ptr_storage,
1012 IDOverrideLibrary *liboverride);
1013
1028
1038 PointerRNA *id_ptr_dst,
1039 PointerRNA *id_ptr_src,
1040 PointerRNA *id_ptr_storage,
1041 IDOverrideLibrary *liboverride,
1043
1045 PointerRNA *ptr,
1046 PropertyRNA *prop,
1047 ID **r_owner_id);
1049 PointerRNA *ptr,
1050 PropertyRNA *prop,
1051 bool *r_created);
1052
1054 Main *bmain, PointerRNA *ptr, PropertyRNA *prop, int index, bool strict, bool *r_strict);
1056 PointerRNA *ptr,
1057 PropertyRNA *prop,
1058 short operation,
1059 int index,
1060 bool strict,
1061 bool *r_strict,
1062 bool *r_created);
1063
1065 PointerRNA *ptr,
1066 PropertyRNA *prop,
1067 int index);
1068
1069void RNA_struct_state_owner_set(const char *name);
1070const char *RNA_struct_state_owner_get();
1071
1072#endif /* __RNA_ACCESS_H__ */
#define ATTR_WARN_UNUSED_RESULT
#define ATTR_PRINTF_FORMAT(format_param, dots_param)
#define ATTR_NONNULL(...)
ATTR_WARN_UNUSED_RESULT const size_t num
#define ENUM_OPERATORS(_type, _max)
StructUnregisterFunc RNA_struct_unregister(StructRNA *type)
float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_is_runtime(const PropertyRNA *prop)
bool RNA_property_collection_lookup_int_has_fn(PropertyRNA *prop)
void RNA_boolean_set_array(PointerRNA *ptr, const char *name, const bool *values)
bool RNA_property_enum_value(bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *identifier, int *r_value)
StructRegisterFunc RNA_struct_register(StructRNA *type)
PointerRNA RNA_pointer_create_id_subdata(ID &id, StructRNA *type, void *data)
void RNA_property_float_get_default_array(PointerRNA *ptr, PropertyRNA *prop, float *values)
const char * RNA_property_ui_name_raw(const PropertyRNA *prop, const PointerRNA *ptr=nullptr)
void RNA_parameter_list_end(ParameterIterator *iter)
void RNA_int_set_array(PointerRNA *ptr, const char *name, const int *values)
void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, bool value)
void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value)
const StructRNA * RNA_struct_base_child_of(const StructRNA *type, const StructRNA *parent_type)
void RNA_property_int_ui_range(PointerRNA *ptr, PropertyRNA *prop, int *softmin, int *softmax, int *step)
std::optional< AncestorPointerRNA > RNA_struct_search_closest_ancestor_by_type(PointerRNA *ptr, const StructRNA *srna)
PropertyRNA * RNA_struct_type_find_property(StructRNA *srna, const char *identifier)
const char * RNA_property_ui_description(const PropertyRNA *prop)
bool RNA_property_update_check(PropertyRNA *prop)
bool RNA_property_array_check(PropertyRNA *prop)
bool RNA_struct_is_a(const StructRNA *type, const StructRNA *srna)
PropertyRNA * RNA_struct_find_collection_property_check(PointerRNA &props, const char *name, const StructRNA *struct_type_check)
PointerRNA PointerRNA RNA_property_pointer_get_never_create(PointerRNA *ptr, PropertyRNA *prop) ATTR_NONNULL(1
bool RNA_property_is_unlink(PropertyRNA *prop)
std::string RNA_pointer_as_string_id(bContext *C, PointerRNA *ptr)
void RNA_parameter_get(ParameterList *parms, PropertyRNA *parm, void **r_value)
StructRNA * RNA_struct_find(const char *identifier)
void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *values)
bool RNA_property_assign_default(PointerRNA *ptr, PropertyRNA *prop)
const char * RNA_function_identifier(FunctionRNA *func)
char * RNA_property_string_get_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen, int *r_len) ATTR_WARN_UNUSED_RESULT
PropertyScaleType RNA_property_ui_scale(PropertyRNA *prop)
void RNA_struct_state_owner_set(const char *name)
bool RNA_property_int_set_default(PropertyRNA *prop, int value)
void RNA_struct_py_type_set(StructRNA *srna, void *py_type)
void RNA_int_get_array(PointerRNA *ptr, const char *name, int *values)
bool RNA_property_path_from_ID_check(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_boolean_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index)
void RNA_property_enum_items_ex(bContext *C, PointerRNA *ptr, PropertyRNA *prop, bool use_static, const EnumPropertyItem **r_item, int *r_totitem, bool *r_free)
bool RNA_enum_identifier(const EnumPropertyItem *item, int value, const char **r_identifier)
IDProperty ** RNA_struct_idprops_p(PointerRNA *ptr)
bool RNA_property_float_set_default(PropertyRNA *prop, float value)
void RNA_property_int_get_array_at_most(PointerRNA *ptr, PropertyRNA *prop, int *values, int values_num)
void RNA_string_set(PointerRNA *ptr, const char *name, const char *value)
PointerRNA RNA_pointer_get(PointerRNA *ptr, const char *name)
int RNA_collection_length(PointerRNA *ptr, const char *name)
int RNA_enum_from_name(const EnumPropertyItem *item, const char *name)
bool RNA_struct_system_idprops_unset(PointerRNA *ptr, const char *identifier)
IDProperty ** RNA_struct_system_idprops_p(PointerRNA *ptr)
int RNA_property_int_clamp(PointerRNA *ptr, PropertyRNA *prop, int *value)
int RNA_property_float_clamp(PointerRNA *ptr, PropertyRNA *prop, float *value)
IDOverrideLibraryProperty * RNA_property_override_property_find(Main *bmain, PointerRNA *ptr, PropertyRNA *prop, ID **r_owner_id)
int RNA_property_int_get_default(PointerRNA *ptr, PropertyRNA *prop)
void RNA_pointer_set(PointerRNA *ptr, const char *name, PointerRNA ptr_value)
void RNA_boolean_get_array(PointerRNA *ptr, const char *name, bool *values)
bool RNA_struct_available_or_report(ReportList *reports, const char *identifier)
bool RNA_enum_is_equal(bContext *C, PointerRNA *ptr, const char *name, const char *enumname)
PropertyRNA * RNA_struct_find_property_check(PointerRNA &props, const char *name, const PropertyType property_type_check)
bool RNA_struct_is_ID(const StructRNA *type)
PropertyRNA * RNA_function_get_parameter(PointerRNA *ptr, FunctionRNA *func, int index)
int RNA_property_int_get_index(PointerRNA *ptr, PropertyRNA *prop, int index)
void RNA_property_float_ui_range(PointerRNA *ptr, PropertyRNA *prop, float *softmin, float *softmax, float *step, float *precision)
const ListBase * RNA_struct_type_properties(StructRNA *srna)
void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, float value)
bool RNA_enum_value_from_id(const EnumPropertyItem *item, const char *identifier, int *r_value)
const ListBase * RNA_struct_type_functions(StructRNA *srna)
bool RNA_struct_idprops_check(const StructRNA *srna)
eStringPropertySearchFlag RNA_property_string_search_flag(PropertyRNA *prop)
bool RNA_property_collection_is_empty(PointerRNA *ptr, PropertyRNA *prop)
PropertyUnit RNA_property_unit(PropertyRNA *prop)
void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type)
IDOverrideLibraryProperty * RNA_property_override_property_get(Main *bmain, PointerRNA *ptr, PropertyRNA *prop, bool *r_created)
int RNA_function_defined(FunctionRNA *func)
int RNA_property_ui_icon(const PropertyRNA *prop)
eRNAOverrideStatus
@ RNA_OVERRIDE_STATUS_OVERRIDABLE
@ RNA_OVERRIDE_STATUS_MANDATORY
@ RNA_OVERRIDE_STATUS_OVERRIDDEN
@ RNA_OVERRIDE_STATUS_LOCKED
void RNA_parameter_dynamic_length_set_data(ParameterList *parms, PropertyRNA *parm, void *data, int length)
bool RNA_struct_equals(Main *bmain, PointerRNA *ptr_a, PointerRNA *ptr_b, eRNACompareMode mode)
int RNA_property_collection_lookup_index(PointerRNA *ptr, PropertyRNA *prop, const PointerRNA *t_ptr)
void RNA_collection_clear(PointerRNA *ptr, const char *name)
bool RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index)
void RNA_parameter_dynamic_length_set(ParameterList *parms, PropertyRNA *parm, int length)
StructRNA * RNA_property_pointer_type(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_enum_name_gettexted(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_name)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
bool RNA_collection_is_empty(PointerRNA *ptr, const char *name)
float RNA_property_float_get_index(PointerRNA *ptr, PropertyRNA *prop, int index)
void RNA_property_string_search(const bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *edit_text, blender::FunctionRef< void(StringPropertySearchVisitParams)> visit_fn)
char * RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen, int *r_len)
short RNA_type_to_ID_code(const StructRNA *type)
void RNA_boolean_set(PointerRNA *ptr, const char *name, bool value)
const EnumPropertyItem * RNA_struct_property_tag_defines(const StructRNA *type)
PropertyRNA * RNA_function_find_parameter(PointerRNA *ptr, FunctionRNA *func, const char *identifier)
void RNA_property_collection_skip(CollectionPropertyIterator *iter, int num)
int RNA_property_string_default_length(PointerRNA *ptr, PropertyRNA *prop)
float RNA_property_float_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index)
void RNA_pointer_add(PointerRNA *ptr, const char *name)
bool RNA_property_collection_lookup_string_has_nameprop(PropertyRNA *prop)
int RNA_enum_from_identifier(const EnumPropertyItem *item, const char *identifier)
bool RNA_property_enum_identifier(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_identifier)
bool RNA_path_resolved_create(PointerRNA *ptr, PropertyRNA *prop, int prop_index, PathResolvedRNA *r_anim_rna)
int RNA_property_collection_raw_get(ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len)
int RNA_property_multi_array_length(PointerRNA *ptr, PropertyRNA *prop, int dimension)
bool RNA_property_is_set_ex(PointerRNA *ptr, PropertyRNA *prop, bool use_ghost)
bool RNA_property_editable_index(const PointerRNA *ptr, PropertyRNA *prop, const int index)
int RNA_property_enum_get_default(PointerRNA *ptr, PropertyRNA *prop)
const char * RNA_property_ui_description_raw(const PropertyRNA *prop)
void RNA_property_string_get_default(PropertyRNA *prop, char *value, int value_maxncpy)
bool RNA_property_collection_lookup_string_supported(PropertyRNA *prop)
void RNA_parameter_set(ParameterList *parms, PropertyRNA *parm, const void *value)
bool RNA_struct_property_is_set_ex(PointerRNA *ptr, const char *identifier, bool use_ghost)
bool RNA_property_is_set(PointerRNA *ptr, PropertyRNA *prop)
const char * RNA_property_description(PropertyRNA *prop)
eRNAOverrideApplyFlag
@ RNA_OVERRIDE_APPLY_FLAG_IGNORE_ID_POINTERS
@ RNA_OVERRIDE_APPLY_FLAG_SKIP_RESYNC_CHECK
@ RNA_OVERRIDE_APPLY_FLAG_NOP
@ RNA_OVERRIDE_APPLY_FLAG_RESTORE_ONLY
bool RNA_enum_icon_from_value(const EnumPropertyItem *item, int value, int *r_icon)
void RNA_property_float_range(PointerRNA *ptr, PropertyRNA *prop, float *hardmin, float *hardmax)
bool RNA_property_animateable(const PointerRNA *ptr, PropertyRNA *prop_orig)
void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, bool *values)
PropertyType RNA_property_type(PropertyRNA *prop)
const char * RNA_function_ui_description_raw(FunctionRNA *func)
eRNAOverrideStatus RNA_property_override_library_status(Main *bmain, PointerRNA *ptr, PropertyRNA *prop, int index)
void RNA_property_pointer_add(PointerRNA *ptr, PropertyRNA *prop)
void RNA_property_int_set_array_at_most(PointerRNA *ptr, PropertyRNA *prop, const int *values, int values_num)
void RNA_int_set(PointerRNA *ptr, const char *name, int value)
void RNA_property_enum_set(PointerRNA *ptr, PropertyRNA *prop, int value)
void * RNA_struct_blender_type_get(StructRNA *srna)
void RNA_property_float_get_array_at_most(PointerRNA *ptr, PropertyRNA *prop, float *values, int values_num)
void ** RNA_struct_instance(PointerRNA *ptr)
char RNA_property_array_item_char(PropertyRNA *prop, int index)
int RNA_property_enum_step(const bContext *C, PointerRNA *ptr, PropertyRNA *prop, int from_value, int step)
void RNA_parameter_list_free(ParameterList *parms)
bool RNA_struct_contains_property(PointerRNA *ptr, PropertyRNA *prop_test)
IDProperty * RNA_struct_idprops(PointerRNA *ptr, bool create)
bool RNA_struct_override_matches(Main *bmain, PointerRNA *ptr_local, PointerRNA *ptr_reference, const char *root_path, size_t root_path_len, IDOverrideLibrary *liboverride, eRNAOverrideMatch flags, eRNAOverrideMatchResult *r_report_flags)
void RNA_float_get_array(PointerRNA *ptr, const char *name, float *values)
void RNA_property_update(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_overridable_library_set(PointerRNA *ptr, PropertyRNA *prop, bool is_overridable)
unsigned int RNA_struct_count_properties(StructRNA *srna)
int RNA_property_int_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index)
size_t RNA_raw_type_sizeof(RawPropertyType type)
bool RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop)
void _RNA_warning(const char *format,...) ATTR_PRINTF_FORMAT(1
void RNA_property_float_get_array_range(PointerRNA *ptr, PropertyRNA *prop, float values[2])
IDOverrideLibraryPropertyOperation * RNA_property_override_property_operation_get(Main *bmain, PointerRNA *ptr, PropertyRNA *prop, short operation, int index, bool strict, bool *r_strict, bool *r_created)
void RNA_property_boolean_get_default_array(PointerRNA *ptr, PropertyRNA *prop, bool *values)
const char * RNA_struct_identifier(const StructRNA *type)
bool RNA_struct_idprops_contains_datablock(const StructRNA *type)
void RNA_property_boolean_get_array_at_most(PointerRNA *ptr, PropertyRNA *prop, bool *values, int values_num)
PointerRNA PointerRNA void PointerRNA RNA_property_pointer_get_default(PointerRNA *ptr, PropertyRNA *prop) ATTR_NONNULL(1
void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value)
unsigned int RNA_enum_items_count(const EnumPropertyItem *item)
PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop) ATTR_NONNULL(1
void RNA_property_enum_items_gettexted(bContext *C, PointerRNA *ptr, PropertyRNA *prop, const EnumPropertyItem **r_item, int *r_totitem, bool *r_free)
bool RNA_enum_id_from_value(const EnumPropertyItem *item, int value, const char **r_identifier)
IDProperty * RNA_struct_system_idprops(PointerRNA *ptr, bool create)
PointerRNA PointerRNA void RNA_property_pointer_set(PointerRNA *ptr, PropertyRNA *prop, PointerRNA ptr_value, ReportList *reports) ATTR_NONNULL(1
int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_struct_override_store(Main *bmain, PointerRNA *ptr_local, PointerRNA *ptr_reference, PointerRNA *ptr_storage, IDOverrideLibrary *liboverride)
const char * RNA_property_translation_context(const PropertyRNA *prop)
void RNA_property_collection_next(CollectionPropertyIterator *iter)
char * RNA_struct_name_get_alloc_ex(PointerRNA *ptr, char *fixedbuf, int fixedlen, int *r_len, PropertyRNA **r_nameprop)
void RNA_collection_add(PointerRNA *ptr, const char *name, PointerRNA *r_value)
void RNA_parameter_list_next(ParameterIterator *iter)
int RNA_property_override_flag(PropertyRNA *prop)
void RNA_enum_set_identifier(bContext *C, PointerRNA *ptr, const char *name, const char *id)
PropertyPathTemplateType RNA_property_path_template_type(PropertyRNA *prop)
void RNA_property_float_set_array_at_most(PointerRNA *ptr, PropertyRNA *prop, const float *values, int values_num)
void RNA_string_get(PointerRNA *ptr, const char *name, char *value)
const char * RNA_function_ui_description(FunctionRNA *func)
int RNA_enum_bitflag_identifiers(const EnumPropertyItem *item, int value, const char **r_identifier)
void RNA_struct_override_apply(Main *bmain, PointerRNA *id_ptr_dst, PointerRNA *id_ptr_src, PointerRNA *id_ptr_storage, IDOverrideLibrary *liboverride, eRNAOverrideApplyFlag flag)
int RNA_int_get(PointerRNA *ptr, const char *name)
char * RNA_string_get_alloc(PointerRNA *ptr, const char *name, char *fixedbuf, int fixedlen, int *r_len) ATTR_WARN_UNUSED_RESULT
int RNA_property_array_dimension(const PointerRNA *ptr, PropertyRNA *prop, int length[])
bool RNA_enum_value_from_identifier(const EnumPropertyItem *item, const char *identifier, int *r_value)
bool RNA_enum_name_from_value(const EnumPropertyItem *item, int value, const char **r_name)
std::string RNA_pointer_as_string_keywords(bContext *C, PointerRNA *ptr, bool as_function, bool all_args, bool nested_args, int max_prop_length)
IDOverrideLibraryPropertyOperation * RNA_property_override_property_operation_find(Main *bmain, PointerRNA *ptr, PropertyRNA *prop, int index, bool strict, bool *r_strict)
PropertyRNA * RNA_struct_type_find_property_no_base(StructRNA *srna, const char *identifier)
std::string RNA_pointer_as_string_keywords_ex(bContext *C, PointerRNA *ptr, bool as_function, bool all_args, bool nested_args, int max_prop_length, PropertyRNA *iterprop)
eRNAOverrideMatch
@ RNA_OVERRIDE_COMPARE_IGNORE_OVERRIDDEN
@ RNA_OVERRIDE_COMPARE_CREATE
@ RNA_OVERRIDE_COMPARE_IGNORE_NON_OVERRIDABLE
@ RNA_OVERRIDE_COMPARE_RESTORE
@ RNA_OVERRIDE_COMPARE_TAG_FOR_RESTORE
int RNA_function_flag(FunctionRNA *func)
void * RNA_property_py_data_get(PropertyRNA *prop)
void RNA_property_update_main(Main *bmain, Scene *scene, PointerRNA *ptr, PropertyRNA *prop)
float RNA_property_float_get_default(PointerRNA *ptr, PropertyRNA *prop)
PointerRNA RNA_pointer_create_from_ancestor(const PointerRNA &ptr, const int ancestor_idx)
const DeprecatedRNA * RNA_property_deprecated(const PropertyRNA *prop)
std::optional< std::string > RNA_property_string_path_filter(const bContext *C, PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_anim_editable(const PointerRNA *ptr, PropertyRNA *prop_orig)
bool RNA_property_pointer_poll(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *value)
int RNA_property_flag(PropertyRNA *prop)
RawPropertyType RNA_property_raw_type(PropertyRNA *prop)
bool RNA_property_comparable(PointerRNA *ptr, PropertyRNA *prop)
const char * RNA_struct_ui_description_raw(const StructRNA *type)
char * RNA_property_string_get_default_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen, int *r_len) ATTR_WARN_UNUSED_RESULT
int RNA_struct_ui_icon(const StructRNA *type)
void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, bool value)
float RNA_float_get(PointerRNA *ptr, const char *name)
bool RNA_property_builtin(PropertyRNA *prop)
void RNA_property_int_get_array_range(PointerRNA *ptr, PropertyRNA *prop, int values[2])
bool RNA_struct_system_idprops_register_check(const StructRNA *type)
const char * RNA_struct_ui_description(const StructRNA *type)
bool RNA_enum_description(const EnumPropertyItem *item, int value, const char **r_description)
int RNA_parameter_list_arg_count(const ParameterList *parms)
bool RNA_property_collection_lookup_int(PointerRNA *ptr, PropertyRNA *prop, int key, PointerRNA *r_ptr)
void RNA_parameter_set_lookup(ParameterList *parms, const char *identifier, const void *value)
void RNA_property_string_set_bytes(PointerRNA *ptr, PropertyRNA *prop, const char *value, int len)
bool RNA_struct_system_idprops_check(StructRNA *srna)
void RNA_float_set(PointerRNA *ptr, const char *name, float value)
bool RNA_property_enum_name(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_name)
int RNA_string_length(PointerRNA *ptr, const char *name)
const char * RNA_property_ui_name(const PropertyRNA *prop, const PointerRNA *ptr=nullptr)
const char * RNA_struct_ui_name(const StructRNA *type)
bool RNA_struct_undo_check(const StructRNA *type)
void RNA_collection_begin(PointerRNA *ptr, const char *name, CollectionPropertyIterator *iter)
void RNA_struct_property_unset(PointerRNA *ptr, const char *identifier)
void RNA_property_collection_add(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr)
bool RNA_pointer_is_null(const PointerRNA *ptr)
int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop)
ParameterList * RNA_parameter_list_create(ParameterList *parms, PointerRNA *ptr, FunctionRNA *func)
StructRNA * RNA_struct_base(StructRNA *type)
FunctionRNA * RNA_struct_find_function(StructRNA *srna, const char *identifier)
bool RNA_property_is_idprop(const PropertyRNA *prop)
int RNA_property_string_maxlength(PropertyRNA *prop)
void RNA_property_enum_items_gettexted_all(bContext *C, PointerRNA *ptr, PropertyRNA *prop, const EnumPropertyItem **r_item, int *r_totitem, bool *r_free)
const char * RNA_struct_state_owner_get()
std::optional< std::string > RNA_pointer_as_string(bContext *C, PointerRNA *ptr, PropertyRNA *prop_ptr, PointerRNA *ptr_prop)
bool RNA_struct_idprops_datablock_allowed(const StructRNA *type)
bool RNA_property_editable(const PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_enum_item_from_value(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, EnumPropertyItem *r_item)
bool RNA_property_collection_lookup_string_index(PointerRNA *ptr, PropertyRNA *prop, const char *key, PointerRNA *r_ptr, int *r_index)
void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const float *values)
void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values)
int RNA_property_enum_bitflag_identifiers(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_identifier)
void RNA_property_int_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values)
bool RNA_property_editable_info(const PointerRNA *ptr, PropertyRNA *prop, const char **r_info)
int RNA_property_enum_get(PointerRNA *ptr, PropertyRNA *prop)
PointerRNA RNA_pointer_recast(PointerRNA *ptr)
void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value)
PropertyRNA * RNA_struct_name_property(const StructRNA *type)
eRNACompareMode
@ RNA_EQ_UNSET_MATCH_ANY
@ RNA_EQ_STRICT
@ RNA_EQ_COMPARE
@ RNA_EQ_UNSET_MATCH_NONE
std::string RNA_property_string_get(PointerRNA *ptr, PropertyRNA *prop)
void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values)
bool RNA_property_collection_move(PointerRNA *ptr, PropertyRNA *prop, int key, int pos)
StructRNA * ID_code_to_RNA_type(short idcode)
PropertySubType RNA_property_subtype(PropertyRNA *prop)
bool RNA_property_overridden(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_struct_property_is_set(PointerRNA *ptr, const char *identifier)
bool RNA_property_overridable_get(const PointerRNA *ptr, PropertyRNA *prop)
int RNA_parameter_list_ret_count(const ParameterList *parms)
PointerRNA RNA_main_pointer_create(Main *main)
void RNA_property_int_range(PointerRNA *ptr, PropertyRNA *prop, int *hardmin, int *hardmax)
int RNA_enum_from_value(const EnumPropertyItem *item, int value)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
int RNA_function_call(bContext *C, ReportList *reports, PointerRNA *ptr, FunctionRNA *func, ParameterList *parms)
int RNA_parameter_dynamic_length_get(ParameterList *parms, PropertyRNA *parm)
const char * RNA_struct_ui_name_raw(const StructRNA *type)
bool RNA_property_collection_lookup_string(PointerRNA *ptr, PropertyRNA *prop, const char *key, PointerRNA *r_ptr)
void RNA_property_enum_items(bContext *C, PointerRNA *ptr, PropertyRNA *prop, const EnumPropertyItem **r_item, int *r_totitem, bool *r_free)
std::optional< blender::StringRefNull > RNA_translate_ui_text(const char *text, const char *text_ctxt, StructRNA *type, PropertyRNA *prop, int translate)
bool RNA_property_driver_editable(const PointerRNA *ptr, PropertyRNA *prop)
void RNA_property_collection_clear(PointerRNA *ptr, PropertyRNA *prop)
int RNA_property_tags(PropertyRNA *prop)
bool RNA_property_collection_type_get(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr)
void RNA_property_collection_end(CollectionPropertyIterator *iter)
bool RNA_property_collection_lookup_string_has_fn(PropertyRNA *prop)
void RNA_enum_set(PointerRNA *ptr, const char *name, int value)
void RNA_float_set_array(PointerRNA *ptr, const char *name, const float *values)
int RNA_property_array_item_index(PropertyRNA *prop, char name)
PointerRNA RNA_blender_rna_pointer_create()
bool RNA_property_boolean_get_index(PointerRNA *ptr, PropertyRNA *prop, int index)
bool RNA_property_boolean_get_default(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_struct_bl_idname_ok_or_report(ReportList *reports, const char *identifier, const char *sep)
PointerRNA RNA_pointer_create_discrete(ID *id, StructRNA *type, void *data)
bool RNA_property_collection_remove(PointerRNA *ptr, PropertyRNA *prop, int key)
int RNA_enum_get(PointerRNA *ptr, const char *name)
bool RNA_property_enum_item_from_value_gettexted(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, EnumPropertyItem *r_item)
std::string RNA_function_as_string_keywords(bContext *C, FunctionRNA *func, bool as_function, bool all_args, int max_prop_length)
void RNA_property_unset(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_enum_name(const EnumPropertyItem *item, int value, const char **r_name)
eRNAOverrideMatchResult
@ RNA_OVERRIDE_MATCH_RESULT_RESTORED
@ RNA_OVERRIDE_MATCH_RESULT_RESTORE_TAGGED
@ RNA_OVERRIDE_MATCH_RESULT_CREATED
@ RNA_OVERRIDE_MATCH_RESULT_INIT
void RNA_parameter_list_begin(ParameterList *parms, ParameterIterator *iter)
int RNA_parameter_dynamic_length_get_data(ParameterList *parms, PropertyRNA *parm, void *data)
void RNA_property_boolean_set_array_at_most(PointerRNA *ptr, PropertyRNA *prop, const bool *values, int values_num)
PointerRNA PointerRNA void PointerRNA void RNA_property_collection_begin(PointerRNA *ptr, PropertyRNA *prop, CollectionPropertyIterator *iter)
void RNA_property_pointer_remove(PointerRNA *ptr, PropertyRNA *prop)
std::string RNA_property_as_string(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int index, int max_prop_length)
int RNA_property_string_length(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_equals(Main *bmain, PointerRNA *ptr_a, PointerRNA *ptr_b, PropertyRNA *prop, eRNACompareMode mode)
PropertyRNA * RNA_struct_iterator_property(StructRNA *type)
int RNA_parameter_list_size(const ParameterList *parms)
int RNA_parameter_flag(PropertyRNA *prop)
void RNA_parameter_get_lookup(ParameterList *parms, const char *identifier, void **r_value)
void * RNA_struct_py_type_get(StructRNA *srna)
bool RNA_property_editable_flag(const PointerRNA *ptr, PropertyRNA *prop)
PointerRNA RNA_pointer_create_with_parent(const PointerRNA &parent, StructRNA *type, void *data)
const char * RNA_struct_translation_context(const StructRNA *type)
int RNA_property_collection_raw_set(ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len)
bool RNA_property_animated(PointerRNA *ptr, PropertyRNA *prop)
const char * RNA_property_identifier(const PropertyRNA *prop)
int RNA_property_collection_raw_array(PointerRNA *ptr, PropertyRNA *prop, PropertyRNA *itemprop, bool set, RawArray *array)
const ListBase * RNA_function_defined_parameters(FunctionRNA *func)
bool RNA_enum_name_gettexted(const EnumPropertyItem *item, int value, const char *translation_context, const char **r_name)
bool RNA_property_collection_assign_int(PointerRNA *ptr, PropertyRNA *prop, int key, const PointerRNA *assign_ptr)
int RNA_property_collection_length(PointerRNA *ptr, PropertyRNA *prop)
void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const bool *values)
PointerRNA RNA_id_pointer_create(ID *id)
void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *value)
bool RNA_property_copy(Main *bmain, PointerRNA *ptr, PointerRNA *fromptr, PropertyRNA *prop, int index)
PropertyScaleType
Definition RNA_types.hh:203
eStringPropertySearchFlag
Definition RNA_types.hh:778
StructRNA *(*)(Main *bmain, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free) StructRegisterFunc
Definition RNA_types.hh:991
PropertyType
Definition RNA_types.hh:161
bool(*)(Main *bmain, StructRNA *type) StructUnregisterFunc
Definition RNA_types.hh:999
PropertyUnit
Definition RNA_types.hh:172
PropertyPathTemplateType
Definition RNA_types.hh:484
RawPropertyType
Definition RNA_types.hh:622
PropertySubType
Definition RNA_types.hh:232
#define C
Definition RandGen.cpp:29
BMesh const char void * data
uint pos
#define main()
VecBase< float, D > step(VecOp< float, D >, VecOp< float, D >) RET
float length(VecOp< float, D >) RET
format
const char * name
BlenderRNA BLENDER_RNA
Definition DNA_ID.h:414
uint len
PointerRNA * ptr
Definition wm_files.cc:4238
uint8_t flag
Definition wm_window.cc:145