Blender V4.5
RNA_types.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
8
9/* Use a define instead of `#pragma once` because of `BKE_addon.h`, `ED_object.hh` & others. */
10#ifndef __RNA_TYPES_H__
11#define __RNA_TYPES_H__
12
13#include <optional>
14#include <string>
15
20
21struct BlenderRNA;
22struct FunctionRNA;
23struct ID;
24struct Main;
25struct ParameterList;
26struct PropertyRNA;
27struct ReportList;
28struct StructRNA;
29struct bContext;
30
39
41
49
50struct PointerRNA {
51 ID *owner_id = nullptr;
52 StructRNA *type = nullptr;
53 void *data = nullptr;
54
77
78 PointerRNA() = default;
79 PointerRNA(const PointerRNA &) = default;
80 PointerRNA(PointerRNA &&) = default;
81 PointerRNA &operator=(const PointerRNA &other) = default;
82 PointerRNA &operator=(PointerRNA &&other) = default;
83
90 {
91 this->ancestors.append({parent.type, parent.data});
92 }
97
99 void reset()
100 {
101 *this = {};
102 }
103
111 {
112 this->reset();
113 }
114
124 template<typename T> T *data_as() const
125 {
126 return static_cast<T *>(this->data);
127 }
128};
129
130extern const PointerRNA PointerRNA_NULL;
131
136
142 PropertyRNA *prop = nullptr;
144 int prop_index = -1;
145};
146
147/* Property */
148
158
159/* also update rna_property_subtype_unit when you change this */
161 PROP_UNIT_NONE = (0 << 16),
162 PROP_UNIT_LENGTH = (1 << 16), /* m */
163 PROP_UNIT_AREA = (2 << 16), /* m^2 */
164 PROP_UNIT_VOLUME = (3 << 16), /* m^3 */
165 PROP_UNIT_MASS = (4 << 16), /* kg */
166 PROP_UNIT_ROTATION = (5 << 16), /* radians */
167 PROP_UNIT_TIME = (6 << 16), /* frame */
168 PROP_UNIT_TIME_ABSOLUTE = (7 << 16), /* time in seconds (independent of scene) */
169 PROP_UNIT_VELOCITY = (8 << 16), /* m/s */
170 PROP_UNIT_ACCELERATION = (9 << 16), /* m/(s^2) */
171 PROP_UNIT_CAMERA = (10 << 16), /* mm */
172 PROP_UNIT_POWER = (11 << 16), /* W */
173 PROP_UNIT_TEMPERATURE = (12 << 16), /* C */
174 PROP_UNIT_WAVELENGTH = (13 << 16), /* `nm` (independent of scene). */
175 PROP_UNIT_COLOR_TEMPERATURE = (14 << 16), /* K */
176 PROP_UNIT_FREQUENCY = (15 << 16), /* Hz */
177};
179
180
205
206#define RNA_SUBTYPE_UNIT(subtype) ((subtype) & 0x00FF0000)
207#define RNA_SUBTYPE_VALUE(subtype) ((subtype) & ~0x00FF0000)
208#define RNA_SUBTYPE_UNIT_VALUE(subtype) ((subtype) >> 16)
209
210#define RNA_ENUM_BITFLAG_SIZE 32
211
212#define RNA_TRANSLATION_PREC_DEFAULT 5
213
214#define RNA_STACK_ARRAY 32
215
282
283/* Make sure enums are updated with these */
284/* HIGHEST FLAG IN USE: 1u << 31
285 * FREE FLAGS: 13. */
292 PROP_EDITABLE = (1 << 0),
305 PROP_ANIMATABLE = (1 << 1),
313
314 /* icon */
317
324 PROP_HIDDEN = (1 << 19),
330 PROP_SKIP_SAVE = (1 << 28),
331
332 /* numbers */
333
335 PROP_PROPORTIONAL = (1 << 26),
336
337 /* pointers */
339
351 PROP_NEVER_NULL = (1 << 18),
358 PROP_NEVER_UNLINK = (1 << 25),
359
370
378 PROP_ENUM_FLAG = (1 << 21),
379
380 /* need context for update function */
383
384 /* registering */
385 PROP_REGISTER = (1 << 4),
387
397 PROP_THICK_WRAP = (1 << 23),
398
400 PROP_IDPROPERTY = (1 << 10),
402 PROP_DYNAMIC = (1 << 17),
407
414
420
431
444
446 PROP_SKIP_PRESET = (1 << 11),
447};
449
450
460
470
478
490
491 /*** Collections-related ***/
492
495
503};
505
511 PARM_REQUIRED = (1 << 0),
512 PARM_OUTPUT = (1 << 1),
513 PARM_RNAPTR = (1 << 2),
524};
526
528struct Link;
529using IteratorSkipFunc = bool (*)(CollectionPropertyIterator *iter, void *data);
530
536
538 char *ptr;
540 char *endptr;
542 void *free_ptr;
544
550
557};
558
560 void *ptr;
561 int item;
562};
563
565 /* internal */
569 union {
570 /* Keep biggest object first in the union, for zero-initialization to work properly. */
574 void *custom;
577 int level;
578
579 /* external */
581 bool valid;
582};
583
587
602
609
616 int value;
623 const char *identifier;
625 int icon;
627 const char *name;
629 const char *description;
630};
631
639#define RNA_ENUM_ITEM_HEADING(name, description) \
640 { \
641 0, "", 0, name, description \
642 }
643
645#define RNA_ENUM_ITEM_SEPR \
646 { \
647 0, "", 0, NULL, NULL \
648 }
649
651#define RNA_ENUM_ITEM_SEPR_COLUMN RNA_ENUM_ITEM_HEADING("", NULL)
652
653/* extended versions with PropertyRNA argument */
655using BooleanPropertySetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, bool value);
656using BooleanArrayPropertyGetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, bool *values);
658 PropertyRNA *prop,
659 const bool *values);
661using IntPropertySetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, int value);
662using IntArrayPropertyGetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, int *values);
663using IntArrayPropertySetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, const int *values);
665 void (*)(PointerRNA *ptr, PropertyRNA *prop, int *min, int *max, int *softmin, int *softmax);
667using FloatPropertySetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, float value);
668using FloatArrayPropertyGetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, float *values);
670 PropertyRNA *prop,
671 const float *values);
672using FloatPropertyRangeFunc = void (*)(
673 PointerRNA *ptr, PropertyRNA *prop, float *min, float *max, float *softmin, float *softmax);
674using StringPropertyGetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, char *value);
676using StringPropertySetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, const char *value);
677
680 std::string text;
682 std::optional<std::string> info;
683 /* Optional icon instead of #ICON_NONE. */
684 std::optional<int> icon_id;
685};
686
704
705
716 void (*)(const bContext *C,
718 PropertyRNA *prop,
719 const char *edit_text,
721
726using StringPropertyPathFilterFunc = std::optional<std::string> (*)(const bContext *C,
728 PropertyRNA *prop);
729
731using EnumPropertySetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, int value);
732/* same as PropEnumItemFunc */
735 PropertyRNA *prop,
736 bool *r_free);
737
738struct PropertyRNA;
739
740/* Parameter List */
741
744 void *data;
745
748
751
753};
754
757 // PointerRNA funcptr; /* UNUSED */
758 void *data;
760
762 bool valid;
763};
764
768 intptr_t array_tot;
769 void *array;
770};
771
772/* Function */
773
792 FUNC_USE_SELF_ID = (1 << 11),
793
798 FUNC_NO_SELF = (1 << 0),
801
802 /* Pass Main, bContext and/or ReportList. */
803 FUNC_USE_MAIN = (1 << 2),
806
807 /***** Registering of Python subclasses. *****/
812 FUNC_REGISTER = (1 << 5),
820 FUNC_ALLOW_WRITE = (1 << 12),
821
822 /***** Internal flags. *****/
824 FUNC_BUILTIN = (1 << 7),
826 FUNC_EXPORT = (1 << 8),
828 FUNC_RUNTIME = (1 << 9),
834};
835
837
838struct FunctionRNA;
839
840/* Struct */
841
844 STRUCT_ID = (1 << 0),
847 STRUCT_UNDO = (1 << 2),
848
849 /* internal flags */
850 STRUCT_RUNTIME = (1 << 3),
851 /* STRUCT_GENERATED = (1 << 4), */ /* UNUSED */
869};
870
871using StructValidateFunc = int (*)(PointerRNA *ptr, void *data, bool *have_function);
874 FunctionRNA *func,
875 ParameterList *list);
876using StructFreeFunc = void (*)(void *data);
879 void *data,
880 const char *identifier,
881 StructValidateFunc validate,
885using StructUnregisterFunc = bool (*)(Main *bmain, StructRNA *type);
886using StructInstanceFunc = void **(*)(PointerRNA *ptr);
887
888struct StructRNA;
889
895struct BlenderRNA;
896
913
914/* Primitive types. */
915
917 const char *value;
918};
919
921 int value;
922};
923
925 float value;
926};
927
929 bool value;
930};
931
932#endif /* __RNA_TYPES_H__ */
void BLI_kdtree_nd_ free(KDTree *tree)
#define ENUM_OPERATORS(_type, _max)
ParameterFlag
Definition RNA_types.hh:510
@ PARM_PYFUNC_REGISTER_OPTIONAL
Definition RNA_types.hh:523
@ PARM_RNAPTR
Definition RNA_types.hh:513
@ PARM_REQUIRED
Definition RNA_types.hh:511
@ PARM_OUTPUT
Definition RNA_types.hh:512
int(*)(PointerRNA *ptr, PropertyRNA *prop) EnumPropertyGetFunc
Definition RNA_types.hh:730
bool(*)(CollectionPropertyIterator *iter, void *data) IteratorSkipFunc
Definition RNA_types.hh:529
std::optional< std::string >(*)(const bContext *C, PointerRNA *ptr, PropertyRNA *prop) StringPropertyPathFilterFunc
Definition RNA_types.hh:726
void(*)(PointerRNA *ptr, PropertyRNA *prop, char *value) StringPropertyGetFunc
Definition RNA_types.hh:674
void(*)(PointerRNA *ptr, PropertyRNA *prop, bool *values) BooleanArrayPropertyGetFunc
Definition RNA_types.hh:656
PropertyScaleType
Definition RNA_types.hh:191
@ PROP_SCALE_LOG
Definition RNA_types.hh:198
@ PROP_SCALE_LINEAR
Definition RNA_types.hh:193
@ PROP_SCALE_CUBIC
Definition RNA_types.hh:203
void(*)(PointerRNA *ptr, PropertyRNA *prop, const bool *values) BooleanArrayPropertySetFunc
Definition RNA_types.hh:657
constexpr int64_t ANCESTOR_POINTERRNA_DEFAULT_SIZE
Definition RNA_types.hh:40
FunctionFlag
Definition RNA_types.hh:787
@ FUNC_USE_REPORTS
Definition RNA_types.hh:805
@ FUNC_USE_SELF_TYPE
Definition RNA_types.hh:800
@ FUNC_BUILTIN
Definition RNA_types.hh:824
@ FUNC_FREE_POINTERS
Definition RNA_types.hh:833
@ FUNC_NO_SELF
Definition RNA_types.hh:798
@ FUNC_REGISTER
Definition RNA_types.hh:812
@ FUNC_USE_MAIN
Definition RNA_types.hh:803
@ FUNC_EXPORT
Definition RNA_types.hh:826
@ FUNC_RUNTIME
Definition RNA_types.hh:828
@ FUNC_USE_CONTEXT
Definition RNA_types.hh:804
@ FUNC_USE_SELF_ID
Definition RNA_types.hh:792
@ FUNC_REGISTER_OPTIONAL
Definition RNA_types.hh:814
@ FUNC_ALLOW_WRITE
Definition RNA_types.hh:820
int(*)(PointerRNA *ptr, PropertyRNA *prop) StringPropertyLengthFunc
Definition RNA_types.hh:675
StructFlag
Definition RNA_types.hh:842
@ STRUCT_ID_REFCOUNT
Definition RNA_types.hh:845
@ STRUCT_RUNTIME
Definition RNA_types.hh:850
@ STRUCT_FREE_POINTERS
Definition RNA_types.hh:852
@ STRUCT_NO_CONTEXT_WITHOUT_OWNER_ID
Definition RNA_types.hh:868
@ STRUCT_PUBLIC_NAMESPACE
Definition RNA_types.hh:860
@ STRUCT_ID
Definition RNA_types.hh:844
@ STRUCT_NO_DATABLOCK_IDPROPERTIES
Definition RNA_types.hh:856
@ STRUCT_CONTAINS_DATABLOCK_IDPROPERTIES
Definition RNA_types.hh:858
@ STRUCT_NO_IDPROPERTIES
Definition RNA_types.hh:854
@ STRUCT_PUBLIC_NAMESPACE_INHERIT
Definition RNA_types.hh:862
@ STRUCT_UNDO
Definition RNA_types.hh:847
void(*)(PointerRNA *ptr, PropertyRNA *prop, float *values) FloatArrayPropertyGetFunc
Definition RNA_types.hh:668
void(*)(PointerRNA *ptr, PropertyRNA *prop, const char *value) StringPropertySetFunc
Definition RNA_types.hh:676
eStringPropertySearchFlag
Definition RNA_types.hh:687
@ PROP_STRING_SEARCH_SUGGESTION
Definition RNA_types.hh:701
@ PROP_STRING_SEARCH_SORT
Definition RNA_types.hh:694
@ PROP_STRING_SEARCH_SUPPORTED
Definition RNA_types.hh:692
void(*)(PointerRNA *ptr, PropertyRNA *prop, int *values) IntArrayPropertyGetFunc
Definition RNA_types.hh:662
int(*)(PointerRNA *ptr, void *data, bool *have_function) StructValidateFunc
Definition RNA_types.hh:871
void(*)(PointerRNA *ptr, PropertyRNA *prop, int value) EnumPropertySetFunc
Definition RNA_types.hh:731
void(*)(PointerRNA *ptr, PropertyRNA *prop, const int *values) IntArrayPropertySetFunc
Definition RNA_types.hh:663
PropertyType
Definition RNA_types.hh:149
@ PROP_FLOAT
Definition RNA_types.hh:152
@ PROP_BOOLEAN
Definition RNA_types.hh:150
@ PROP_ENUM
Definition RNA_types.hh:154
@ PROP_INT
Definition RNA_types.hh:151
@ PROP_STRING
Definition RNA_types.hh:153
@ PROP_POINTER
Definition RNA_types.hh:155
@ PROP_COLLECTION
Definition RNA_types.hh:156
void(*)(PointerRNA *ptr, PropertyRNA *prop, int *min, int *max, int *softmin, int *softmax) IntPropertyRangeFunc
Definition RNA_types.hh:664
bool(*)(Main *bmain, StructRNA *type) StructUnregisterFunc
Definition RNA_types.hh:885
void(*)(const bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *edit_text, blender::FunctionRef< void(StringPropertySearchVisitParams)> visit_fn) StringPropertySearchFunc
Definition RNA_types.hh:715
void(*)(void *data) StructFreeFunc
Definition RNA_types.hh:876
bool(*)(PointerRNA *ptr, PropertyRNA *prop) BooleanPropertyGetFunc
Definition RNA_types.hh:654
void **(*)(PointerRNA *ptr) StructInstanceFunc
Definition RNA_types.hh:886
PropertyUnit
Definition RNA_types.hh:160
@ PROP_UNIT_VOLUME
Definition RNA_types.hh:164
@ PROP_UNIT_POWER
Definition RNA_types.hh:172
@ PROP_UNIT_ROTATION
Definition RNA_types.hh:166
@ PROP_UNIT_FREQUENCY
Definition RNA_types.hh:176
@ PROP_UNIT_WAVELENGTH
Definition RNA_types.hh:174
@ PROP_UNIT_VELOCITY
Definition RNA_types.hh:169
@ PROP_UNIT_LENGTH
Definition RNA_types.hh:162
@ PROP_UNIT_NONE
Definition RNA_types.hh:161
@ PROP_UNIT_ACCELERATION
Definition RNA_types.hh:170
@ PROP_UNIT_AREA
Definition RNA_types.hh:163
@ PROP_UNIT_TIME
Definition RNA_types.hh:167
@ PROP_UNIT_CAMERA
Definition RNA_types.hh:171
@ PROP_UNIT_TEMPERATURE
Definition RNA_types.hh:173
@ PROP_UNIT_MASS
Definition RNA_types.hh:165
@ PROP_UNIT_TIME_ABSOLUTE
Definition RNA_types.hh:168
@ PROP_UNIT_COLOR_TEMPERATURE
Definition RNA_types.hh:175
StructRNA *(*)(Main *bmain, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free) StructRegisterFunc
Definition RNA_types.hh:877
int(*)(bContext *C, PointerRNA *ptr, FunctionRNA *func, ParameterList *list) StructCallbackFunc
Definition RNA_types.hh:872
float(*)(PointerRNA *ptr, PropertyRNA *prop) FloatPropertyGetFunc
Definition RNA_types.hh:666
int(*)(PointerRNA *ptr, PropertyRNA *prop) IntPropertyGetFunc
Definition RNA_types.hh:660
void(*)(PointerRNA *ptr, PropertyRNA *prop, float value) FloatPropertySetFunc
Definition RNA_types.hh:667
PropertyOverrideFlag
Definition RNA_types.hh:467
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
Definition RNA_types.hh:469
@ PROPOVERRIDE_NO_COMPARISON
Definition RNA_types.hh:477
@ PROPOVERRIDE_IGNORE
Definition RNA_types.hh:489
@ PROPOVERRIDE_LIBRARY_INSERTION
Definition RNA_types.hh:494
@ PROPOVERRIDE_NO_PROP_NAME
Definition RNA_types.hh:502
void(*)( PointerRNA *ptr, PropertyRNA *prop, float *min, float *max, float *softmin, float *softmax) FloatPropertyRangeFunc
Definition RNA_types.hh:672
PropertyPathTemplateType
Definition RNA_types.hh:456
@ PROP_VARIABLES_RENDER_OUTPUT
Definition RNA_types.hh:458
@ PROP_VARIABLES_NONE
Definition RNA_types.hh:457
void(*)(PointerRNA *ptr, PropertyRNA *prop, int value) IntPropertySetFunc
Definition RNA_types.hh:661
void(*)(bContext *C, ReportList *reports, PointerRNA *ptr, ParameterList *parms) CallFunc
Definition RNA_types.hh:836
RawPropertyType
Definition RNA_types.hh:588
@ PROP_RAW_INT8
Definition RNA_types.hh:600
@ PROP_RAW_UINT64
Definition RNA_types.hh:599
@ PROP_RAW_INT
Definition RNA_types.hh:590
@ PROP_RAW_INT64
Definition RNA_types.hh:598
@ PROP_RAW_UNSET
Definition RNA_types.hh:589
@ PROP_RAW_BOOLEAN
Definition RNA_types.hh:593
@ PROP_RAW_CHAR
Definition RNA_types.hh:592
@ PROP_RAW_FLOAT
Definition RNA_types.hh:595
@ PROP_RAW_DOUBLE
Definition RNA_types.hh:594
@ PROP_RAW_UINT8
Definition RNA_types.hh:596
@ PROP_RAW_UINT16
Definition RNA_types.hh:597
@ PROP_RAW_SHORT
Definition RNA_types.hh:591
PropertyFlag
Definition RNA_types.hh:286
@ PROP_THICK_WRAP
Definition RNA_types.hh:397
@ PROP_PATH_OUTPUT
Definition RNA_types.hh:425
@ PROP_DYNAMIC
Definition RNA_types.hh:402
@ PROP_CONTEXT_UPDATE
Definition RNA_types.hh:381
@ PROP_ANIMATABLE
Definition RNA_types.hh:305
@ PROP_PROPORTIONAL
Definition RNA_types.hh:335
@ PROP_PATH_SUPPORTS_BLEND_RELATIVE
Definition RNA_types.hh:430
@ PROP_NEVER_UNLINK
Definition RNA_types.hh:358
@ PROP_EDITABLE
Definition RNA_types.hh:292
@ PROP_ENUM_FLAG
Definition RNA_types.hh:378
@ PROP_LIB_EXCEPTION
Definition RNA_types.hh:298
@ PROP_CONTEXT_PROPERTY_UPDATE
Definition RNA_types.hh:382
@ PROP_REGISTER_OPTIONAL
Definition RNA_types.hh:386
@ PROP_ENUM_NO_CONTEXT
Definition RNA_types.hh:404
@ PROP_NEVER_NULL
Definition RNA_types.hh:351
@ PROP_NO_DEG_UPDATE
Definition RNA_types.hh:413
@ PROP_ICONS_CONSECUTIVE
Definition RNA_types.hh:315
@ PROP_ENUM_NO_TRANSLATE
Definition RNA_types.hh:406
@ PROP_PATH_SUPPORTS_TEMPLATES
Definition RNA_types.hh:443
@ PROP_REGISTER
Definition RNA_types.hh:385
@ PROP_PTR_NO_OWNERSHIP
Definition RNA_types.hh:369
@ PROP_ICONS_REVERSE
Definition RNA_types.hh:316
@ PROP_DEG_SYNC_ONLY
Definition RNA_types.hh:419
@ PROP_SKIP_SAVE
Definition RNA_types.hh:330
@ PROP_ID_SELF_CHECK
Definition RNA_types.hh:344
@ PROP_SKIP_PRESET
Definition RNA_types.hh:446
@ PROP_TEXTEDIT_UPDATE
Definition RNA_types.hh:312
@ PROP_HIDDEN
Definition RNA_types.hh:324
@ PROP_ID_REFCOUNT
Definition RNA_types.hh:338
@ PROP_IDPROPERTY
Definition RNA_types.hh:400
const EnumPropertyItem *(*)(bContext *C, PointerRNA *ptr, PropertyRNA *prop, bool *r_free) EnumPropertyItemFunc
Definition RNA_types.hh:733
void(*)(PointerRNA *ptr, PropertyRNA *prop, bool value) BooleanPropertySetFunc
Definition RNA_types.hh:655
void(*)(PointerRNA *ptr, PropertyRNA *prop, const float *values) FloatArrayPropertySetFunc
Definition RNA_types.hh:669
PropertySubType
Definition RNA_types.hh:220
@ PROP_TIME
Definition RNA_types.hh:241
@ PROP_MATRIX
Definition RNA_types.hh:253
@ PROP_DIRECTION
Definition RNA_types.hh:250
@ PROP_XYZ
Definition RNA_types.hh:257
@ PROP_DISTANCE
Definition RNA_types.hh:244
@ PROP_ACCELERATION
Definition RNA_types.hh:252
@ PROP_TEMPERATURE
Definition RNA_types.hh:272
@ PROP_BYTESTRING
Definition RNA_types.hh:228
@ PROP_POWER
Definition RNA_types.hh:269
@ PROP_LAYER_MEMBER
Definition RNA_types.hh:266
@ PROP_FILENAME
Definition RNA_types.hh:226
@ PROP_PASSWORD
Definition RNA_types.hh:231
@ PROP_COLOR
Definition RNA_types.hh:248
@ PROP_PIXEL
Definition RNA_types.hh:236
@ PROP_ANGLE
Definition RNA_types.hh:240
@ PROP_TIME_ABSOLUTE
Definition RNA_types.hh:242
@ PROP_DISTANCE_CAMERA
Definition RNA_types.hh:245
@ PROP_AXISANGLE
Definition RNA_types.hh:256
@ PROP_EULER
Definition RNA_types.hh:254
@ PROP_COORDS
Definition RNA_types.hh:262
@ PROP_COLOR_TEMPERATURE
Definition RNA_types.hh:278
@ PROP_NONE
Definition RNA_types.hh:221
@ PROP_DIRPATH
Definition RNA_types.hh:225
@ PROP_PERCENTAGE
Definition RNA_types.hh:238
@ PROP_FREQUENCY
Definition RNA_types.hh:280
@ PROP_FACTOR
Definition RNA_types.hh:239
@ PROP_COLOR_GAMMA
Definition RNA_types.hh:260
@ PROP_TRANSLATION
Definition RNA_types.hh:249
@ PROP_XYZ_LENGTH
Definition RNA_types.hh:258
@ PROP_UNSIGNED
Definition RNA_types.hh:237
@ PROP_LAYER
Definition RNA_types.hh:265
@ PROP_QUATERNION
Definition RNA_types.hh:255
@ PROP_FILEPATH
Definition RNA_types.hh:224
@ PROP_VELOCITY
Definition RNA_types.hh:251
@ PROP_WAVELENGTH
Definition RNA_types.hh:275
#define C
Definition RandGen.cpp:29
ReportList * reports
Definition WM_types.hh:1025
BMesh const char void * data
long long int int64_t
void append(const T &value)
#define T
const PointerRNA PointerRNA_NULL
#define min(a, b)
Definition sort.cc:36
StructRNA * type
Definition RNA_types.hh:36
void * free_ptr
Definition RNA_types.hh:542
IteratorSkipFunc skip
Definition RNA_types.hh:556
ListBaseIterator listbase
Definition RNA_types.hh:572
union CollectionPropertyIterator::@277172262001176145116102322066145204253046376362 internal
blender::Vector< PointerRNA > items
Definition RNA_types.hh:585
const char * identifier
Definition RNA_types.hh:623
const char * name
Definition RNA_types.hh:627
const char * description
Definition RNA_types.hh:629
StructRNA * srna
Definition RNA_types.hh:909
StructCallbackFunc call
Definition RNA_types.hh:910
StructFreeFunc free
Definition RNA_types.hh:911
const char * identifier
Definition DNA_ID.h:404
IteratorSkipFunc skip
Definition RNA_types.hh:534
ParameterList * parms
Definition RNA_types.hh:756
PropertyRNA * parm
Definition RNA_types.hh:761
FunctionRNA * func
Definition RNA_types.hh:747
PointerRNA ptr
Definition RNA_types.hh:141
PropertyRNA * prop
Definition RNA_types.hh:142
T * data_as() const
Definition RNA_types.hh:124
PointerRNA(ID *owner_id, StructRNA *type, void *data)
Definition RNA_types.hh:84
void reset()
Definition RNA_types.hh:99
ID * owner_id
Definition RNA_types.hh:51
PointerRNA(PointerRNA &&)=default
PointerRNA()=default
void invalidate()
Definition RNA_types.hh:110
StructRNA * type
Definition RNA_types.hh:52
blender::Vector< AncestorPointerRNA, ANCESTOR_POINTERRNA_DEFAULT_SIZE > ancestors
Definition RNA_types.hh:76
void * data
Definition RNA_types.hh:53
PointerRNA(const PointerRNA &)=default
PointerRNA(ID *owner_id, StructRNA *type, void *data, const PointerRNA &parent)
Definition RNA_types.hh:88
PointerRNA & operator=(const PointerRNA &other)=default
PointerRNA(ID *owner_id, StructRNA *type, void *data, blender::Span< AncestorPointerRNA > parents)
Definition RNA_types.hh:93
PointerRNA & operator=(PointerRNA &&other)=default
const char * value
Definition RNA_types.hh:917
PropertyRNA * prop
Definition RNA_types.hh:134
RawPropertyType type
Definition RNA_types.hh:605
void * array
Definition RNA_types.hh:604
std::optional< int > icon_id
Definition RNA_types.hh:684
std::optional< std::string > info
Definition RNA_types.hh:682
max
Definition text_draw.cc:251
PointerRNA * ptr
Definition wm_files.cc:4226