Blender V5.0
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
8
9#pragma once
10
11#include <cstdint>
12
13#include "BLI_compiler_attrs.h"
14
15#include "rna_internal_types.hh"
16
17#include "UI_resources.hh" /* IWYU pragma: export */
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
226struct IDPropertyGroup;
227IDPropertyGroup *rna_struct_system_properties_get_func(PointerRNA ptr, bool do_create);
228
230
236
241
243
245
248
250
254void rna_def_bone_curved_common(StructRNA *srna, bool is_posebone, bool is_editbone);
255
256void rna_def_texmat_common(StructRNA *srna, const char *texspace_editable);
258 StructRNA *srna,
259 const char *begin,
260 const char *activeget,
261 const char *activeset,
262 const char *activeeditable,
263 const char *name,
264 const char *name_slots,
265 const char *update,
266 const char *update_index);
268void rna_def_view_layer_common(BlenderRNA *brna, StructRNA *srna, bool scene);
269
270int rna_AssetMetaData_editable(const PointerRNA *ptr, const char **r_info);
275 const char *get,
276 const char *set);
279 PropertyRNA *prop,
280 bool *r_free);
281
285void rna_def_actionbone_group_common(StructRNA *srna, int update_flag, const char *update_cb);
288
289void rna_ID_name_get(PointerRNA *ptr, char *value);
291void rna_ID_name_set(PointerRNA *ptr, const char *value);
300 ReportList *reports,
301 void *data,
302 const char *identifier,
303 StructValidateFunc validate,
307
308void rna_object_vgroup_name_index_get(PointerRNA *ptr, char *value, int index);
310void rna_object_vgroup_name_index_set(PointerRNA *ptr, const char *value, short *index);
312 const char *value,
313 char *result,
314 int result_maxncpy);
316 const char *value,
317 char *result,
318 int result_maxncpy);
320 const char *value,
321 char *result,
322 int result_maxncpy);
324int rna_object_shapekey_index_set(ID *id, PointerRNA value, int current);
325
327 int noteflag,
328 const char *update_func);
329int rna_object_type_visibility_icon_get_common(int object_type_exclude_viewport,
330 const int *object_type_exclude_select);
331
332/* ViewLayer related functions defined in rna_scene.cc but required in rna_layer.cc */
337 FreestyleSettings *config,
338 Main *bmain,
339 const char *name);
341 FreestyleSettings *config,
342 ReportList *reports,
343 PointerRNA *lineset_ptr);
346 PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax);
351 FreestyleSettings *config,
352 ReportList *reports,
353 PointerRNA *module_ptr);
354
358void rna_ViewLayer_name_set(PointerRNA *ptr, const char *value);
360void rna_ViewLayer_pass_update(Main *bmain, Scene *activescene, PointerRNA *ptr);
362 PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax);
366 PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax);
375 char *r_rna_path,
376 const size_t rna_path_buffer_size);
377
378/* named internal so as not to conflict with obj.update() rna func */
382
383/* basic poll functions for object types */
391
392/* basic poll functions for actions (to prevent actions getting set in wrong places) */
395
396/* Grease Pencil datablock polling functions - for filtering GP Object vs Annotation datablocks */
399
400std::optional<std::string> rna_TextureSlot_path(const PointerRNA *ptr);
401std::optional<std::string> rna_Node_ImageUser_path(const PointerRNA *ptr);
403 const PointerRNA *ptr);
404
405std::optional<std::string> rna_ColorManagedDisplaySettings_path(const PointerRNA *ptr);
406std::optional<std::string> rna_ColorManagedViewSettings_path(const PointerRNA *ptr);
408
409std::optional<std::string> rna_Channelbag_path(const PointerRNA *ptr);
410
411/* Node socket subtypes for group interface. */
413
414/* Set U.is_dirty and redraw. */
415
425
428 PropertyRNA *prop,
429 bool *r_free);
430
431/* API functions */
432
433void RNA_api_action(StructRNA *srna);
434void RNA_api_animdata(StructRNA *srna);
436void RNA_api_bone(StructRNA *srna);
438void RNA_api_camera(StructRNA *srna);
439void RNA_api_curve(StructRNA *srna);
440void RNA_api_curves(StructRNA *srna);
441void RNA_api_curve_nurb(StructRNA *srna);
442void RNA_api_fcurves(StructRNA *srna);
443void RNA_api_drivers(StructRNA *srna);
445void RNA_api_image(StructRNA *srna);
446void RNA_api_lattice(StructRNA *srna);
447void RNA_api_operator(StructRNA *srna);
448void RNA_api_macro(StructRNA *srna);
449void RNA_api_gizmo(StructRNA *srna);
450void RNA_api_gizmogroup(StructRNA *srna);
456void RNA_api_keyconfig(StructRNA *srna);
457void RNA_api_keyconfigs(StructRNA *srna);
458void RNA_api_keyingset(StructRNA *srna);
459void RNA_api_keymap(StructRNA *srna);
460void RNA_api_keymaps(StructRNA *srna);
461void RNA_api_keymapitem(StructRNA *srna);
463void RNA_api_main(StructRNA *srna);
464void RNA_api_material(StructRNA *srna);
465void RNA_api_mesh(StructRNA *srna);
466void RNA_api_meta(StructRNA *srna);
467void RNA_api_object(StructRNA *srna);
468void RNA_api_pose(StructRNA *srna);
470void RNA_api_scene(StructRNA *srna);
472void RNA_api_strip(StructRNA *srna);
473void RNA_api_text(StructRNA *srna);
474void RNA_api_ui_layout(StructRNA *srna);
475void RNA_api_window(StructRNA *srna);
476void RNA_api_wm(StructRNA *srna);
477void RNA_api_space_node(StructRNA *srna);
478void RNA_api_space_text(StructRNA *srna);
481void RNA_api_texture(StructRNA *srna);
482void RNA_api_strips(StructRNA *srna, bool metastrip);
485void RNA_api_sound(StructRNA *srna);
486void RNA_api_vfont(StructRNA *srna);
487void RNA_api_workspace(StructRNA *srna);
489
490/* main collection functions */
492void RNA_def_main_scenes(BlenderRNA *brna, PropertyRNA *cprop);
496void RNA_def_main_meshes(BlenderRNA *brna, PropertyRNA *cprop);
497void RNA_def_main_lights(BlenderRNA *brna, PropertyRNA *cprop);
501void RNA_def_main_images(BlenderRNA *brna, PropertyRNA *cprop);
503void RNA_def_main_curves(BlenderRNA *brna, PropertyRNA *cprop);
505void RNA_def_main_fonts(BlenderRNA *brna, PropertyRNA *cprop);
508void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop);
510void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop);
512void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop);
520void RNA_def_main_masks(BlenderRNA *brna, PropertyRNA *cprop);
529
530/* ID Properties */
531
532#ifndef __RNA_ACCESS_H__
535#endif
536
543
544/* Override default callbacks. */
545/* Default override callbacks for all types. */
546/* TODO: Maybe at some point we'll want to write that in direct RNA-generated code instead
547 * (like we do for default get/set/etc.)?
548 * Not obvious though, those are fairly more complicated than basic SDNA access.
549 */
551
553 PointerRNA *ptr_local,
554 PointerRNA *ptr_reference,
555 PointerRNA *ptr_storage,
556 PropertyRNA *prop_local,
557 PropertyRNA *prop_reference,
558 PropertyRNA *prop_storage,
559 int len_local,
560 int len_reference,
561 int len_storage,
563
565 RNAPropertyOverrideApplyContext &rnaapply_ctx);
566
567/* Builtin Property Callbacks */
568
574
575/* Iterators */
576
579 ListBase *lb,
580 IteratorSkipFunc skip);
585
588 void *data,
589 size_t itemsize,
591 bool free_ptr,
592 IteratorSkipFunc skip);
598 PointerRNA *ptr, StructRNA *type, void *data, size_t itemsize, int64_t length, int64_t index);
599
600/* Duplicated code since we can't link in blenlib */
601
602#ifndef RNA_RUNTIME
603void *rna_alloc_from_buffer(const char *buffer, int buffer_size);
604void *rna_calloc(int buffer_size);
605#endif
606
607void rna_addtail(ListBase *listbase, void *vlink);
608void rna_freelinkN(ListBase *listbase, void *vlink);
609void rna_freelistN(ListBase *listbase);
610PropertyDefRNA *rna_findlink(ListBase *listbase, const char *identifier);
611
616
617/* Pointer Handling */
618
626 StructRNA *type,
627 void *data,
628 PointerRNA &r_ptr);
629
630/* Functions */
631
633int rna_parameter_size_pad(const int size);
634
635/* XXX, these should not need to be defined here~! */
639
640bool rna_IDMaterials_assign_int(PointerRNA *ptr, int key, const PointerRNA *assign_ptr);
641
642std::optional<blender::StringRefNull> rna_translate_ui_text(
643 const char *text, const char *text_ctxt, StructRNA *type, PropertyRNA *prop, bool translate);
644
645/* Internal functions that cycles uses so we need to declare (not ideal!). */
646void rna_RenderPass_rect_set(PointerRNA *ptr, const float *values);
647
648#ifdef RNA_RUNTIME
649# ifdef __GNUC__
650# pragma GCC diagnostic ignored "-Wredundant-decls"
651# endif
652#endif
653
654/* C11 for compile time range checks */
655#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
656# define USE_RNA_RANGE_CHECK
657# define TYPEOF_MAX(x) \
658 _Generic((x), \
659 bool: 1, \
660 char: CHAR_MAX, \
661 signed char: SCHAR_MAX, \
662 unsigned char: UCHAR_MAX, \
663 signed short: SHRT_MAX, \
664 unsigned short: USHRT_MAX, \
665 signed int: INT_MAX, \
666 unsigned int: UINT_MAX, \
667 float: FLT_MAX, \
668 double: DBL_MAX)
669
670# define TYPEOF_MIN(x) \
671 _Generic((x), \
672 bool: 0, \
673 char: CHAR_MIN, \
674 signed char: SCHAR_MIN, \
675 unsigned char: 0, \
676 signed short: SHRT_MIN, \
677 unsigned short: 0, \
678 signed int: INT_MIN, \
679 unsigned int: 0, \
680 float: -FLT_MAX, \
681 double: -DBL_MAX)
682#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:563
int(*)(PointerRNA *ptr, void *data, bool *have_function) StructValidateFunc
Definition RNA_types.hh:985
int(*)(bContext *C, PointerRNA *ptr, FunctionRNA *func, ParameterList *list) StructCallbackFunc
Definition RNA_types.hh:986
void(*)(void *data) StructFreeFunc
Definition RNA_types.hh:990
#define C
Definition RandGen.cpp:29
iter begin(iter)
BMesh const char void * data
PyObject * self
long long int int64_t
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition btDbvt.cpp:52
float length(VecOp< float, D >) RET
static void update(bNodeTree *ntree)
const char * name
BlenderDefRNA DefRNA
Definition rna_define.cc:71
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:3853
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_calloc(int buffer_size)
Definition makesrna.cc:448
void RNA_def_wm(BlenderRNA *brna)
Definition rna_wm.cc:3301
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:2403
bool rna_Armature_object_poll(PointerRNA *ptr, PointerRNA value)
void RNA_def_nla(BlenderRNA *brna)
Definition rna_nla.cc:1238
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:422
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:705
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)
std::optional< std::string > rna_Channelbag_path(const PointerRNA *ptr)
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:101
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:562
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:160
StructRNA * rna_ID_refine(PointerRNA *ptr)
void rna_object_vgroup_name_set(PointerRNA *ptr, const char *value, char *result, int result_maxncpy)
void RNA_api_strip(StructRNA *srna)
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_api_strip_retiming_keys(BlenderRNA *brna)
void RNA_def_main_meshes(BlenderRNA *brna, PropertyRNA *cprop)
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)
FunctionDefRNA * rna_find_function_def(FunctionRNA *func)
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)
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_def_main_libraries(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main(BlenderRNA *brna)
Definition rna_main.cc:269
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_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:3229
void RNA_api_material(StructRNA *srna)
PointerRNA rna_array_lookup_int(PointerRNA *ptr, StructRNA *type, void *data, size_t itemsize, int64_t length, int64_t index)
void rna_iterator_listbase_begin(CollectionPropertyIterator *iter, PointerRNA *ptr, ListBase *lb, IteratorSkipFunc skip)
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:110
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:2806
void RNA_api_text(StructRNA *srna)
void RNA_def_main_actions(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_palettes(BlenderRNA *brna, PropertyRNA *cprop)
bool rna_AttributeGroup_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
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)
IDProperty ** rna_ID_system_idprops(PointerRNA *ptr)
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)
IDPropertyGroup * rna_struct_system_properties_get_func(PointerRNA ptr, bool do_create)
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()
std::optional< std::string > rna_ColorManagedDisplaySettings_path(const PointerRNA *ptr)
void RNA_api_grease_pencil_layers(StructRNA *srna)
std::optional< std::string > rna_ColorManagedInputColorspaceSettings_path(const PointerRNA *ptr)
void RNA_def_world(BlenderRNA *brna)
Definition rna_world.cc:204
IDProperty ** rna_PropertyGroup_idprops(PointerRNA *ptr)
void RNA_def_mask(BlenderRNA *brna)
Definition rna_mask.cc:1186
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)
std::optional< blender::StringRefNull > rna_translate_ui_text(const char *text, const char *text_ctxt, StructRNA *type, PropertyRNA *prop, bool translate)
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:1560
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_iterator_array_begin(CollectionPropertyIterator *iter, PointerRNA *ptr, void *data, size_t itemsize, int64_t length, bool free_ptr, IteratorSkipFunc skip)
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)
void rna_pointer_create_with_ancestors(const PointerRNA &parent, StructRNA *type, void *data, PointerRNA &r_ptr)
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_api_strips(StructRNA *srna, bool metastrip)
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_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:717
void RNA_def_blendfile_import(BlenderRNA *brna)
void RNA_def_main_armatures(BlenderRNA *brna, PropertyRNA *cprop)
void rna_def_actionbone_group_common(StructRNA *srna, int update_flag, const char *update_cb)
Definition rna_pose.cc:710
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:51
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:607
void * rna_alloc_from_buffer(const char *buffer, int buffer_size)
Definition makesrna.cc:439
void RNA_def_object(BlenderRNA *brna)
void rna_def_animdata_common(StructRNA *srna)
void RNA_def_key(BlenderRNA *brna)
Definition rna_key.cc:1140
std::optional< std::string > rna_ColorManagedViewSettings_path(const PointerRNA *ptr)
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:2553
void RNA_def_text(BlenderRNA *brna)
Definition rna_text.cc:288
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)
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:687
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_def_ui(BlenderRNA *brna)
Definition rna_ui.cc:2567
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_api_strip_elements(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_profile(BlenderRNA *brna)
void rna_addtail(ListBase *listbase, void *vlink)
void rna_ViewLayer_pass_update(Main *bmain, Scene *activescene, PointerRNA *ptr)
#define min(a, b)
Definition sort.cc:36
AllocDefRNA * next
AllocDefRNA * prev
struct StructRNA * laststruct
struct SDNA * sdna
struct BlenderDefRNA::@015065041341302075112055220107375142105370362053 fallback
const char * updatefunc
ContainerRNA * cont
ListBase properties
const char * gencall
const char * srna
FunctionRNA * func
ContainerDefRNA cont
const char * call
Definition DNA_ID.h:414
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
max
Definition text_draw.cc:251
PointerRNA * ptr
Definition wm_files.cc:4238