Blender V4.3
RNA_define.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
12
13#include <float.h>
14#include <inttypes.h>
15#include <limits.h>
16
17#include "DNA_listBase.h"
18#include "RNA_types.hh"
19
20#ifdef UNIT_TEST
21# define RNA_MAX_ARRAY_LENGTH 64
22#else
23# define RNA_MAX_ARRAY_LENGTH 64
24#endif
25
26#define RNA_MAX_ARRAY_DIMENSION 3
27
28/* Blender RNA */
29
30struct Scene;
31
33void RNA_define_free(BlenderRNA *brna);
34void RNA_free(BlenderRNA *brna);
35
49void RNA_define_verify_sdna(bool verify);
50void RNA_define_animate_sdna(bool animate);
51void RNA_define_fallback_property_update(int noteflag, const char *updatefunc);
56void RNA_define_lib_overridable(bool make_overridable);
57
58void RNA_init();
59void RNA_exit();
60
61/* Struct */
62
66StructRNA *RNA_def_struct_ptr(BlenderRNA *brna, const char *identifier, StructRNA *srnafrom);
67StructRNA *RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from);
68void RNA_def_struct_sdna(StructRNA *srna, const char *structname);
69void RNA_def_struct_sdna_from(StructRNA *srna, const char *structname, const char *propname);
71void RNA_def_struct_nested(BlenderRNA *brna, StructRNA *srna, const char *structname);
72void RNA_def_struct_flag(StructRNA *srna, int flag);
74void RNA_def_struct_property_tags(StructRNA *srna, const EnumPropertyItem *prop_tag_defines);
75void RNA_def_struct_refine_func(StructRNA *srna, const char *refine);
76void RNA_def_struct_idprops_func(StructRNA *srna, const char *idproperties);
78 const char *reg,
79 const char *unreg,
80 const char *instance);
89void RNA_def_struct_path_func(StructRNA *srna, const char *path);
93void RNA_def_struct_identifier_no_struct_map(StructRNA *srna, const char *identifier);
94void RNA_def_struct_identifier(BlenderRNA *brna, StructRNA *srna, const char *identifier);
95void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description);
96void RNA_def_struct_ui_icon(StructRNA *srna, int icon);
98void RNA_struct_free(BlenderRNA *brna, StructRNA *srna);
99
100void RNA_def_struct_translation_context(StructRNA *srna, const char *context);
101
102/* Compact Property Definitions */
103
105
107 const char *identifier,
108 bool default_value,
109 const char *ui_name,
110 const char *ui_description);
112 const char *identifier,
113 int len,
114 const bool *default_value,
115 const char *ui_name,
116 const char *ui_description);
118 const char *identifier,
119 int len,
120 const bool *default_value,
121 const char *ui_name,
122 const char *ui_description);
124 const char *identifier,
125 int len,
126 const bool *default_value,
127 const char *ui_name,
128 const char *ui_description);
130 const char *identifier,
131 int len,
132 const bool *default_value,
133 const char *ui_name,
134 const char *ui_description);
135
137 const char *identifier,
138 int default_value,
139 int hardmin,
140 int hardmax,
141 const char *ui_name,
142 const char *ui_description,
143 int softmin,
144 int softmax);
146 const char *identifier,
147 int len,
148 const int *default_value,
149 int hardmin,
150 int hardmax,
151 const char *ui_name,
152 const char *ui_description,
153 int softmin,
154 int softmax);
156 const char *identifier,
157 int len,
158 const int *default_value,
159 int hardmin,
160 int hardmax,
161 const char *ui_name,
162 const char *ui_description,
163 int softmin,
164 int softmax);
165
167 const char *identifier,
168 const char *default_value,
169 int maxlen,
170 const char *ui_name,
171 const char *ui_description);
173 const char *identifier,
174 const char *default_value,
175 int maxlen,
176 const char *ui_name,
177 const char *ui_description);
179 const char *identifier,
180 const char *default_value,
181 int maxlen,
182 const char *ui_name,
183 const char *ui_description);
185 const char *identifier,
186 const char *default_value,
187 int maxlen,
188 const char *ui_name,
189 const char *ui_description);
190
192 const char *identifier,
193 const EnumPropertyItem *items,
194 int default_value,
195 const char *ui_name,
196 const char *ui_description);
201 const char *identifier,
202 const EnumPropertyItem *items,
203 int default_value,
204 const char *ui_name,
205 const char *ui_description);
207
209 const char *identifier,
210 float default_value,
211 float hardmin,
212 float hardmax,
213 const char *ui_name,
214 const char *ui_description,
215 float softmin,
216 float softmax);
218 const char *identifier,
219 int len,
220 const float *default_value,
221 float hardmin,
222 float hardmax,
223 const char *ui_name,
224 const char *ui_description,
225 float softmin,
226 float softmax);
228 const char *identifier,
229 int len,
230 const float *default_value,
231 float hardmin,
232 float hardmax,
233 const char *ui_name,
234 const char *ui_description,
235 float softmin,
236 float softmax);
238 const char *identifier,
239 int len,
240 const float *default_value,
241 float hardmin,
242 float hardmax,
243 const char *ui_name,
244 const char *ui_description,
245 float softmin,
246 float softmax);
248 const char *identifier,
249 int rows,
250 int columns,
251 const float *default_value,
252 float hardmin,
253 float hardmax,
254 const char *ui_name,
255 const char *ui_description,
256 float softmin,
257 float softmax);
259 const char *identifier,
260 int len,
261 const float *default_value,
262 float hardmin,
263 float hardmax,
264 const char *ui_name,
265 const char *ui_description,
266 float softmin,
267 float softmax);
269 const char *identifier,
270 int len,
271 const float *default_value,
272 float hardmin,
273 float hardmax,
274 const char *ui_name,
275 const char *ui_description,
276 float softmin,
277 float softmax);
279 const char *identifier,
280 float default_value,
281 float hardmin,
282 float hardmax,
283 const char *ui_name,
284 const char *ui_description,
285 float softmin,
286 float softmax);
288 const char *identifier,
289 int len,
290 const float *default_value,
291 float hardmin,
292 float hardmax,
293 const char *ui_name,
294 const char *ui_description,
295 float softmin,
296 float softmax);
297
298#if 0
299PropertyRNA *RNA_def_float_dynamic_array(StructOrFunctionRNA *cont,
300 const char *identifier,
301 float hardmin,
302 float hardmax,
303 const char *ui_name,
304 const char *ui_description,
305 float softmin,
306 float softmax,
307 unsigned int dimension,
308 unsigned short dim_size[]);
309#endif
310
312 const char *identifier,
313 float default_value,
314 float hardmin,
315 float hardmax,
316 const char *ui_name,
317 const char *ui_description,
318 float softmin,
319 float softmax);
321 const char *identifier,
322 float default_value,
323 float hardmin,
324 float hardmax,
325 const char *ui_name,
326 const char *ui_description,
327 float softmin,
328 float softmax);
329
331 const char *identifier,
332 const char *type,
333 const char *ui_name,
334 const char *ui_description);
336 const char *identifier,
337 StructRNA *type,
338 const char *ui_name,
339 const char *ui_description);
340
342 const char *identifier,
343 const char *type,
344 const char *ui_name,
345 const char *ui_description);
347 const char *identifier,
348 StructRNA *type,
349 const char *ui_name,
350 const char *ui_description);
351
352/* Extended Property Definitions */
353
355 const char *identifier,
356 int type,
357 int subtype);
358
360 const char *structname,
361 const char *propname,
362 int64_t bit);
364 const char *structname,
365 const char *propname,
366 int64_t bit);
367void RNA_def_property_int_sdna(PropertyRNA *prop, const char *structname, const char *propname);
368void RNA_def_property_float_sdna(PropertyRNA *prop, const char *structname, const char *propname);
369void RNA_def_property_string_sdna(PropertyRNA *prop, const char *structname, const char *propname);
370void RNA_def_property_enum_sdna(PropertyRNA *prop, const char *structname, const char *propname);
372 const char *structname,
373 const char *propname);
375 const char *structname,
376 const char *propname);
378 const char *structname,
379 const char *propname,
380 const char *lengthpropname);
381
393void RNA_def_property_tags(PropertyRNA *prop, int tags);
396void RNA_def_property_multi_array(PropertyRNA *prop, int dimension, const int length[]);
397void RNA_def_property_range(PropertyRNA *prop, double min, double max);
398
404void RNA_def_property_enum_native_type(PropertyRNA *prop, const char *native_enum_type);
405void RNA_def_property_string_maxlength(PropertyRNA *prop, int maxlength);
406void RNA_def_property_struct_type(PropertyRNA *prop, const char *type);
408 PropertyRNA *prop,
409 StructRNA *type);
410
411void RNA_def_property_boolean_default(PropertyRNA *prop, bool value);
413void RNA_def_property_int_default(PropertyRNA *prop, int value);
415void RNA_def_property_float_default(PropertyRNA *prop, float value);
420void RNA_def_property_enum_default(PropertyRNA *prop, int value);
421void RNA_def_property_string_default(PropertyRNA *prop, const char *value);
422
423void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description);
436 PropertyRNA *prop, double min, double max, double step, int precision);
438void RNA_def_property_ui_icon(PropertyRNA *prop, int icon, int consecutive);
439
440void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *updatefunc);
441void RNA_def_property_editable_func(PropertyRNA *prop, const char *editable);
442void RNA_def_property_editable_array_func(PropertyRNA *prop, const char *editable);
443
450 const char *diff,
451 const char *store,
452 const char *apply);
453
454using RNAPropertyUpdateFunc = void (*)(Main *, Scene *, PointerRNA *);
457 PropertyRNA *prop);
458
462void RNA_def_property_update_notifier(PropertyRNA *prop, int noteflag);
463void RNA_def_property_poll_runtime(PropertyRNA *prop, const void *func);
464
465void RNA_def_property_dynamic_array_funcs(PropertyRNA *prop, const char *getlength);
466void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set);
468 const char *get,
469 const char *set,
470 const char *range);
472 const char *get,
473 const char *set,
474 const char *range);
476 const char *get,
477 const char *set,
478 const char *item);
480 const char *get,
481 const char *length,
482 const char *set);
484 const char *search,
485 eStringPropertySearchFlag search_flag);
487 PropertyRNA *prop, const char *get, const char *set, const char *type_fn, const char *poll);
489 const char *begin,
490 const char *next,
491 const char *end,
492 const char *get,
493 const char *length,
494 const char *lookupint,
495 const char *lookupstring,
496 const char *assignint);
497
498void RNA_def_property_float_default_func(PropertyRNA *prop, const char *get_default);
499void RNA_def_property_int_default_func(PropertyRNA *prop, const char *get_default);
500void RNA_def_property_boolean_default_func(PropertyRNA *prop, const char *get_default);
501
502void RNA_def_property_srna(PropertyRNA *prop, const char *type);
503void RNA_def_py_data(PropertyRNA *prop, void *py_data);
504
507 BooleanPropertySetFunc setfunc);
512 IntPropertyGetFunc getfunc,
513 IntPropertySetFunc setfunc,
514 IntPropertyRangeFunc rangefunc);
518 IntPropertyRangeFunc rangefunc);
520 FloatPropertyGetFunc getfunc,
521 FloatPropertySetFunc setfunc,
522 FloatPropertyRangeFunc rangefunc);
526 FloatPropertyRangeFunc rangefunc);
528 EnumPropertyGetFunc getfunc,
529 EnumPropertySetFunc setfunc,
530 EnumPropertyItemFunc itemfunc);
532 StringPropertyGetFunc getfunc,
533 StringPropertyLengthFunc lengthfunc,
534 StringPropertySetFunc setfunc);
536 StringPropertySearchFunc search_fn,
537 eStringPropertySearchFlag search_flag);
538
539void RNA_def_property_translation_context(PropertyRNA *prop, const char *context);
540
541/* Function */
542
543FunctionRNA *RNA_def_function(StructRNA *srna, const char *identifier, const char *call);
544FunctionRNA *RNA_def_function_runtime(StructRNA *srna, const char *identifier, CallFunc call);
550void RNA_def_function_flag(FunctionRNA *func, int flag);
551void RNA_def_function_ui_description(FunctionRNA *func, const char *description);
552
554 PropertyFlag flag_property,
555 ParameterFlag flag_parameter);
557 PropertyFlag flag_property,
558 ParameterFlag flag_parameter);
559
560/* Dynamic Enums
561 * strings are not freed, assumed pointing to static location. */
562
563void RNA_enum_item_add(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item);
564void RNA_enum_item_add_separator(EnumPropertyItem **items, int *totitem);
565void RNA_enum_items_add(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item);
567 int *totitem,
568 const EnumPropertyItem *item,
569 int value);
570void RNA_enum_item_end(EnumPropertyItem **items, int *totitem);
571
572/* Memory management */
573
580int RNA_def_property_free_identifier(StructOrFunctionRNA *cont_, const char *identifier);
581
583 const char *identifier,
584 void **handle);
586
588 void (*py_data_clear_fn)(PropertyRNA *prop));
589
590/* Utilities. */
591
592const char *RNA_property_typename(PropertyType type);
593#define IS_DNATYPE_FLOAT_COMPAT(_str) (strcmp(_str, "float") == 0 || strcmp(_str, "double") == 0)
594#define IS_DNATYPE_INT_COMPAT(_str) \
595 (strcmp(_str, "int") == 0 || strcmp(_str, "short") == 0 || strcmp(_str, "char") == 0 || \
596 strcmp(_str, "uchar") == 0 || strcmp(_str, "ushort") == 0 || strcmp(_str, "int8_t") == 0)
597#define IS_DNATYPE_BOOLEAN_COMPAT(_str) \
598 (IS_DNATYPE_INT_COMPAT(_str) || strcmp(_str, "int64_t") == 0 || strcmp(_str, "uint64_t") == 0)
599
600void RNA_identifier_sanitize(char *identifier, int property);
601
602/* Common arguments for length. */
603
604extern const int rna_matrix_dimsize_3x3[];
605extern const int rna_matrix_dimsize_4x4[];
606extern const int rna_matrix_dimsize_4x2[];
607
608/* Common arguments for defaults. */
609
610extern const float rna_default_axis_angle[4];
611extern const float rna_default_quaternion[4];
612extern const float rna_default_scale_3d[3];
613
615#define RNA_DYN_DESCR_MAX 1024
These structs are the foundation for all linked lists in the library system.
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object instance
PropertyRNA * RNA_def_enum_flag(StructOrFunctionRNA *cont, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
int RNA_def_property_free_identifier(StructOrFunctionRNA *cont_, const char *identifier)
PropertyRNA * RNA_def_int_array(StructOrFunctionRNA *cont, const char *identifier, int len, const int *default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
void RNA_enum_items_add(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item)
void(*)(Main *, Scene *, PointerRNA *) RNAPropertyUpdateFunc
void RNA_def_struct_name_property(StructRNA *srna, PropertyRNA *prop)
void RNA_def_struct_refine_func(StructRNA *srna, const char *refine)
void RNA_def_property_pointer_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_struct_runtime(StructOrFunctionRNA *cont, PropertyRNA *prop, StructRNA *type)
void RNA_def_property_string_search_func(PropertyRNA *prop, const char *search, eStringPropertySearchFlag search_flag)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
void RNA_define_animate_sdna(bool animate)
void RNA_define_free(BlenderRNA *brna)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont, const char *identifier, int type, int subtype)
PropertyRNA * RNA_def_boolean_array(StructOrFunctionRNA *cont, const char *identifier, int len, const bool *default_value, const char *ui_name, const char *ui_description)
void RNA_def_struct_flag(StructRNA *srna, int flag)
PropertyRNA * RNA_def_float_array(StructOrFunctionRNA *cont, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_struct_free_pointers(BlenderRNA *brna, StructRNA *srna)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
FunctionRNA * RNA_def_function_runtime(StructRNA *srna, const char *identifier, CallFunc call)
void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
void RNA_def_property_update_notifier(PropertyRNA *prop, int noteflag)
const char * RNA_property_typename(PropertyType type)
void RNA_def_property_float_default(PropertyRNA *prop, float value)
void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
PropertyRNA * RNA_def_float_color(StructOrFunctionRNA *cont, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_enum_default(PropertyRNA *prop, int value)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_property_float_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_exit()
Definition rna_access.cc:98
void RNA_define_verify_sdna(bool verify)
void RNA_def_function_output(FunctionRNA *func, PropertyRNA *ret)
void RNA_def_property_enum_native_type(PropertyRNA *prop, const char *native_enum_type)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
void RNA_def_property_string_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_ui_icon(PropertyRNA *prop, int icon, int consecutive)
void RNA_def_property_boolean_default_func(PropertyRNA *prop, const char *get_default)
void RNA_def_struct_property_tags(StructRNA *srna, const EnumPropertyItem *prop_tag_defines)
void RNA_def_property_srna(PropertyRNA *prop, const char *type)
void RNA_def_property_int_funcs_runtime(PropertyRNA *prop, IntPropertyGetFunc getfunc, IntPropertySetFunc setfunc, IntPropertyRangeFunc rangefunc)
PropertyRNA * RNA_def_float_matrix(StructOrFunctionRNA *cont, const char *identifier, int rows, int columns, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_collection_funcs(PropertyRNA *prop, const char *begin, const char *next, const char *end, const char *get, const char *length, const char *lookupint, const char *lookupstring, const char *assignint)
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
PropertyRNA * RNA_def_int_vector(StructOrFunctionRNA *cont, const char *identifier, int len, const int *default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
PropertyRNA * RNA_def_float_vector(StructOrFunctionRNA *cont, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_duplicate_pointers(StructOrFunctionRNA *cont_, PropertyRNA *prop)
void RNA_def_property_free_pointers_set_py_data_callback(void(*py_data_clear_fn)(PropertyRNA *prop))
void RNA_def_property_free_identifier_deferred_finish(StructOrFunctionRNA *cont_, void *handle)
PropertyRNA * RNA_def_boolean_layer_member(StructOrFunctionRNA *cont, const char *identifier, int len, const bool *default_value, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont, const char *identifier, int default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
void RNA_def_property_boolean_default(PropertyRNA *prop, bool value)
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set)
PropertyRNA * RNA_def_string_dir_path(StructOrFunctionRNA *cont, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_struct_register_funcs(StructRNA *srna, const char *reg, const char *unreg, const char *instance)
void RNA_def_property_update_runtime(PropertyRNA *prop, RNAPropertyUpdateFunc func)
void RNA_identifier_sanitize(char *identifier, int property)
void RNA_def_property_dynamic_array_funcs(PropertyRNA *prop, const char *getlength)
void RNA_def_property_multi_array(PropertyRNA *prop, int dimension, const int length[])
void RNA_define_lib_overridable(bool make_overridable)
void RNA_def_property_enum_funcs_runtime(PropertyRNA *prop, EnumPropertyGetFunc getfunc, EnumPropertySetFunc setfunc, EnumPropertyItemFunc itemfunc)
void RNA_def_property_boolean_array_funcs_runtime(PropertyRNA *prop, BooleanArrayPropertyGetFunc getfunc, BooleanArrayPropertySetFunc setfunc)
PropertyRNA * RNA_def_string_file_name(StructOrFunctionRNA *cont, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_struct_identifier(BlenderRNA *brna, StructRNA *srna, const char *identifier)
void RNA_def_property_int_default(PropertyRNA *prop, int value)
void RNA_def_property_editable_array_func(PropertyRNA *prop, const char *editable)
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_py_data(PropertyRNA *prop, void *py_data)
void RNA_def_struct_clear_flag(StructRNA *srna, int flag)
void RNA_def_property_array(PropertyRNA *prop, int length)
void RNA_def_property_float_default_func(PropertyRNA *prop, const char *get_default)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
void RNA_def_struct_identifier_no_struct_map(StructRNA *srna, const char *identifier)
void RNA_def_property_poll_runtime(PropertyRNA *prop, const void *func)
void RNA_def_property_string_maxlength(PropertyRNA *prop, int maxlength)
void RNA_def_struct_sdna_from(StructRNA *srna, const char *structname, const char *propname)
void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
void RNA_def_property_collection_sdna(PropertyRNA *prop, const char *structname, const char *propname, const char *lengthpropname)
void RNA_def_property_update_runtime_with_context_and_property(PropertyRNA *prop, RNAPropertyUpdateFuncWithContextAndProperty func)
void RNA_def_function_ui_description(FunctionRNA *func, const char *description)
PropertyRNA * RNA_def_float_rotation(StructOrFunctionRNA *cont, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_enum_funcs(PropertyRNA *prop, const char *get, const char *set, const char *item)
StructRNA * RNA_def_struct_ptr(BlenderRNA *brna, const char *identifier, StructRNA *srnafrom)
void RNA_def_property_editable_func(PropertyRNA *prop, const char *editable)
void RNA_def_property_float_funcs_runtime(PropertyRNA *prop, FloatPropertyGetFunc getfunc, FloatPropertySetFunc setfunc, FloatPropertyRangeFunc rangefunc)
PropertyRNA * RNA_def_float(StructOrFunctionRNA *cont, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_enum_bitflag_sdna(PropertyRNA *prop, const char *structname, const char *propname)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
void RNA_def_func_duplicate_pointers(FunctionRNA *func)
void RNA_def_property_int_array_default(PropertyRNA *prop, const int *array)
void RNA_free(BlenderRNA *brna)
void RNA_enum_item_end(EnumPropertyItem **items, int *totitem)
void RNA_def_function_flag(FunctionRNA *func, int flag)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
BlenderRNA * RNA_create()
void RNA_struct_free_extension(StructRNA *srna, ExtensionRNA *rna_ext)
PropertyRNA * RNA_def_collection(StructOrFunctionRNA *cont, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_string_file_path(StructOrFunctionRNA *cont, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_property_pointer_funcs(PropertyRNA *prop, const char *get, const char *set, const char *type_fn, const char *poll)
void RNA_def_property_enum_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_boolean_negative_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
PropertyRNA * RNA_def_float_translation(StructOrFunctionRNA *cont, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_enum_item_add(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item)
PropertyRNA * RNA_def_float_factor(StructOrFunctionRNA *cont, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
PropertyRNA * RNA_def_boolean_layer(StructOrFunctionRNA *cont, const char *identifier, int len, const bool *default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_int_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
PropertyRNA * RNA_def_float_percentage(StructOrFunctionRNA *cont, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont, const char *identifier, bool default_value, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_float_distance(StructOrFunctionRNA *cont, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_string_default(PropertyRNA *prop, const char *value)
void RNA_def_struct_ui_icon(StructRNA *srna, int icon)
void RNA_def_property_int_array_funcs_runtime(PropertyRNA *prop, IntArrayPropertyGetFunc getfunc, IntArrayPropertySetFunc setfunc, IntPropertyRangeFunc rangefunc)
void RNA_def_property_float_array_funcs_runtime(PropertyRNA *prop, FloatArrayPropertyGetFunc getfunc, FloatArrayPropertySetFunc setfunc, FloatPropertyRangeFunc rangefunc)
void RNA_struct_free(BlenderRNA *brna, StructRNA *srna)
void RNA_def_struct_idprops_func(StructRNA *srna, const char *idproperties)
void RNA_def_property_override_funcs(PropertyRNA *prop, const char *diff, const char *store, const char *apply)
void RNA_def_property_translation_context(PropertyRNA *prop, const char *context)
void RNA_def_property_string_search_func_runtime(PropertyRNA *prop, StringPropertySearchFunc search_fn, eStringPropertySearchFlag search_flag)
void RNA_def_struct_duplicate_pointers(BlenderRNA *brna, StructRNA *srna)
void RNA_def_property_free_pointers(PropertyRNA *prop)
void RNA_def_func_free_pointers(FunctionRNA *func)
void RNA_def_property_ui_scale_type(PropertyRNA *prop, PropertyScaleType ui_scale_type)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_override_clear_flag(PropertyRNA *prop, PropertyOverrideFlag flag)
void RNA_enum_item_add_separator(EnumPropertyItem **items, int *totitem)
void RNA_def_enum_funcs(PropertyRNA *prop, EnumPropertyItemFunc itemfunc)
PropertyRNA * RNA_def_collection_runtime(StructOrFunctionRNA *cont, const char *identifier, StructRNA *type, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_float_vector_xyz(StructOrFunctionRNA *cont, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_subtype(PropertyRNA *prop, PropertySubType subtype)
void RNA_def_property_float_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void(*)(bContext *C, PointerRNA *ptr, PropertyRNA *prop) RNAPropertyUpdateFuncWithContextAndProperty
void RNA_def_property_boolean_array_default(PropertyRNA *prop, const bool *array)
void RNA_def_property_boolean_funcs_runtime(PropertyRNA *prop, BooleanPropertyGetFunc getfunc, BooleanPropertySetFunc setfunc)
void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *updatefunc)
int RNA_def_property_free_identifier_deferred_prepare(StructOrFunctionRNA *cont_, const char *identifier, void **handle)
void RNA_enum_items_add_value(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item, int value)
void RNA_def_property_ui_range(PropertyRNA *prop, double min, double max, double step, int precision)
void RNA_init()
Definition rna_access.cc:73
PropertyRNA * RNA_def_boolean_vector(StructOrFunctionRNA *cont, const char *identifier, int len, const bool *default_value, const char *ui_name, const char *ui_description)
void StructOrFunctionRNA
void RNA_def_property_tags(PropertyRNA *prop, int tags)
void RNA_def_property_int_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_struct_translation_context(StructRNA *srna, const char *context)
void RNA_def_property_float_array_default(PropertyRNA *prop, const float *array)
void RNA_def_property_int_default_func(PropertyRNA *prop, const char *get_default)
void RNA_def_struct_nested(BlenderRNA *brna, StructRNA *srna, const char *structname)
void RNA_define_fallback_property_update(int noteflag, const char *updatefunc)
void RNA_def_property_string_funcs_runtime(PropertyRNA *prop, StringPropertyGetFunc getfunc, StringPropertyLengthFunc lengthfunc, StringPropertySetFunc setfunc)
PropertyRNA * RNA_def_pointer_runtime(StructOrFunctionRNA *cont, const char *identifier, StructRNA *type, const char *ui_name, const char *ui_description)
void RNA_def_property_override_flag(PropertyRNA *prop, PropertyOverrideFlag flag)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
ParameterFlag
Definition RNA_types.hh:396
int(*)(PointerRNA *ptr, PropertyRNA *prop) EnumPropertyGetFunc
Definition RNA_types.hh:605
void(*)(PointerRNA *ptr, PropertyRNA *prop, char *value) StringPropertyGetFunc
Definition RNA_types.hh:557
void(*)(PointerRNA *ptr, PropertyRNA *prop, bool *values) BooleanArrayPropertyGetFunc
Definition RNA_types.hh:539
PropertyScaleType
Definition RNA_types.hh:106
void(*)(PointerRNA *ptr, PropertyRNA *prop, const bool *values) BooleanArrayPropertySetFunc
Definition RNA_types.hh:540
int(*)(PointerRNA *ptr, PropertyRNA *prop) StringPropertyLengthFunc
Definition RNA_types.hh:558
void(*)(PointerRNA *ptr, PropertyRNA *prop, float *values) FloatArrayPropertyGetFunc
Definition RNA_types.hh:551
void(*)(PointerRNA *ptr, PropertyRNA *prop, const char *value) StringPropertySetFunc
Definition RNA_types.hh:559
eStringPropertySearchFlag
Definition RNA_types.hh:570
void(*)(PointerRNA *ptr, PropertyRNA *prop, int *values) IntArrayPropertyGetFunc
Definition RNA_types.hh:545
void(*)(PointerRNA *ptr, PropertyRNA *prop, int value) EnumPropertySetFunc
Definition RNA_types.hh:606
void(*)(PointerRNA *ptr, PropertyRNA *prop, const int *values) IntArrayPropertySetFunc
Definition RNA_types.hh:546
PropertyType
Definition RNA_types.hh:64
void(*)(PointerRNA *ptr, PropertyRNA *prop, int *min, int *max, int *softmin, int *softmax) IntPropertyRangeFunc
Definition RNA_types.hh:547
void(*)(const bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *edit_text, blender::FunctionRef< void(StringPropertySearchVisitParams)> visit_fn) StringPropertySearchFunc
Definition RNA_types.hh:598
bool(*)(PointerRNA *ptr, PropertyRNA *prop) BooleanPropertyGetFunc
Definition RNA_types.hh:537
float(*)(PointerRNA *ptr, PropertyRNA *prop) FloatPropertyGetFunc
Definition RNA_types.hh:549
int(*)(PointerRNA *ptr, PropertyRNA *prop) IntPropertyGetFunc
Definition RNA_types.hh:543
void(*)(PointerRNA *ptr, PropertyRNA *prop, float value) FloatPropertySetFunc
Definition RNA_types.hh:550
PropertyOverrideFlag
Definition RNA_types.hh:353
void(*)( PointerRNA *ptr, PropertyRNA *prop, float *min, float *max, float *softmin, float *softmax) FloatPropertyRangeFunc
Definition RNA_types.hh:555
void(*)(PointerRNA *ptr, PropertyRNA *prop, int value) IntPropertySetFunc
Definition RNA_types.hh:544
void(*)(bContext *C, ReportList *reports, PointerRNA *ptr, ParameterList *parms) CallFunc
Definition RNA_types.hh:711
PropertyFlag
Definition RNA_types.hh:201
const EnumPropertyItem *(*)(bContext *C, PointerRNA *ptr, PropertyRNA *prop, bool *r_free) EnumPropertyItemFunc
Definition RNA_types.hh:608
void(*)(PointerRNA *ptr, PropertyRNA *prop, bool value) BooleanPropertySetFunc
Definition RNA_types.hh:538
void(*)(PointerRNA *ptr, PropertyRNA *prop, const float *values) FloatArrayPropertySetFunc
Definition RNA_types.hh:552
PropertySubType
Definition RNA_types.hh:135
#define C
Definition RandGen.cpp:29
SIMD_FORCE_INLINE btScalar length(const btQuaternion &q)
Return the length of a quaternion.
int len
static void refine(OpenSubdiv_Evaluator *evaluator)
IMETHOD Vector diff(const Vector &a, const Vector &b, double dt)
Definition frames.inl:1166
static ulong * next
return ret
const float rna_default_quaternion[4]
const int rna_matrix_dimsize_4x2[]
const float rna_default_scale_3d[3]
const float rna_default_axis_angle[4]
const int rna_matrix_dimsize_4x4[]
const int rna_matrix_dimsize_3x3[]
#define min(a, b)
Definition sort.c:32
__int64 int64_t
Definition stdint.h:89
string name
Definition scene.h:116
struct Scene * set
float max
PointerRNA * ptr
Definition wm_files.cc:4126
uint8_t flag
Definition wm_window.cc:138