Blender V4.3
rna_internal.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
9#pragma once
10
11#include "BLI_utildefines.h"
12
13#include "BLI_compiler_attrs.h"
14
15#include "rna_internal_types.hh"
16
17#include "UI_resources.hh"
18
19#define RNA_MAGIC ((int)~0)
20
21enum class AttributeOwnerType;
22
24struct ID;
25struct IDProperty;
26struct FreestyleLineSet;
28struct Main;
29struct MTex;
30struct Object;
31struct ReportList;
32struct SDNA;
33struct ViewLayer;
34
35/* Data structures used during define */
36
43
46
48 const char *srna;
49 const char *call;
50 const char *gencall;
51};
52
55
58
59 /* struct */
60 const char *dnastructname;
61 const char *dnastructfromname;
62 const char *dnastructfromprop;
63
64 /* property */
65 const char *dnaname;
66 const char *dnatype;
74
75 /* for finding length of array collections */
77 const char *dnalengthname;
79
82
83 /* not to be confused with PROP_ENUM_FLAG
84 * this only allows one of the flags to be set at a time, clearing all others */
86};
87
90
92 const char *filename;
93
94 const char *dnaname;
95
96 /* for derived structs to find data in some property */
97 const char *dnafromname;
98 const char *dnafromprop;
99
101};
102
105 void *mem;
106};
107
109 struct SDNA *sdna;
113 bool error;
114 bool silent;
116 bool verify;
120
121 /* Keep last. */
122#ifndef RNA_RUNTIME
123 struct {
125 struct {
127 const char *updatefunc;
128 } property_update;
130#endif
131};
132
133extern BlenderDefRNA DefRNA;
134
135/* Define functions for all types */
136#ifndef __RNA_ACCESS_H__
138#endif
139
140void RNA_def_ID(BlenderRNA *brna);
141void RNA_def_action(BlenderRNA *brna);
142void RNA_def_animation(BlenderRNA *brna);
143void RNA_def_animviz(BlenderRNA *brna);
144void RNA_def_armature(BlenderRNA *brna);
145void RNA_def_attribute(BlenderRNA *brna);
146void RNA_def_asset(BlenderRNA *brna);
147void RNA_def_boid(BlenderRNA *brna);
148void RNA_def_brush(BlenderRNA *brna);
149void RNA_def_cachefile(BlenderRNA *brna);
150void RNA_def_camera(BlenderRNA *brna);
151void RNA_def_cloth(BlenderRNA *brna);
153void RNA_def_color(BlenderRNA *brna);
155void RNA_def_context(BlenderRNA *brna);
156void RNA_def_curve(BlenderRNA *brna);
157void RNA_def_depsgraph(BlenderRNA *brna);
159void RNA_def_fcurve(BlenderRNA *brna);
162void RNA_def_shader_fx(BlenderRNA *brna);
163void RNA_def_curves(BlenderRNA *brna);
164void RNA_def_image(BlenderRNA *brna);
165void RNA_def_key(BlenderRNA *brna);
166void RNA_def_light(BlenderRNA *brna);
167void RNA_def_lattice(BlenderRNA *brna);
168void RNA_def_linestyle(BlenderRNA *brna);
170void RNA_def_main(BlenderRNA *brna);
171void RNA_def_material(BlenderRNA *brna);
172void RNA_def_mesh(BlenderRNA *brna);
173void RNA_def_meta(BlenderRNA *brna);
174void RNA_def_modifier(BlenderRNA *brna);
175void RNA_def_nla(BlenderRNA *brna);
176void RNA_def_nodetree(BlenderRNA *brna);
179void RNA_def_object(BlenderRNA *brna);
182void RNA_def_palette(BlenderRNA *brna);
183void RNA_def_particle(BlenderRNA *brna);
185void RNA_def_pose(BlenderRNA *brna);
186void RNA_def_profile(BlenderRNA *brna);
188void RNA_def_render(BlenderRNA *brna);
189void RNA_def_rigidbody(BlenderRNA *brna);
190void RNA_def_rna(BlenderRNA *brna);
191void RNA_def_scene(BlenderRNA *brna);
194void RNA_def_screen(BlenderRNA *brna);
196void RNA_def_sequencer(BlenderRNA *brna);
197void RNA_def_fluid(BlenderRNA *brna);
198void RNA_def_space(BlenderRNA *brna);
199void RNA_def_speaker(BlenderRNA *brna);
200void RNA_def_test(BlenderRNA *brna);
201void RNA_def_text(BlenderRNA *brna);
202void RNA_def_texture(BlenderRNA *brna);
204void RNA_def_sound(BlenderRNA *brna);
205void RNA_def_ui(BlenderRNA *brna);
206void RNA_def_usd(BlenderRNA *brna);
207void RNA_def_userdef(BlenderRNA *brna);
208void RNA_def_vfont(BlenderRNA *brna);
209void RNA_def_volume(BlenderRNA *brna);
210void RNA_def_wm(BlenderRNA *brna);
211void RNA_def_wm_gizmo(BlenderRNA *brna);
212void RNA_def_workspace(BlenderRNA *brna);
213void RNA_def_world(BlenderRNA *brna);
214void RNA_def_movieclip(BlenderRNA *brna);
215void RNA_def_tracking(BlenderRNA *brna);
216void RNA_def_mask(BlenderRNA *brna);
217void RNA_def_xr(BlenderRNA *brna);
218
219/* Common Define functions */
220
222
227
232
234
236
239
241
245void rna_def_bone_curved_common(StructRNA *srna, bool is_posebone, bool is_editbone);
246
247void rna_def_texmat_common(StructRNA *srna, const char *texspace_editable);
249 StructRNA *srna,
250 const char *begin,
251 const char *activeget,
252 const char *activeset,
253 const char *activeeditable,
254 const char *name,
255 const char *name_slots,
256 const char *update,
257 const char *update_index);
259void rna_def_view_layer_common(BlenderRNA *brna, StructRNA *srna, bool scene);
260
261int rna_AssetMetaData_editable(const PointerRNA *ptr, const char **r_info);
266 const char *get,
267 const char *set);
270 PropertyRNA *prop,
271 bool *r_free);
272
276void rna_def_actionbone_group_common(StructRNA *srna, int update_flag, const char *update_cb);
279
280void rna_ID_name_get(PointerRNA *ptr, char *value);
282void rna_ID_name_set(PointerRNA *ptr, const char *value);
290 ReportList *reports,
291 void *data,
292 const char *identifier,
293 StructValidateFunc validate,
297
298void rna_object_vgroup_name_index_get(PointerRNA *ptr, char *value, int index);
300void rna_object_vgroup_name_index_set(PointerRNA *ptr, const char *value, short *index);
302 const char *value,
303 char *result,
304 int result_maxncpy);
306 const char *value,
307 char *result,
308 int result_maxncpy);
310 const char *value,
311 char *result,
312 int result_maxncpy);
314int rna_object_shapekey_index_set(ID *id, PointerRNA value, int current);
315
317 int noteflag,
318 const char *update_func);
319int rna_object_type_visibility_icon_get_common(int object_type_exclude_viewport,
320 const int *object_type_exclude_select);
321
322/* ViewLayer related functions defined in rna_scene.cc but required in rna_layer.cc */
327 FreestyleSettings *config,
328 Main *bmain,
329 const char *name);
331 FreestyleSettings *config,
332 ReportList *reports,
333 PointerRNA *lineset_ptr);
336 PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax);
341 FreestyleSettings *config,
342 ReportList *reports,
343 PointerRNA *module_ptr);
344
348void rna_ViewLayer_name_set(PointerRNA *ptr, const char *value);
350void rna_ViewLayer_pass_update(Main *bmain, Scene *activescene, PointerRNA *ptr);
352 PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax);
356 PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax);
365 char *r_rna_path,
366 const size_t rna_path_buffer_size);
367
368/* named internal so as not to conflict with obj.update() rna func */
372
373/* basic poll functions for object types */
381
382/* basic poll functions for actions (to prevent actions getting set in wrong places) */
385
386/* Grease Pencil datablock polling functions - for filtering GP Object vs Annotation datablocks */
389
390std::optional<std::string> rna_TextureSlot_path(const PointerRNA *ptr);
391std::optional<std::string> rna_Node_ImageUser_path(const PointerRNA *ptr);
393 const PointerRNA *ptr);
394
395/* Node socket subtypes for group interface. */
397
398/* Set U.is_dirty and redraw. */
399
409
412 PropertyRNA *prop,
413 bool *r_free);
414
415/* API functions */
416
417void RNA_api_action(StructRNA *srna);
418void RNA_api_animdata(StructRNA *srna);
420void RNA_api_bone(StructRNA *srna);
422void RNA_api_camera(StructRNA *srna);
423void RNA_api_curve(StructRNA *srna);
424void RNA_api_curves(StructRNA *srna);
425void RNA_api_curve_nurb(StructRNA *srna);
426void RNA_api_fcurves(StructRNA *srna);
427void RNA_api_drivers(StructRNA *srna);
429void RNA_api_image(StructRNA *srna);
430void RNA_api_lattice(StructRNA *srna);
431void RNA_api_operator(StructRNA *srna);
432void RNA_api_macro(StructRNA *srna);
433void RNA_api_gizmo(StructRNA *srna);
434void RNA_api_gizmogroup(StructRNA *srna);
440void RNA_api_keyconfig(StructRNA *srna);
441void RNA_api_keyconfigs(StructRNA *srna);
442void RNA_api_keyingset(StructRNA *srna);
443void RNA_api_keymap(StructRNA *srna);
444void RNA_api_keymaps(StructRNA *srna);
445void RNA_api_keymapitem(StructRNA *srna);
447void RNA_api_main(StructRNA *srna);
448void RNA_api_material(StructRNA *srna);
449void RNA_api_mesh(StructRNA *srna);
450void RNA_api_meta(StructRNA *srna);
451void RNA_api_object(StructRNA *srna);
452void RNA_api_pose(StructRNA *srna);
454void RNA_api_scene(StructRNA *srna);
457void RNA_api_text(StructRNA *srna);
458void RNA_api_ui_layout(StructRNA *srna);
459void RNA_api_window(StructRNA *srna);
460void RNA_api_wm(StructRNA *srna);
461void RNA_api_space_node(StructRNA *srna);
462void RNA_api_space_text(StructRNA *srna);
465void RNA_api_texture(StructRNA *srna);
466void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop, bool metastrip);
469void RNA_api_sound(StructRNA *srna);
470void RNA_api_vfont(StructRNA *srna);
471void RNA_api_workspace(StructRNA *srna);
473
474/* main collection functions */
476void RNA_def_main_scenes(BlenderRNA *brna, PropertyRNA *cprop);
480void RNA_def_main_meshes(BlenderRNA *brna, PropertyRNA *cprop);
481void RNA_def_main_lights(BlenderRNA *brna, PropertyRNA *cprop);
485void RNA_def_main_images(BlenderRNA *brna, PropertyRNA *cprop);
487void RNA_def_main_curves(BlenderRNA *brna, PropertyRNA *cprop);
489void RNA_def_main_fonts(BlenderRNA *brna, PropertyRNA *cprop);
492void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop);
494void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop);
496void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop);
504void RNA_def_main_masks(BlenderRNA *brna, PropertyRNA *cprop);
513
514/* ID Properties */
515
516#ifndef __RNA_ACCESS_H__
519#endif
520
527
528/* Override default callbacks. */
529/* Default override callbacks for all types. */
530/* TODO: Maybe at some point we'll want to write that in direct RNA-generated code instead
531 * (like we do for default get/set/etc.)?
532 * Not obvious though, those are fairly more complicated than basic SDNA access.
533 */
535
537 PointerRNA *ptr_local,
538 PointerRNA *ptr_reference,
539 PointerRNA *ptr_storage,
540 PropertyRNA *prop_local,
541 PropertyRNA *prop_reference,
542 PropertyRNA *prop_storage,
543 int len_local,
544 int len_reference,
545 int len_storage,
547
549 RNAPropertyOverrideApplyContext &rnaapply_ctx);
550
551/* Builtin Property Callbacks */
552
558
559/* Iterators */
560
562 ListBase *lb,
563 IteratorSkipFunc skip);
568
570 void *ptr,
571 int itemsize,
572 int length,
573 bool free_ptr,
574 IteratorSkipFunc skip);
580 PointerRNA *ptr, StructRNA *type, void *data, int itemsize, int length, int index);
581
582/* Duplicated code since we can't link in blenlib */
583
584#ifndef RNA_RUNTIME
585void *rna_alloc_from_buffer(const char *buffer, int buffer_len);
586void *rna_calloc(int buffer_len);
587#endif
588
589void rna_addtail(ListBase *listbase, void *vlink);
590void rna_freelinkN(ListBase *listbase, void *vlink);
591void rna_freelistN(ListBase *listbase);
592PropertyDefRNA *rna_findlink(ListBase *listbase, const char *identifier);
593
598
599/* Pointer Handling */
600
602
603/* Functions */
604
606int rna_parameter_size_pad(const int size);
607
608/* XXX, these should not need to be defined here~! */
612
613bool rna_IDMaterials_assign_int(PointerRNA *ptr, int key, const PointerRNA *assign_ptr);
614
616 const char *text, const char *text_ctxt, StructRNA *type, PropertyRNA *prop, bool translate);
617
618/* Internal functions that cycles uses so we need to declare (not ideal!). */
619void rna_RenderPass_rect_set(PointerRNA *ptr, const float *values);
620
621#ifdef RNA_RUNTIME
622# ifdef __GNUC__
623# pragma GCC diagnostic ignored "-Wredundant-decls"
624# endif
625#endif
626
627/* C11 for compile time range checks */
628#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
629# define USE_RNA_RANGE_CHECK
630# define TYPEOF_MAX(x) \
631 _Generic((x), \
632 bool: 1, \
633 char: CHAR_MAX, \
634 signed char: SCHAR_MAX, \
635 unsigned char: UCHAR_MAX, \
636 signed short: SHRT_MAX, \
637 unsigned short: USHRT_MAX, \
638 signed int: INT_MAX, \
639 unsigned int: UINT_MAX, \
640 float: FLT_MAX, \
641 double: DBL_MAX)
642
643# define TYPEOF_MIN(x) \
644 _Generic((x), \
645 bool: 0, \
646 char: CHAR_MIN, \
647 signed char: SCHAR_MIN, \
648 unsigned char: 0, \
649 signed short: SHRT_MIN, \
650 unsigned short: 0, \
651 signed int: INT_MIN, \
652 unsigned int: 0, \
653 float: -FLT_MAX, \
654 double: -DBL_MAX)
655#endif
AttributeOwnerType
struct FreestyleSettings FreestyleSettings
#define ATTR_WARN_UNUSED_RESULT
void BLI_kdtree_nd_ free(KDTree *tree)
bool(*)(CollectionPropertyIterator *iter, void *data) IteratorSkipFunc
Definition RNA_types.hh:413
int(*)(PointerRNA *ptr, void *data, bool *have_function) StructValidateFunc
Definition RNA_types.hh:746
void(*)(void *data) StructFreeFunc
Definition RNA_types.hh:751
int(*)(bContext *C, PointerRNA *ptr, FunctionRNA *func, ParameterList *list) StructCallbackFunc
Definition RNA_types.hh:747
PyObject * self
static void update(bNodeTree *ntree)
bool rna_property_override_apply_default(Main *bmain, RNAPropertyOverrideApplyContext &rnaapply_ctx)
PointerRNA rna_listbase_lookup_int(PointerRNA *ptr, StructRNA *type, ListBase *lb, int index)
void RNA_api_armature_edit_bone(StructRNA *srna)
void RNA_def_rna(BlenderRNA *brna)
Definition rna_rna.cc:3691
void RNA_api_action(StructRNA *srna)
void RNA_api_mesh(StructRNA *srna)
void rna_Scene_use_view_map_cache_update(Main *bmain, Scene *scene, PointerRNA *ptr)
void RNA_def_wm(BlenderRNA *brna)
Definition rna_wm.cc:3072
void RNA_api_grease_pencil_drawing(StructRNA *srna)
void RNA_def_annotations(BlenderRNA *brna)
void rna_FreestyleSettings_module_remove(ID *id, FreestyleSettings *config, ReportList *reports, PointerRNA *module_ptr)
void rna_property_override_diff_default(Main *bmain, RNAPropertyOverrideDiffContext &rnadiff_ctx)
void rna_def_texmat_common(StructRNA *srna, const char *texspace_editable)
Definition rna_mesh.cc:2557
bool rna_Armature_object_poll(PointerRNA *ptr, PointerRNA value)
void RNA_def_nla(BlenderRNA *brna)
Definition rna_nla.cc:1206
void RNA_api_camera(StructRNA *srna)
void RNA_api_keymapitem(StructRNA *srna)
void RNA_def_sculpt_paint(BlenderRNA *brna)
void RNA_def_cachefile(BlenderRNA *brna)
void RNA_def_main_window_managers(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_animation(BlenderRNA *brna)
void RNA_api_gizmo(StructRNA *srna)
const EnumPropertyItem * rna_asset_library_reference_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *prop, bool *r_free)
void rna_freelinkN(ListBase *listbase, void *vlink)
void RNA_def_rigidbody(BlenderRNA *brna)
void rna_def_freestyle_settings(BlenderRNA *brna)
void RNA_def_main_curves(BlenderRNA *brna, PropertyRNA *cprop)
bool rna_GPencil_object_poll(PointerRNA *ptr, PointerRNA value)
void RNA_def_image(BlenderRNA *brna)
void rna_builtin_properties_next(CollectionPropertyIterator *iter)
void RNA_def_armature(BlenderRNA *brna)
void RNA_def_main_cameras(BlenderRNA *brna, PropertyRNA *cprop)
int rna_ID_name_length(PointerRNA *ptr)
void rna_iterator_array_end(CollectionPropertyIterator *iter)
void RNA_api_drivers(StructRNA *srna)
void RNA_def_color(BlenderRNA *brna)
void RNA_def_palette(BlenderRNA *brna)
void RNA_def_meta(BlenderRNA *brna)
Definition rna_meta.cc:425
PointerRNA rna_FreestyleSettings_active_lineset_get(PointerRNA *ptr)
void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_boid(BlenderRNA *brna)
Definition rna_boid.cc:710
const EnumPropertyItem * rna_WorkSpaceTool_brush_type_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *prop, bool *r_free)
void rna_builtin_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
void RNA_def_simulation(BlenderRNA *brna)
void rna_iterator_listbase_end(CollectionPropertyIterator *iter)
void RNA_def_sequencer(BlenderRNA *brna)
void RNA_def_depsgraph(BlenderRNA *brna)
bool rna_Light_object_poll(PointerRNA *ptr, PointerRNA value)
void rna_AttributeGroup_iterator_next(CollectionPropertyIterator *iter)
void RNA_def_lightprobe(BlenderRNA *brna)
void RNA_def_fcurve(BlenderRNA *brna)
void rna_def_object_type_visibility_flags_common(StructRNA *srna, int noteflag, const char *update_func)
void RNA_def_material(BlenderRNA *brna)
void rna_freelistN(ListBase *listbase)
void RNA_api_region_view3d(StructRNA *srna)
void RNA_api_sound(StructRNA *srna)
void rna_ID_name_get(PointerRNA *ptr, char *value)
int rna_FreestyleSettings_active_lineset_index_get(PointerRNA *ptr)
void RNA_def_main_textures(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_test(BlenderRNA *brna)
Definition rna_test.cc:103
void RNA_def_curves(BlenderRNA *brna)
int rna_ViewLayer_active_aov_index_get(PointerRNA *ptr)
void RNA_def_movieclip(BlenderRNA *brna)
void RNA_def_camera(BlenderRNA *brna)
void RNA_def_main_lightprobes(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_grease_pencil(BlenderRNA *brna, PropertyRNA *cprop)
bool rna_ActionGroup_is_custom_colorset_get(PointerRNA *ptr)
void RNA_def_main_movieclips(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_light(BlenderRNA *brna)
Definition rna_light.cc:479
void RNA_def_shader_fx(BlenderRNA *brna)
void rna_Scene_render_update(Main *bmain, Scene *scene, PointerRNA *ptr)
void rna_AttributeGroup_color_iterator_next(CollectionPropertyIterator *iter)
int rna_object_vgroup_name_index_length(PointerRNA *ptr, int index)
void RNA_def_main_screens(BlenderRNA *brna, PropertyRNA *cprop)
size_t rna_ViewLayer_path_buffer_get(const ViewLayer *view_layer, char *r_rna_path, const size_t rna_path_buffer_size)
bool rna_Lattice_object_poll(PointerRNA *ptr, PointerRNA value)
void RNA_api_window(StructRNA *srna)
void rna_RenderPass_rect_set(PointerRNA *ptr, const float *values)
void RNA_def_usd(BlenderRNA *brna)
Definition rna_usd.cc:161
StructRNA * rna_ID_refine(PointerRNA *ptr)
void rna_object_vgroup_name_set(PointerRNA *ptr, const char *value, char *result, int result_maxncpy)
void RNA_def_main_images(BlenderRNA *brna, PropertyRNA *cprop)
StructRNA * rna_PropertyGroup_refine(PointerRNA *ptr)
void RNA_def_packedfile(BlenderRNA *brna)
void RNA_def_main_volumes(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_node_groups(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_api_bone(StructRNA *srna)
void RNA_api_scene(StructRNA *srna)
void RNA_api_wm(StructRNA *srna)
BlenderRNA BLENDER_RNA
void RNA_def_cloth(BlenderRNA *brna)
std::optional< std::string > rna_TextureSlot_path(const PointerRNA *ptr)
bool rna_Action_actedit_assign_poll(PointerRNA *ptr, PointerRNA value)
void RNA_def_main_meshes(BlenderRNA *brna, PropertyRNA *cprop)
void * rna_calloc(int buffer_len)
Definition makesrna.cc:448
PointerRNA rna_builtin_properties_get(CollectionPropertyIterator *iter)
bool rna_IDMaterials_assign_int(PointerRNA *ptr, int key, const PointerRNA *assign_ptr)
void RNA_api_keyconfigs(StructRNA *srna)
void RNA_api_grease_pencil_frames(StructRNA *srna)
void RNA_api_fcurves(StructRNA *srna)
void rna_Scene_freestyle_update(Main *bmain, Scene *scene, PointerRNA *ptr)
FreestyleLineSet * rna_FreestyleSettings_lineset_add(ID *id, FreestyleSettings *config, Main *bmain, const char *name)
StructRNA RNA_PropertyGroupItem
PropertyRNA * rna_ensure_property(PropertyRNA *prop) ATTR_WARN_UNUSED_RESULT
void RNA_def_main_hair_curves(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_api_macro(StructRNA *srna)
void rna_def_animviz_common(StructRNA *srna)
void RNA_def_main_pointclouds(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_dynamic_paint(BlenderRNA *brna)
void RNA_api_sequence_retiming_keys(BlenderRNA *brna, PropertyRNA *cprop)
FunctionDefRNA * rna_find_function_def(FunctionRNA *func)
void rna_iterator_listbase_begin(CollectionPropertyIterator *iter, ListBase *lb, IteratorSkipFunc skip)
void rna_userdef_is_dirty_update(Main *bmain, Scene *scene, PointerRNA *ptr)
void RNA_api_bonecollection(StructRNA *srna)
void RNA_def_grease_pencil(BlenderRNA *brna)
void rna_Mesh_update_draw(Main *bmain, Scene *scene, PointerRNA *ptr)
PointerRNA rna_array_lookup_int(PointerRNA *ptr, StructRNA *type, void *data, int itemsize, int length, int index)
int rna_AttributeGroup_length(PointerRNA *ptr)
bool rna_Mesh_object_poll(PointerRNA *ptr, PointerRNA value)
void rna_mtex_texture_slots_clear(ID *self, bContext *C, ReportList *reports, int index)
PointerRNA rna_builtin_type_get(PointerRNA *ptr)
void ** rna_ID_instance(PointerRNA *ptr)
void RNA_def_animviz(BlenderRNA *brna)
void RNA_api_vfont(StructRNA *srna)
void * rna_alloc_from_buffer(const char *buffer, int buffer_len)
Definition makesrna.cc:439
void RNA_def_main_libraries(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main(BlenderRNA *brna)
Definition rna_main.cc:168
void rna_def_texpaint_slots(BlenderRNA *brna, StructRNA *srna)
void rna_object_uvlayer_name_set(PointerRNA *ptr, const char *value, char *result, int result_maxncpy)
void RNA_def_main_paintcurves(BlenderRNA *brna, PropertyRNA *cprop)
int rna_AttributeGroup_color_length(PointerRNA *ptr)
void rna_iterator_array_begin(CollectionPropertyIterator *iter, void *ptr, int itemsize, int length, bool free_ptr, IteratorSkipFunc skip)
void RNA_def_linestyle(BlenderRNA *brna)
bool rna_PropertyGroup_unregister(Main *bmain, StructRNA *type)
void RNA_def_brush(BlenderRNA *brna)
void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_mesh(BlenderRNA *brna)
Definition rna_mesh.cc:3352
void RNA_api_material(StructRNA *srna)
bool rna_AnimaData_override_apply(Main *bmain, RNAPropertyOverrideApplyContext &rnaapply_ctx)
void rna_ViewLayer_active_aov_index_set(PointerRNA *ptr, int value)
void RNA_def_sound(BlenderRNA *brna)
Definition rna_sound.cc:108
void RNA_def_lattice(BlenderRNA *brna)
void * rna_iterator_array_get(CollectionPropertyIterator *iter)
void RNA_def_scene(BlenderRNA *brna)
bool rna_builtin_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
void rna_FreestyleLineSet_linestyle_set(PointerRNA *ptr, PointerRNA value, ReportList *reports)
void RNA_api_pose(StructRNA *srna)
void RNA_def_main_lights(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_api_meta(StructRNA *srna)
void rna_FreestyleSettings_lineset_remove(ID *id, FreestyleSettings *config, ReportList *reports, PointerRNA *lineset_ptr)
void RNA_def_collections(BlenderRNA *brna)
void RNA_def_space(BlenderRNA *brna)
void RNA_def_ID(BlenderRNA *brna)
Definition rna_ID.cc:2696
void RNA_api_text(StructRNA *srna)
void RNA_def_main_actions(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_palettes(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_action(BlenderRNA *brna)
void RNA_def_speaker(BlenderRNA *brna)
void RNA_def_tracking(BlenderRNA *brna)
void rna_ViewLayer_active_aov_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax)
void rna_def_node_socket_interface_subtypes(BlenderRNA *brna)
void RNA_def_node_socket_subtypes(BlenderRNA *brna)
void rna_FreestyleSettings_active_lineset_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax)
int rna_object_shapekey_index_set(ID *id, PointerRNA value, int current)
void RNA_api_keymap(StructRNA *srna)
void RNA_api_scene_render(StructRNA *srna)
void RNA_api_keymapitems(StructRNA *srna)
void RNA_api_main(StructRNA *srna)
void rna_def_attributes_common(StructRNA *srna, AttributeOwnerType type)
void RNA_def_main_particles(BlenderRNA *brna, PropertyRNA *cprop)
void rna_ViewLayer_override_update(Main *bmain, Scene *activescene, PointerRNA *ptr)
void RNA_api_keyingset(StructRNA *srna)
void RNA_def_nodetree(BlenderRNA *brna)
FreestyleModuleConfig * rna_FreestyleSettings_module_add(ID *id, FreestyleSettings *config)
void RNA_api_grease_pencil_layer(StructRNA *srna)
void RNA_api_curve_nurb(StructRNA *srna)
void RNA_def_main_annotations(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_lattices(BlenderRNA *brna, PropertyRNA *cprop)
void rna_iterator_listbase_next(CollectionPropertyIterator *iter)
void RNA_def_main_masks(BlenderRNA *brna, PropertyRNA *cprop)
PointerRNA rna_FreestyleLineSet_linestyle_get(PointerRNA *ptr)
void RNA_def_particle(BlenderRNA *brna)
void RNA_api_space_filebrowser(StructRNA *srna)
void RNA_def_render(BlenderRNA *brna)
void RNA_api_curves(StructRNA *srna)
bool rna_GPencil_datablocks_obdata_poll(PointerRNA *ptr, const PointerRNA value)
void RNA_api_texture(StructRNA *srna)
void rna_object_vgroup_name_index_set(PointerRNA *ptr, const char *value, short *index)
void RNA_def_main_cachefiles(BlenderRNA *brna, PropertyRNA *cprop)
void rna_ViewLayer_name_set(PointerRNA *ptr, const char *value)
void RNA_api_image(StructRNA *srna)
void RNA_def_modifier(BlenderRNA *brna)
void RNA_api_space_node(StructRNA *srna)
void rna_userdef_is_dirty_update_impl()
void RNA_api_grease_pencil_layers(StructRNA *srna)
PointerRNA rna_pointer_inherit_refine(const PointerRNA *ptr, StructRNA *type, void *data)
void RNA_def_world(BlenderRNA *brna)
Definition rna_world.cc:211
IDProperty ** rna_PropertyGroup_idprops(PointerRNA *ptr)
void RNA_def_mask(BlenderRNA *brna)
Definition rna_mask.cc:1155
void rna_def_view_layer_common(BlenderRNA *brna, StructRNA *srna, bool scene)
StructRNA * rna_PropertyGroup_register(Main *bmain, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
PropertyDefRNA * rna_find_parameter_def(PropertyRNA *parm)
void RNA_def_workspace(BlenderRNA *brna)
void rna_ID_fake_user_set(PointerRNA *ptr, bool value)
int rna_object_type_visibility_icon_get_common(int object_type_exclude_viewport, const int *object_type_exclude_select)
void RNA_api_keymaps(StructRNA *srna)
StructRNA RNA_PropertyGroup
IDProperty * rna_idproperty_check(PropertyRNA **prop, PointerRNA *ptr) ATTR_WARN_UNUSED_RESULT
void RNA_def_main_fonts(BlenderRNA *brna, PropertyRNA *cprop)
int rna_parameter_size(PropertyRNA *parm)
void RNA_api_image_packed_file(StructRNA *srna)
void RNA_api_space_text(StructRNA *srna)
void RNA_def_pose(BlenderRNA *brna)
Definition rna_pose.cc:1472
void rna_ID_name_set(PointerRNA *ptr, const char *value)
std::optional< std::string > rna_CameraBackgroundImage_image_or_movieclip_user_path(const PointerRNA *ptr)
void RNA_def_main_metaballs(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_speakers(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_api_lattice(StructRNA *srna)
void rna_iterator_array_next(CollectionPropertyIterator *iter)
void rna_ActionGroup_colorset_set(PointerRNA *ptr, int value)
void RNA_api_gizmogroup(StructRNA *srna)
void RNA_def_node_tree_interface(BlenderRNA *brna)
void RNA_def_userdef(BlenderRNA *brna)
PointerRNA rna_object_shapekey_index_get(ID *id, int value)
bool rna_Camera_object_poll(PointerRNA *ptr, PointerRNA value)
void RNA_def_fluid(BlenderRNA *brna)
void RNA_api_workspace_tool(StructRNA *srna)
int rna_ViewLayer_active_lightgroup_index_get(PointerRNA *ptr)
BlenderDefRNA DefRNA
Definition rna_define.cc:52
void RNA_api_pose_channel(StructRNA *srna)
void RNA_def_texture(BlenderRNA *brna)
void RNA_def_main_scenes(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_collections(BlenderRNA *brna, PropertyRNA *cprop)
void rna_def_motionpath_common(StructRNA *srna)
void RNA_def_constraint(BlenderRNA *brna)
void RNA_def_wm_gizmo(BlenderRNA *brna)
bool rna_property_override_store_default(Main *bmain, PointerRNA *ptr_local, PointerRNA *ptr_reference, PointerRNA *ptr_storage, PropertyRNA *prop_local, PropertyRNA *prop_reference, PropertyRNA *prop_storage, int len_local, int len_reference, int len_storage, IDOverrideLibraryPropertyOperation *opop)
void RNA_api_grease_pencil_layer_groups(StructRNA *srna)
void RNA_def_main_materials(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_workspaces(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_api_operator(StructRNA *srna)
void * rna_iterator_array_dereference_get(CollectionPropertyIterator *iter)
void rna_ViewLayer_active_lightgroup_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax)
PointerRNA rna_AttributeGroup_color_iterator_get(CollectionPropertyIterator *iter)
void RNA_def_context(BlenderRNA *brna)
std::optional< std::string > rna_Node_ImageUser_path(const PointerRNA *ptr)
void RNA_def_attribute(BlenderRNA *brna)
void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop, bool metastrip)
void rna_def_mtex_common(BlenderRNA *brna, StructRNA *srna, const char *begin, const char *activeget, const char *activeset, const char *activeeditable, const char *name, const char *name_slots, const char *update, const char *update_index)
void rna_object_vgroup_name_index_get(PointerRNA *ptr, char *value, int index)
void RNA_api_ui_layout(StructRNA *srna)
void rna_TextureSlot_update(bContext *C, PointerRNA *ptr)
PropertyDefRNA * rna_find_struct_property_def(StructRNA *srna, PropertyRNA *prop)
void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop)
void rna_object_vcollayer_name_set(PointerRNA *ptr, const char *value, char *result, int result_maxncpy)
void api_ui_item_common_translation(FunctionRNA *func)
int rna_AssetMetaData_editable(const PointerRNA *ptr, const char **r_info)
void RNA_def_asset(BlenderRNA *brna)
Definition rna_asset.cc:750
void RNA_def_blendfile_import(BlenderRNA *brna)
void RNA_def_main_armatures(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_api_sequence_strip(StructRNA *srna)
void rna_def_actionbone_group_common(StructRNA *srna, int update_flag, const char *update_cb)
Definition rna_pose.cc:665
void * rna_iterator_listbase_get(CollectionPropertyIterator *iter)
void rna_AttributeGroup_iterator_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
void RNA_api_curve(StructRNA *srna)
void RNA_def_main_linestyles(BlenderRNA *brna, PropertyRNA *cprop)
MTex * rna_mtex_texture_slots_add(ID *self, bContext *C, ReportList *reports)
void RNA_def_pointcloud(BlenderRNA *brna)
void RNA_def_vfont(BlenderRNA *brna)
Definition rna_vfont.cc:50
void RNA_api_workspace(StructRNA *srna)
void RNA_def_main_brushes(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_view_layer(BlenderRNA *brna)
Definition rna_layer.cc:603
void RNA_def_object(BlenderRNA *brna)
void rna_def_animdata_common(StructRNA *srna)
void RNA_def_key(BlenderRNA *brna)
Definition rna_key.cc:1146
void rna_FreestyleSettings_active_lineset_index_set(PointerRNA *ptr, int value)
void RNA_def_object_force(BlenderRNA *brna)
void RNA_def_timeline_marker(BlenderRNA *brna)
void RNA_api_keyconfig(StructRNA *srna)
StructDefRNA * rna_find_struct_def(StructRNA *srna)
bool rna_Curve_object_poll(PointerRNA *ptr, PointerRNA value)
void rna_def_bone_curved_common(StructRNA *srna, bool is_posebone, bool is_editbone)
void RNA_def_xr(BlenderRNA *brna)
Definition rna_xr.cc:2552
void RNA_def_text(BlenderRNA *brna)
Definition rna_text.cc:293
void RNA_def_main_objects(BlenderRNA *brna, PropertyRNA *cprop)
MTex * rna_mtex_texture_slots_create(ID *self, bContext *C, ReportList *reports, int index)
void rna_AttributeGroup_color_iterator_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
bool rna_Action_id_poll(PointerRNA *ptr, PointerRNA value)
void RNA_def_screen(BlenderRNA *brna)
void rna_ViewLayer_active_lightgroup_index_set(PointerRNA *ptr, int value)
const char * rna_translate_ui_text(const char *text, const char *text_ctxt, StructRNA *type, PropertyRNA *prop, bool translate)
bool rna_GPencil_datablocks_annotations_poll(PointerRNA *ptr, const PointerRNA value)
void RNA_api_animdata(StructRNA *srna)
PropertyRNA * rna_def_asset_library_reference_common(StructRNA *srna, const char *get, const char *set)
Definition rna_asset.cc:720
IDProperty ** rna_ID_idprops(PointerRNA *ptr)
PropertyDefRNA * rna_findlink(ListBase *listbase, const char *identifier)
PointerRNA rna_AttributeGroup_iterator_get(CollectionPropertyIterator *iter)
void rna_Object_internal_update_data(Main *bmain, Scene *scene, PointerRNA *ptr)
void RNA_api_sequence_elements(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_ui(BlenderRNA *brna)
Definition rna_ui.cc:2515
void RNA_def_curve(BlenderRNA *brna)
int rna_parameter_size_pad(const int size)
void RNA_api_object(StructRNA *srna)
void RNA_def_volume(BlenderRNA *brna)
void RNA_def_profile(BlenderRNA *brna)
void rna_addtail(ListBase *listbase, void *vlink)
Definition rna_define.cc:90
void rna_ViewLayer_pass_update(Main *bmain, Scene *activescene, PointerRNA *ptr)
#define min(a, b)
Definition sort.c:32
__int64 int64_t
Definition stdint.h:89
AllocDefRNA * next
AllocDefRNA * prev
struct StructRNA * laststruct
struct SDNA * sdna
const char * updatefunc
struct BlenderDefRNA::@1327 fallback
ContainerRNA * cont
ListBase properties
const char * gencall
const char * srna
FunctionRNA * func
ContainerDefRNA cont
const char * call
Definition DNA_ID.h:413
ContainerRNA * cont
const char * dnatype
const char * dnaname
const char * dnastructfromprop
const char * dnastructname
const char * dnalengthstructname
const char * dnalengthname
const char * dnastructfromname
PropertyDefRNA * next
PropertyDefRNA * prev
PropertyRNA * prop
const char * dnaname
ContainerDefRNA cont
StructRNA * srna
ListBase functions
const char * filename
const char * dnafromprop
const char * dnafromname
PointerRNA * ptr
Definition wm_files.cc:4126