Blender V4.5
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);
155bool RNA_struct_idprops_unset(PointerRNA *ptr, const char *identifier);
156
157PropertyRNA *RNA_struct_find_property(PointerRNA *ptr, const char *identifier);
158
164 const char *name,
165 const PropertyType property_type_check);
171 const char *name,
172 const StructRNA *struct_type_check);
173
175unsigned int RNA_struct_count_properties(StructRNA *srna);
176
182PropertyRNA *RNA_struct_type_find_property_no_base(StructRNA *srna, const char *identifier);
187PropertyRNA *RNA_struct_type_find_property(StructRNA *srna, const char *identifier);
188
189FunctionRNA *RNA_struct_find_function(StructRNA *srna, const char *identifier);
191
192char *RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen, int *r_len)
194
198bool RNA_struct_available_or_report(ReportList *reports, const char *identifier);
200 const char *identifier,
201 const char *sep);
202
203/* Properties
204 *
205 * Access to struct properties. All this works with RNA pointers rather than
206 * direct pointers to the data. */
207
208/* Property Information */
209
210const char *RNA_property_identifier(const PropertyRNA *prop);
211const char *RNA_property_description(PropertyRNA *prop);
212
229
240char RNA_property_array_item_char(PropertyRNA *prop, int index);
241int RNA_property_array_item_index(PropertyRNA *prop, char name);
242
247
248const char *RNA_property_ui_name(const PropertyRNA *prop);
249const char *RNA_property_ui_name_raw(const PropertyRNA *prop);
250const char *RNA_property_ui_description(const PropertyRNA *prop);
251const char *RNA_property_ui_description_raw(const PropertyRNA *prop);
252const char *RNA_property_translation_context(const PropertyRNA *prop);
253int RNA_property_ui_icon(const PropertyRNA *prop);
254
255/* Dynamic Property Information */
256
257void RNA_property_int_range(PointerRNA *ptr, PropertyRNA *prop, int *hardmin, int *hardmax);
259 PointerRNA *ptr, PropertyRNA *prop, int *softmin, int *softmax, int *step);
260
261void RNA_property_float_range(PointerRNA *ptr, PropertyRNA *prop, float *hardmin, float *hardmax);
263 PropertyRNA *prop,
264 float *softmin,
265 float *softmax,
266 float *step,
267 float *precision);
268
269int RNA_property_float_clamp(PointerRNA *ptr, PropertyRNA *prop, float *value);
270int RNA_property_int_clamp(PointerRNA *ptr, PropertyRNA *prop, int *value);
271
272bool RNA_enum_identifier(const EnumPropertyItem *item, int value, const char **r_identifier);
274 int value,
275 const char **r_identifier);
276bool RNA_enum_name(const EnumPropertyItem *item, int value, const char **r_name);
278 int value,
279 const char *translation_context,
280 const char **r_name);
281bool RNA_enum_description(const EnumPropertyItem *item, int value, const char **r_description);
282int RNA_enum_from_value(const EnumPropertyItem *item, int value);
283int RNA_enum_from_identifier(const EnumPropertyItem *item, const char *identifier);
285 const char *identifier,
286 int *r_value);
291int RNA_enum_from_name(const EnumPropertyItem *item, const char *name);
292unsigned int RNA_enum_items_count(const EnumPropertyItem *item);
293
296 PropertyRNA *prop,
297 bool use_static,
298 const EnumPropertyItem **r_item,
299 int *r_totitem,
300 bool *r_free);
303 PropertyRNA *prop,
304 const EnumPropertyItem **r_item,
305 int *r_totitem,
306 bool *r_free);
309 PropertyRNA *prop,
310 const EnumPropertyItem **r_item,
311 int *r_totitem,
312 bool *r_free);
315 PropertyRNA *prop,
316 const EnumPropertyItem **r_item,
317 int *r_totitem,
318 bool *r_free);
320 bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *identifier, int *r_value);
322 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_identifier);
324 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_name);
326 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_name);
327
329 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, EnumPropertyItem *r_item);
331 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, EnumPropertyItem *r_item);
332
334 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_identifier);
335
338
342bool RNA_property_is_runtime(const PropertyRNA *prop);
343
349bool RNA_property_editable_info(const PointerRNA *ptr, PropertyRNA *prop, const char **r_info);
353bool RNA_property_editable_index(const PointerRNA *ptr, PropertyRNA *prop, const int index);
354
359
368bool RNA_property_animateable(const PointerRNA *ptr, PropertyRNA *prop_orig);
401bool RNA_property_overridable_library_set(PointerRNA *ptr, PropertyRNA *prop, bool is_overridable);
408bool RNA_property_path_from_ID_check(PointerRNA *ptr, PropertyRNA *prop); /* slow, use with care */
409
420
421/* Property Data */
422
424void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, bool value);
425void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, bool *values);
427 PropertyRNA *prop,
428 bool *values,
429 int values_num);
431void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const bool *values);
433 PropertyRNA *prop,
434 const bool *values,
435 int values_num);
436void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, bool value);
440
442void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value);
443void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values);
445 PropertyRNA *prop,
446 int *values,
447 int values_num);
450void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values);
451void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value);
453 PropertyRNA *prop,
454 const int *values,
455 int values_num);
457bool RNA_property_int_set_default(PropertyRNA *prop, int value);
460
462void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value);
463void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *values);
465 PropertyRNA *prop,
466 float *values,
467 int values_num);
468void RNA_property_float_get_array_range(PointerRNA *ptr, PropertyRNA *prop, float values[2]);
470void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const float *values);
472 PropertyRNA *prop,
473 const float *values,
474 int values_num);
475void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, float value);
477bool RNA_property_float_set_default(PropertyRNA *prop, float value);
480
482void RNA_property_string_get(PointerRNA *ptr, PropertyRNA *prop, char *value);
484 PropertyRNA *prop,
485 char *fixedbuf,
486 int fixedlen,
487 int *r_len) ATTR_WARN_UNUSED_RESULT;
488void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *value);
489void RNA_property_string_set_bytes(PointerRNA *ptr, PropertyRNA *prop, const char *value, int len);
490
498 const bContext *C,
500 PropertyRNA *prop,
501 const char *edit_text,
503
508std::optional<std::string> RNA_property_string_path_filter(const bContext *C,
510 PropertyRNA *prop);
511
516void RNA_property_string_get_default(PropertyRNA *prop, char *value, int value_maxncpy);
518 PropertyRNA *prop,
519 char *fixedbuf,
520 int fixedlen,
521 int *r_len) ATTR_WARN_UNUSED_RESULT;
526
528void RNA_property_enum_set(PointerRNA *ptr, PropertyRNA *prop, int value);
538 const bContext *C, PointerRNA *ptr, PropertyRNA *prop, int from_value, int step);
539
542 PropertyRNA *prop,
543 PointerRNA ptr_value,
546
548 PropertyRNA *prop,
560 PropertyRNA *prop,
561 const PointerRNA *t_ptr);
563 PropertyRNA *prop,
564 int key,
565 PointerRNA *r_ptr);
567 PropertyRNA *prop,
568 const char *key,
569 PointerRNA *r_ptr);
571 PointerRNA *ptr, PropertyRNA *prop, const char *key, PointerRNA *r_ptr, int *r_index);
572
581
586 PropertyRNA *prop,
587 int key,
588 const PointerRNA *assign_ptr);
590
591/* efficient functions to set properties for arrays */
593 PointerRNA *ptr, PropertyRNA *prop, PropertyRNA *itemprop, bool set, RawArray *array);
596 PropertyRNA *prop,
597 const char *propname,
598 void *array,
599 RawPropertyType type,
600 int len);
603 PropertyRNA *prop,
604 const char *propname,
605 void *array,
606 RawPropertyType type,
607 int len);
610
611/* to create ID property groups */
617bool RNA_property_collection_move(PointerRNA *ptr, PropertyRNA *prop, int key, int pos);
618
619/* copy/reset */
621 Main *bmain, PointerRNA *ptr, PointerRNA *fromptr, PropertyRNA *prop, int index);
622bool RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index);
624
625/* Quick name based property access
626 *
627 * These are just an easier way to access property values without having to
628 * call RNA_struct_find_property. The names have to exist as RNA properties
629 * for the type in the pointer, if they do not exist an error will be printed.
630 *
631 * There is no support for pointers and collections here yet, these can be
632 * added when ID properties support them. */
633
634bool RNA_boolean_get(PointerRNA *ptr, const char *name);
635void RNA_boolean_set(PointerRNA *ptr, const char *name, bool value);
636void RNA_boolean_get_array(PointerRNA *ptr, const char *name, bool *values);
637void RNA_boolean_set_array(PointerRNA *ptr, const char *name, const bool *values);
638
639int RNA_int_get(PointerRNA *ptr, const char *name);
640void RNA_int_set(PointerRNA *ptr, const char *name, int value);
641void RNA_int_get_array(PointerRNA *ptr, const char *name, int *values);
642void RNA_int_set_array(PointerRNA *ptr, const char *name, const int *values);
643
644float RNA_float_get(PointerRNA *ptr, const char *name);
645void RNA_float_set(PointerRNA *ptr, const char *name, float value);
646void RNA_float_get_array(PointerRNA *ptr, const char *name, float *values);
647void RNA_float_set_array(PointerRNA *ptr, const char *name, const float *values);
648
649int RNA_enum_get(PointerRNA *ptr, const char *name);
650void RNA_enum_set(PointerRNA *ptr, const char *name, int value);
651void RNA_enum_set_identifier(bContext *C, PointerRNA *ptr, const char *name, const char *id);
652bool RNA_enum_is_equal(bContext *C, PointerRNA *ptr, const char *name, const char *enumname);
653
654/* Lower level functions that don't use a PointerRNA. */
655bool RNA_enum_value_from_id(const EnumPropertyItem *item, const char *identifier, int *r_value);
656bool RNA_enum_id_from_value(const EnumPropertyItem *item, int value, const char **r_identifier);
657bool RNA_enum_icon_from_value(const EnumPropertyItem *item, int value, int *r_icon);
658bool RNA_enum_name_from_value(const EnumPropertyItem *item, int value, const char **r_name);
659
660void RNA_string_get(PointerRNA *ptr, const char *name, char *value);
662 const char *name,
663 char *fixedbuf,
664 int fixedlen,
665 int *r_len) ATTR_WARN_UNUSED_RESULT;
666int RNA_string_length(PointerRNA *ptr, const char *name);
667void RNA_string_set(PointerRNA *ptr, const char *name, const char *value);
668
672PointerRNA RNA_pointer_get(PointerRNA *ptr, const char *name);
673/* Set the property name of PointerRNA ptr to ptr_value */
674void RNA_pointer_set(PointerRNA *ptr, const char *name, PointerRNA ptr_value);
675void RNA_pointer_add(PointerRNA *ptr, const char *name);
676
677void RNA_collection_begin(PointerRNA *ptr, const char *name, CollectionPropertyIterator *iter);
678int RNA_collection_length(PointerRNA *ptr, const char *name);
679bool RNA_collection_is_empty(PointerRNA *ptr, const char *name);
680void RNA_collection_add(PointerRNA *ptr, const char *name, PointerRNA *r_value);
681void RNA_collection_clear(PointerRNA *ptr, const char *name);
682
683#define RNA_BEGIN(sptr, itemptr, propname) \
684 { \
685 CollectionPropertyIterator rna_macro_iter; \
686 for (RNA_collection_begin(sptr, propname, &rna_macro_iter); rna_macro_iter.valid; \
687 RNA_property_collection_next(&rna_macro_iter)) \
688 { \
689 PointerRNA itemptr = rna_macro_iter.ptr;
690
691#define RNA_END \
692 } \
693 RNA_property_collection_end(&rna_macro_iter); \
694 } \
695 ((void)0)
696
697#define RNA_PROP_BEGIN(sptr, itemptr, prop) \
698 { \
699 CollectionPropertyIterator rna_macro_iter; \
700 for (RNA_property_collection_begin(sptr, prop, &rna_macro_iter); rna_macro_iter.valid; \
701 RNA_property_collection_next(&rna_macro_iter)) \
702 { \
703 PointerRNA itemptr = rna_macro_iter.ptr;
704
705#define RNA_PROP_END \
706 } \
707 RNA_property_collection_end(&rna_macro_iter); \
708 } \
709 ((void)0)
710
711#define RNA_STRUCT_BEGIN(sptr, prop) \
712 { \
713 CollectionPropertyIterator rna_macro_iter{}; \
714 for (RNA_property_collection_begin( \
715 sptr, RNA_struct_iterator_property((sptr)->type), &rna_macro_iter); \
716 rna_macro_iter.valid; \
717 RNA_property_collection_next(&rna_macro_iter)) \
718 { \
719 PropertyRNA *prop = (PropertyRNA *)rna_macro_iter.ptr.data;
720
721#define RNA_STRUCT_BEGIN_SKIP_RNA_TYPE(sptr, prop) \
722 { \
723 CollectionPropertyIterator rna_macro_iter; \
724 RNA_property_collection_begin( \
725 sptr, RNA_struct_iterator_property((sptr)->type), &rna_macro_iter); \
726 if (rna_macro_iter.valid) { \
727 RNA_property_collection_next(&rna_macro_iter); \
728 } \
729 for (; rna_macro_iter.valid; RNA_property_collection_next(&rna_macro_iter)) { \
730 PropertyRNA *prop = (PropertyRNA *)rna_macro_iter.ptr.data;
731
732#define RNA_STRUCT_END \
733 } \
734 RNA_property_collection_end(&rna_macro_iter); \
735 } \
736 ((void)0)
737
751bool RNA_property_is_set_ex(PointerRNA *ptr, PropertyRNA *prop, bool use_ghost);
755bool RNA_struct_property_is_set_ex(PointerRNA *ptr, const char *identifier, bool use_ghost);
756bool RNA_struct_property_is_set(PointerRNA *ptr, const char *identifier);
757bool RNA_property_is_idprop(const PropertyRNA *prop);
762void RNA_struct_property_unset(PointerRNA *ptr, const char *identifier);
763
767std::string RNA_property_as_string(
768 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int index, int max_prop_length);
774std::optional<std::string> RNA_pointer_as_string(bContext *C,
776 PropertyRNA *prop_ptr,
777 PointerRNA *ptr_prop);
783 bool as_function,
784 bool all_args,
785 bool nested_args,
786 int max_prop_length,
787 PropertyRNA *iterprop);
790 bool as_function,
791 bool all_args,
792 bool nested_args,
793 int max_prop_length);
795 bContext *C, FunctionRNA *func, bool as_function, bool all_args, int max_prop_length);
796
797/* Function */
798
799const char *RNA_function_identifier(FunctionRNA *func);
804
807 FunctionRNA *func,
808 const char *identifier);
810
811/* Utility */
812
814
817int RNA_parameter_list_size(const ParameterList *parms);
820
824
825void RNA_parameter_get(ParameterList *parms, PropertyRNA *parm, void **r_value);
826void RNA_parameter_get_lookup(ParameterList *parms, const char *identifier, void **r_value);
827void RNA_parameter_set(ParameterList *parms, PropertyRNA *parm, const void *value);
828void RNA_parameter_set_lookup(ParameterList *parms, const char *identifier, const void *value);
829
830/* Only for PROP_DYNAMIC properties! */
831
836 PropertyRNA *parm,
837 void *data,
838 int length);
839
842
843std::optional<blender::StringRefNull> RNA_translate_ui_text(
844 const char *text, const char *text_ctxt, StructRNA *type, PropertyRNA *prop, int translate);
845
846/* ID */
847
850
851/* macro which inserts the function name */
852#if defined __GNUC__
853# define RNA_warning(format, args...) _RNA_warning("%s: " format "\n", __func__, ##args)
854#elif defined(_MSVC_TRADITIONAL) && \
855 !_MSVC_TRADITIONAL /* The "new preprocessor" is enabled via `/Zc:preprocessor`. */
856# define RNA_warning(format, ...) _RNA_warning("%s: " format "\n", __FUNCTION__, ##__VA_ARGS__)
857#else
858# define RNA_warning(format, ...) _RNA_warning("%s: " format "\n", __FUNCTION__, __VA_ARGS__)
859#endif
860
862void _RNA_warning(const char *format, ...) ATTR_PRINTF_FORMAT(1, 2);
863
864/* Equals test. */
865
871 /* Only care about equality, not full comparison. */
880};
881
883 Main *bmain, PointerRNA *ptr_a, PointerRNA *ptr_b, PropertyRNA *prop, eRNACompareMode mode);
884bool RNA_struct_equals(Main *bmain, PointerRNA *ptr_a, PointerRNA *ptr_b, eRNACompareMode mode);
885
886/* Override. */
887
903
921
933
934
945 PointerRNA *ptr_local,
946 PointerRNA *ptr_reference,
947 const char *root_path,
948 size_t root_path_len,
949 IDOverrideLibrary *liboverride,
950 eRNAOverrideMatch flags,
951 eRNAOverrideMatchResult *r_report_flags);
952
958 PointerRNA *ptr_local,
959 PointerRNA *ptr_reference,
960 PointerRNA *ptr_storage,
961 IDOverrideLibrary *liboverride);
962
977
987 PointerRNA *id_ptr_dst,
988 PointerRNA *id_ptr_src,
989 PointerRNA *id_ptr_storage,
990 IDOverrideLibrary *liboverride,
992
995 PropertyRNA *prop,
996 ID **r_owner_id);
999 PropertyRNA *prop,
1000 bool *r_created);
1001
1003 Main *bmain, PointerRNA *ptr, PropertyRNA *prop, int index, bool strict, bool *r_strict);
1005 PointerRNA *ptr,
1006 PropertyRNA *prop,
1007 short operation,
1008 int index,
1009 bool strict,
1010 bool *r_strict,
1011 bool *r_created);
1012
1014 PointerRNA *ptr,
1015 PropertyRNA *prop,
1016 int index);
1017
1018void RNA_struct_state_owner_set(const char *name);
1019const char *RNA_struct_state_owner_get();
1020
1021#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)
void RNA_parameter_list_end(ParameterIterator *iter)
void RNA_int_set_array(PointerRNA *ptr, const char *name, const int *values)
const char * RNA_property_ui_name_raw(const PropertyRNA *prop)
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)
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)
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)
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)
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)
PointerRNA void RNA_property_pointer_set(PointerRNA *ptr, PropertyRNA *prop, PointerRNA ptr_value, ReportList *reports) ATTR_NONNULL(1
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)
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)
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)
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)
char * RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen, int *r_len) ATTR_WARN_UNUSED_RESULT
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)
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)
PointerRNA void PointerRNA void RNA_property_collection_begin(PointerRNA *ptr, PropertyRNA *prop, CollectionPropertyIterator *iter)
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])
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)
bool RNA_struct_idprops_register_check(const StructRNA *type)
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)
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_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)
const char * RNA_property_ui_name(const PropertyRNA *prop)
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_struct_idprops_unset(PointerRNA *ptr, const char *identifier)
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)
PointerRNA void PointerRNA RNA_property_pointer_get_default(PointerRNA *ptr, PropertyRNA *prop) ATTR_NONNULL(1
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)
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)
StructRNA *(*)(Main *bmain, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free) StructRegisterFunc
Definition RNA_types.hh:877
PropertyScaleType
Definition RNA_types.hh:191
eStringPropertySearchFlag
Definition RNA_types.hh:687
PropertyType
Definition RNA_types.hh:149
bool(*)(Main *bmain, StructRNA *type) StructUnregisterFunc
Definition RNA_types.hh:885
PropertyUnit
Definition RNA_types.hh:160
PropertyPathTemplateType
Definition RNA_types.hh:456
RawPropertyType
Definition RNA_types.hh:588
PropertySubType
Definition RNA_types.hh:220
#define C
Definition RandGen.cpp:29
ReportList * reports
Definition WM_types.hh:1025
BMesh const char void * data
uint pos
VecBase< float, D > step(VecOp< float, D >, VecOp< float, D >) RET
#define main()
float length(VecOp< float, D >) RET
format
BlenderRNA BLENDER_RNA
Definition DNA_ID.h:404
uint len
PointerRNA * ptr
Definition wm_files.cc:4227
uint8_t flag
Definition wm_window.cc:139