Blender V4.5
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 "BLI_compiler_attrs.h"
12
13#include "rna_internal_types.hh"
14
15#include "UI_resources.hh" /* IWYU pragma: export */
16
17#define RNA_MAGIC ((int)~0)
18
19enum class AttributeOwnerType;
20
22struct ID;
23struct IDProperty;
24struct FreestyleLineSet;
26struct Main;
27struct MTex;
28struct Object;
29struct ReportList;
30struct SDNA;
31struct ViewLayer;
32
33/* Data structures used during define */
34
41
44
46 const char *srna;
47 const char *call;
48 const char *gencall;
49};
50
53
56
57 /* struct */
58 const char *dnastructname;
59 const char *dnastructfromname;
60 const char *dnastructfromprop;
61
62 /* property */
63 const char *dnaname;
64 const char *dnatype;
72
73 /* for finding length of array collections */
75 const char *dnalengthname;
77
80
81 /* not to be confused with PROP_ENUM_FLAG
82 * this only allows one of the flags to be set at a time, clearing all others */
84};
85
88
90 const char *filename;
91
92 const char *dnaname;
93
94 /* for derived structs to find data in some property */
95 const char *dnafromname;
96 const char *dnafromprop;
97
99};
100
103 void *mem;
104};
105
107 struct SDNA *sdna;
111 bool error;
112 bool silent;
114 bool verify;
118
119 /* Keep last. */
120#ifndef RNA_RUNTIME
121 struct {
123 struct {
125 const char *updatefunc;
126 } property_update;
128#endif
129};
130
131extern BlenderDefRNA DefRNA;
132
133/* Define functions for all types */
134#ifndef __RNA_ACCESS_H__
136#endif
137
138void RNA_def_ID(BlenderRNA *brna);
139void RNA_def_action(BlenderRNA *brna);
140void RNA_def_animation(BlenderRNA *brna);
141void RNA_def_animviz(BlenderRNA *brna);
142void RNA_def_armature(BlenderRNA *brna);
143void RNA_def_attribute(BlenderRNA *brna);
144void RNA_def_asset(BlenderRNA *brna);
145void RNA_def_boid(BlenderRNA *brna);
146void RNA_def_brush(BlenderRNA *brna);
147void RNA_def_cachefile(BlenderRNA *brna);
148void RNA_def_camera(BlenderRNA *brna);
149void RNA_def_cloth(BlenderRNA *brna);
151void RNA_def_color(BlenderRNA *brna);
153void RNA_def_context(BlenderRNA *brna);
154void RNA_def_curve(BlenderRNA *brna);
155void RNA_def_depsgraph(BlenderRNA *brna);
157void RNA_def_fcurve(BlenderRNA *brna);
160void RNA_def_shader_fx(BlenderRNA *brna);
161void RNA_def_curves(BlenderRNA *brna);
162void RNA_def_image(BlenderRNA *brna);
163void RNA_def_key(BlenderRNA *brna);
164void RNA_def_light(BlenderRNA *brna);
165void RNA_def_lattice(BlenderRNA *brna);
166void RNA_def_linestyle(BlenderRNA *brna);
168void RNA_def_main(BlenderRNA *brna);
169void RNA_def_material(BlenderRNA *brna);
170void RNA_def_mesh(BlenderRNA *brna);
171void RNA_def_meta(BlenderRNA *brna);
172void RNA_def_modifier(BlenderRNA *brna);
173void RNA_def_nla(BlenderRNA *brna);
174void RNA_def_nodetree(BlenderRNA *brna);
177void RNA_def_object(BlenderRNA *brna);
180void RNA_def_palette(BlenderRNA *brna);
181void RNA_def_particle(BlenderRNA *brna);
183void RNA_def_pose(BlenderRNA *brna);
184void RNA_def_profile(BlenderRNA *brna);
186void RNA_def_render(BlenderRNA *brna);
187void RNA_def_rigidbody(BlenderRNA *brna);
188void RNA_def_rna(BlenderRNA *brna);
189void RNA_def_scene(BlenderRNA *brna);
192void RNA_def_screen(BlenderRNA *brna);
194void RNA_def_sequencer(BlenderRNA *brna);
195void RNA_def_fluid(BlenderRNA *brna);
196void RNA_def_space(BlenderRNA *brna);
197void RNA_def_speaker(BlenderRNA *brna);
198void RNA_def_test(BlenderRNA *brna);
199void RNA_def_text(BlenderRNA *brna);
200void RNA_def_texture(BlenderRNA *brna);
202void RNA_def_sound(BlenderRNA *brna);
203void RNA_def_ui(BlenderRNA *brna);
204void RNA_def_usd(BlenderRNA *brna);
205void RNA_def_userdef(BlenderRNA *brna);
206void RNA_def_vfont(BlenderRNA *brna);
207void RNA_def_volume(BlenderRNA *brna);
208void RNA_def_wm(BlenderRNA *brna);
209void RNA_def_wm_gizmo(BlenderRNA *brna);
210void RNA_def_workspace(BlenderRNA *brna);
211void RNA_def_world(BlenderRNA *brna);
212void RNA_def_movieclip(BlenderRNA *brna);
213void RNA_def_tracking(BlenderRNA *brna);
214void RNA_def_mask(BlenderRNA *brna);
215void RNA_def_xr(BlenderRNA *brna);
216
217/* Common Define functions */
218
220
226
231
233
235
238
240
244void rna_def_bone_curved_common(StructRNA *srna, bool is_posebone, bool is_editbone);
245
246void rna_def_texmat_common(StructRNA *srna, const char *texspace_editable);
248 StructRNA *srna,
249 const char *begin,
250 const char *activeget,
251 const char *activeset,
252 const char *activeeditable,
253 const char *name,
254 const char *name_slots,
255 const char *update,
256 const char *update_index);
258void rna_def_view_layer_common(BlenderRNA *brna, StructRNA *srna, bool scene);
259
260int rna_AssetMetaData_editable(const PointerRNA *ptr, const char **r_info);
265 const char *get,
266 const char *set);
269 PropertyRNA *prop,
270 bool *r_free);
271
275void rna_def_actionbone_group_common(StructRNA *srna, int update_flag, const char *update_cb);
278
279void rna_ID_name_get(PointerRNA *ptr, char *value);
281void rna_ID_name_set(PointerRNA *ptr, const char *value);
290 void *data,
291 const char *identifier,
292 StructValidateFunc validate,
296
297void rna_object_vgroup_name_index_get(PointerRNA *ptr, char *value, int index);
299void rna_object_vgroup_name_index_set(PointerRNA *ptr, const char *value, short *index);
301 const char *value,
302 char *result,
303 int result_maxncpy);
305 const char *value,
306 char *result,
307 int result_maxncpy);
309 const char *value,
310 char *result,
311 int result_maxncpy);
313int rna_object_shapekey_index_set(ID *id, PointerRNA value, int current);
314
316 int noteflag,
317 const char *update_func);
318int rna_object_type_visibility_icon_get_common(int object_type_exclude_viewport,
319 const int *object_type_exclude_select);
320
321/* ViewLayer related functions defined in rna_scene.cc but required in rna_layer.cc */
326 FreestyleSettings *config,
327 Main *bmain,
328 const char *name);
330 FreestyleSettings *config,
332 PointerRNA *lineset_ptr);
335 PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax);
340 FreestyleSettings *config,
342 PointerRNA *module_ptr);
343
347void rna_ViewLayer_name_set(PointerRNA *ptr, const char *value);
349void rna_ViewLayer_pass_update(Main *bmain, Scene *activescene, PointerRNA *ptr);
351 PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax);
355 PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax);
364 char *r_rna_path,
365 const size_t rna_path_buffer_size);
366
367/* named internal so as not to conflict with obj.update() rna func */
371
372/* basic poll functions for object types */
380
381/* basic poll functions for actions (to prevent actions getting set in wrong places) */
384
385/* Grease Pencil datablock polling functions - for filtering GP Object vs Annotation datablocks */
388
389std::optional<std::string> rna_TextureSlot_path(const PointerRNA *ptr);
390std::optional<std::string> rna_Node_ImageUser_path(const PointerRNA *ptr);
392 const PointerRNA *ptr);
393
394std::optional<std::string> rna_ColorManagedDisplaySettings_path(const PointerRNA *ptr);
395std::optional<std::string> rna_ColorManagedViewSettings_path(const PointerRNA *ptr);
397
398std::optional<std::string> rna_Channelbag_path(const PointerRNA *ptr);
399
400/* Node socket subtypes for group interface. */
402
403/* Set U.is_dirty and redraw. */
404
414
417 PropertyRNA *prop,
418 bool *r_free);
419
420/* API functions */
421
422void RNA_api_action(StructRNA *srna);
423void RNA_api_animdata(StructRNA *srna);
425void RNA_api_bone(StructRNA *srna);
427void RNA_api_camera(StructRNA *srna);
428void RNA_api_curve(StructRNA *srna);
429void RNA_api_curves(StructRNA *srna);
430void RNA_api_curve_nurb(StructRNA *srna);
431void RNA_api_fcurves(StructRNA *srna);
432void RNA_api_drivers(StructRNA *srna);
434void RNA_api_image(StructRNA *srna);
435void RNA_api_lattice(StructRNA *srna);
436void RNA_api_operator(StructRNA *srna);
437void RNA_api_macro(StructRNA *srna);
438void RNA_api_gizmo(StructRNA *srna);
439void RNA_api_gizmogroup(StructRNA *srna);
445void RNA_api_keyconfig(StructRNA *srna);
446void RNA_api_keyconfigs(StructRNA *srna);
447void RNA_api_keyingset(StructRNA *srna);
448void RNA_api_keymap(StructRNA *srna);
449void RNA_api_keymaps(StructRNA *srna);
450void RNA_api_keymapitem(StructRNA *srna);
452void RNA_api_main(StructRNA *srna);
453void RNA_api_material(StructRNA *srna);
454void RNA_api_mesh(StructRNA *srna);
455void RNA_api_meta(StructRNA *srna);
456void RNA_api_object(StructRNA *srna);
457void RNA_api_pose(StructRNA *srna);
459void RNA_api_scene(StructRNA *srna);
461void RNA_api_strip(StructRNA *srna);
462void RNA_api_text(StructRNA *srna);
463void RNA_api_ui_layout(StructRNA *srna);
464void RNA_api_window(StructRNA *srna);
465void RNA_api_wm(StructRNA *srna);
466void RNA_api_space_node(StructRNA *srna);
467void RNA_api_space_text(StructRNA *srna);
470void RNA_api_texture(StructRNA *srna);
471void RNA_api_strips(StructRNA *srna, bool metastrip);
474void RNA_api_sound(StructRNA *srna);
475void RNA_api_vfont(StructRNA *srna);
476void RNA_api_workspace(StructRNA *srna);
478
479/* main collection functions */
481void RNA_def_main_scenes(BlenderRNA *brna, PropertyRNA *cprop);
485void RNA_def_main_meshes(BlenderRNA *brna, PropertyRNA *cprop);
486void RNA_def_main_lights(BlenderRNA *brna, PropertyRNA *cprop);
490void RNA_def_main_images(BlenderRNA *brna, PropertyRNA *cprop);
492void RNA_def_main_curves(BlenderRNA *brna, PropertyRNA *cprop);
494void RNA_def_main_fonts(BlenderRNA *brna, PropertyRNA *cprop);
497void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop);
499void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop);
501void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop);
509void RNA_def_main_masks(BlenderRNA *brna, PropertyRNA *cprop);
518
519/* ID Properties */
520
521#ifndef __RNA_ACCESS_H__
524#endif
525
532
533/* Override default callbacks. */
534/* Default override callbacks for all types. */
535/* TODO: Maybe at some point we'll want to write that in direct RNA-generated code instead
536 * (like we do for default get/set/etc.)?
537 * Not obvious though, those are fairly more complicated than basic SDNA access.
538 */
540
542 PointerRNA *ptr_local,
543 PointerRNA *ptr_reference,
544 PointerRNA *ptr_storage,
545 PropertyRNA *prop_local,
546 PropertyRNA *prop_reference,
547 PropertyRNA *prop_storage,
548 int len_local,
549 int len_reference,
550 int len_storage,
552
554 RNAPropertyOverrideApplyContext &rnaapply_ctx);
555
556/* Builtin Property Callbacks */
557
563
564/* Iterators */
565
568 ListBase *lb,
569 IteratorSkipFunc skip);
574
577 void *data,
578 int itemsize,
579 int length,
580 bool free_ptr,
581 IteratorSkipFunc skip);
587 PointerRNA *ptr, StructRNA *type, void *data, int itemsize, int length, int index);
588
589/* Duplicated code since we can't link in blenlib */
590
591#ifndef RNA_RUNTIME
592void *rna_alloc_from_buffer(const char *buffer, int buffer_size);
593void *rna_calloc(int buffer_size);
594#endif
595
596void rna_addtail(ListBase *listbase, void *vlink);
597void rna_freelinkN(ListBase *listbase, void *vlink);
598void rna_freelistN(ListBase *listbase);
599PropertyDefRNA *rna_findlink(ListBase *listbase, const char *identifier);
600
605
606/* Pointer Handling */
607
615 StructRNA *type,
616 void *data,
617 PointerRNA &r_ptr);
618
619/* Functions */
620
622int rna_parameter_size_pad(const int size);
623
624/* XXX, these should not need to be defined here~! */
628
629bool rna_IDMaterials_assign_int(PointerRNA *ptr, int key, const PointerRNA *assign_ptr);
630
631std::optional<blender::StringRefNull> rna_translate_ui_text(
632 const char *text, const char *text_ctxt, StructRNA *type, PropertyRNA *prop, bool translate);
633
634/* Internal functions that cycles uses so we need to declare (not ideal!). */
635void rna_RenderPass_rect_set(PointerRNA *ptr, const float *values);
636
637#ifdef RNA_RUNTIME
638# ifdef __GNUC__
639# pragma GCC diagnostic ignored "-Wredundant-decls"
640# endif
641#endif
642
643/* C11 for compile time range checks */
644#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
645# define USE_RNA_RANGE_CHECK
646# define TYPEOF_MAX(x) \
647 _Generic((x), \
648 bool: 1, \
649 char: CHAR_MAX, \
650 signed char: SCHAR_MAX, \
651 unsigned char: UCHAR_MAX, \
652 signed short: SHRT_MAX, \
653 unsigned short: USHRT_MAX, \
654 signed int: INT_MAX, \
655 unsigned int: UINT_MAX, \
656 float: FLT_MAX, \
657 double: DBL_MAX)
658
659# define TYPEOF_MIN(x) \
660 _Generic((x), \
661 bool: 0, \
662 char: CHAR_MIN, \
663 signed char: SCHAR_MIN, \
664 unsigned char: 0, \
665 signed short: SHRT_MIN, \
666 unsigned short: 0, \
667 signed int: INT_MIN, \
668 unsigned int: 0, \
669 float: -FLT_MAX, \
670 double: -DBL_MAX)
671#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:529
int(*)(PointerRNA *ptr, void *data, bool *have_function) StructValidateFunc
Definition RNA_types.hh:871
int(*)(bContext *C, PointerRNA *ptr, FunctionRNA *func, ParameterList *list) StructCallbackFunc
Definition RNA_types.hh:872
void(*)(void *data) StructFreeFunc
Definition RNA_types.hh:876
#define C
Definition RandGen.cpp:29
ReportList * reports
Definition WM_types.hh:1025
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)
BlenderDefRNA DefRNA
Definition rna_define.cc:65
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:3735
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:3232
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:2589
bool rna_Armature_object_poll(PointerRNA *ptr, PointerRNA value)
void RNA_def_nla(BlenderRNA *brna)
Definition rna_nla.cc:1235
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:560
void RNA_def_shader_fx(BlenderRNA *brna)
void rna_Scene_render_update(Main *bmain, Scene *scene, PointerRNA *ptr)
void rna_iterator_array_begin(CollectionPropertyIterator *iter, PointerRNA *ptr, void *data, int itemsize, int length, bool free_ptr, IteratorSkipFunc skip)
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)
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_def_main_libraries(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main(BlenderRNA *brna)
Definition rna_main.cc:166
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:3406
void RNA_api_material(StructRNA *srna)
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:2707
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)
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()
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:206
IDProperty ** rna_PropertyGroup_idprops(PointerRNA *ptr)
void RNA_def_mask(BlenderRNA *brna)
Definition rna_mask.cc:1195
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:1487
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)
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:753
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:673
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:601
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:1137
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:2547
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:723
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:2546
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 BlenderDefRNA::@211202025004217043071375341112062231261230003015 fallback
struct SDNA * sdna
const char * updatefunc
ContainerRNA * cont
ListBase properties
const char * gencall
const char * srna
FunctionRNA * func
ContainerDefRNA cont
const char * call
Definition DNA_ID.h:404
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:4227