34 {
OB_MODE_OBJECT,
"OBJECT", ICON_OBJECT_DATAMODE,
"Object Mode",
""},
35 {
OB_MODE_EDIT,
"EDIT", ICON_EDITMODE_HLT,
"Edit Mode",
""},
37 {
OB_MODE_SCULPT,
"SCULPT", ICON_SCULPTMODE_HLT,
"Sculpt Mode",
""},
46 "Edit Grease Pencil Strokes"},
48 "SCULPT_GREASE_PENCIL",
51 "Sculpt Grease Pencil Strokes"},
53 "PAINT_GREASE_PENCIL",
56 "Paint Grease Pencil Strokes"},
58 "WEIGHT_GREASE_PENCIL",
61 "Grease Pencil Weight Paint Strokes"},
63 "VERTEX_GREASE_PENCIL",
66 "Grease Pencil Vertex Paint Strokes"},
68 {0,
nullptr, 0,
nullptr,
nullptr},
72 {
OB_MODE_OBJECT,
"OBJECT", ICON_OBJECT_DATAMODE,
"Object Mode",
""},
73 {
OB_MODE_EDIT,
"EDIT", ICON_EDITMODE_HLT,
"Edit Mode",
""},
75 {
OB_MODE_SCULPT,
"SCULPT", ICON_SCULPTMODE_HLT,
"Sculpt Mode",
""},
83 "Grease Pencil Edit Mode",
84 "Edit Grease Pencil Strokes"},
86 "SCULPT_GREASE_PENCIL",
88 "Grease Pencil Sculpt Mode",
89 "Sculpt Grease Pencil Strokes"},
91 "PAINT_GREASE_PENCIL",
94 "Paint Grease Pencil Strokes"},
96 "VERTEX_GREASE_PENCIL",
98 "Grease Pencil Vertex Paint",
99 "Grease Pencil Vertex Paint Strokes"},
101 "WEIGHT_GREASE_PENCIL",
103 "Grease Pencil Weight Paint",
104 "Grease Pencil Weight Paint Strokes"},
105 {0,
nullptr, 0,
nullptr,
nullptr},
109 {
OB_PLAINAXES,
"PLAIN_AXES", ICON_EMPTY_AXIS,
"Plain Axes",
""},
110 {
OB_ARROWS,
"ARROWS", ICON_EMPTY_ARROWS,
"Arrows",
""},
111 {
OB_SINGLE_ARROW,
"SINGLE_ARROW", ICON_EMPTY_SINGLE_ARROW,
"Single Arrow",
""},
112 {
OB_CIRCLE,
"CIRCLE", ICON_MESH_CIRCLE,
"Circle",
""},
113 {
OB_CUBE,
"CUBE", ICON_CUBE,
"Cube",
""},
117 {0,
nullptr, 0,
nullptr,
nullptr},
124 {0,
nullptr, 0,
nullptr,
nullptr},
128 {
GP_EMPTY,
"EMPTY", ICON_EMPTY_AXIS,
"Blank",
"Create an empty Grease Pencil object"},
129 {
GP_STROKE,
"STROKE", ICON_STROKE,
"Stroke",
"Create a simple stroke with basic colors"},
130 {
GP_MONKEY,
"MONKEY", ICON_MONKEY,
"Monkey",
"Construct a Suzanne Grease Pencil object"},
136 "Quickly set up Line Art for the entire scene"},
138 "LINEART_COLLECTION",
139 ICON_OUTLINER_COLLECTION,
140 "Collection Line Art",
141 "Quickly set up Line Art for the active collection"},
146 "Quickly set up Line Art for the active object"},
147 {0,
nullptr, 0,
nullptr,
nullptr}};
150 {
PAROBJECT,
"OBJECT", 0,
"Object",
"The object is parented to an object"},
151 {
PARSKEL,
"ARMATURE", 0,
"Armature",
""},
153 {
PARSKEL,
"LATTICE", 0,
"Lattice",
"The object is parented to a lattice"},
154 {
PARVERT1,
"VERTEX", 0,
"Vertex",
"The object is parented to a vertex"},
155 {
PARVERT3,
"VERTEX_3", 0,
"3 Vertices",
""},
156 {
PARBONE,
"BONE", 0,
"Bone",
"The object is parented to a bone"},
157 {0,
nullptr, 0,
nullptr,
nullptr},
160#define INSTANCE_ITEMS_SHARED \
161 {0, "NONE", 0, "None", ""}, \
162 {OB_DUPLIVERTS, "VERTS", 0, "Vertices", "Instantiate child objects on all vertices"}, \
163 {OB_DUPLIFACES, "FACES", 0, "Faces", "Instantiate child objects on all faces"}
165#define INSTANCE_ITEM_COLLECTION \
166 {OB_DUPLICOLLECTION, "COLLECTION", 0, "Collection", "Enable collection instancing"}
170 {0,
nullptr, 0,
nullptr,
nullptr},
175 {0,
nullptr, 0,
nullptr,
nullptr},
179 {0,
"NONE", 0,
"None",
""},
181 {0,
nullptr, 0,
nullptr,
nullptr},
185 {0,
"NONE", 0,
"None",
""},
186 {
OB_DUPLIVERTS,
"VERTS", 0,
"Vertices",
"Use Object Font on characters"},
187 {0,
nullptr, 0,
nullptr,
nullptr},
190#undef INSTANCE_ITEMS_SHARED
191#undef INSTANCE_ITEM_COLLECTION
194 {
MB_BALL,
"BALL", ICON_META_BALL,
"Ball",
""},
195 {
MB_TUBE,
"CAPSULE", ICON_META_CAPSULE,
"Capsule",
""},
196 {
MB_PLANE,
"PLANE", ICON_META_PLANE,
"Plane",
""},
198 {
MB_ELIPSOID,
"ELLIPSOID", ICON_META_ELLIPSOID,
"Ellipsoid",
""},
199 {
MB_CUBE,
"CUBE", ICON_META_CUBE,
"Cube",
""},
200 {0,
nullptr, 0,
nullptr,
nullptr},
207 {0,
nullptr, 0,
nullptr,
nullptr},
211#define OBTYPE_CU_CURVE {OB_CURVES_LEGACY, "CURVE", ICON_OUTLINER_OB_CURVE, "Curve", ""}
212#define OBTYPE_CU_SURF {OB_SURF, "SURFACE", ICON_OUTLINER_OB_SURFACE, "Surface", ""}
213#define OBTYPE_CU_FONT {OB_FONT, "FONT", ICON_OUTLINER_OB_FONT, "Text", ""}
216 {
OB_MESH,
"MESH", ICON_OUTLINER_OB_MESH,
"Mesh",
""},
219 {
OB_MBALL,
"META", ICON_OUTLINER_OB_META,
"Metaball",
""},
221 {
OB_CURVES,
"CURVES", ICON_OUTLINER_OB_CURVES,
"Hair Curves",
""},
222 {
OB_POINTCLOUD,
"POINTCLOUD", ICON_OUTLINER_OB_POINTCLOUD,
"Point Cloud",
""},
223 {
OB_VOLUME,
"VOLUME", ICON_OUTLINER_OB_VOLUME,
"Volume",
""},
224 {
OB_GREASE_PENCIL,
"GREASEPENCIL", ICON_OUTLINER_OB_GREASEPENCIL,
"Grease Pencil",
""},
226 {
OB_ARMATURE,
"ARMATURE", ICON_OUTLINER_OB_ARMATURE,
"Armature",
""},
227 {
OB_LATTICE,
"LATTICE", ICON_OUTLINER_OB_LATTICE,
"Lattice",
""},
229 {
OB_EMPTY,
"EMPTY", ICON_OUTLINER_OB_EMPTY,
"Empty",
""},
231 {
OB_LAMP,
"LIGHT", ICON_OUTLINER_OB_LIGHT,
"Light",
""},
232 {
OB_LIGHTPROBE,
"LIGHT_PROBE", ICON_OUTLINER_OB_LIGHTPROBE,
"Light Probe",
""},
234 {
OB_CAMERA,
"CAMERA", ICON_OUTLINER_OB_CAMERA,
"Camera",
""},
236 {
OB_SPEAKER,
"SPEAKER", ICON_OUTLINER_OB_SPEAKER,
"Speaker",
""},
237 {0,
nullptr, 0,
nullptr,
nullptr},
244 {0,
nullptr, 0,
nullptr,
nullptr},
248 {
ROT_MODE_QUAT,
"QUATERNION", 0,
"Quaternion (WXYZ)",
"No Gimbal Lock"},
249 {
ROT_MODE_XYZ,
"XYZ", 0,
"XYZ Euler",
"XYZ Rotation Order - prone to Gimbal Lock (default)"},
250 {
ROT_MODE_XZY,
"XZY", 0,
"XZY Euler",
"XZY Rotation Order - prone to Gimbal Lock"},
251 {
ROT_MODE_YXZ,
"YXZ", 0,
"YXZ Euler",
"YXZ Rotation Order - prone to Gimbal Lock"},
252 {
ROT_MODE_YZX,
"YZX", 0,
"YZX Euler",
"YZX Rotation Order - prone to Gimbal Lock"},
253 {
ROT_MODE_ZXY,
"ZXY", 0,
"ZXY Euler",
"ZXY Rotation Order - prone to Gimbal Lock"},
254 {
ROT_MODE_ZYX,
"ZYX", 0,
"ZYX Euler",
"ZYX Rotation Order - prone to Gimbal Lock"},
259 "Axis Angle (W+XYZ), defines a rotation around some axis defined by 3D-Vector"},
260 {0,
nullptr, 0,
nullptr,
nullptr},
264 {
OB_POSX,
"POS_X", 0,
"+X",
""},
265 {
OB_POSY,
"POS_Y", 0,
"+Y",
""},
266 {
OB_POSZ,
"POS_Z", 0,
"+Z",
""},
267 {
OB_NEGX,
"NEG_X", 0,
"-X",
""},
268 {
OB_NEGY,
"NEG_Y", 0,
"-Y",
""},
269 {
OB_NEGZ,
"NEG_Z", 0,
"-Z",
""},
270 {0,
nullptr, 0,
nullptr,
nullptr},
277# include <fmt/format.h>
345 rna_Object_internal_update(bmain, scene,
ptr);
357static void rna_Object_duplicator_visibility_flag_update(
Main * ,
375static void rna_Object_matrix_world_get(
PointerRNA *
ptr,
float *values)
378 std::copy_n(ob->object_to_world().base_ptr(), 16, values);
381static void rna_Object_matrix_world_set(
PointerRNA *
ptr,
const float *values)
387static void rna_Object_matrix_local_get(
PointerRNA *
ptr,
float values[16])
393static void rna_Object_matrix_local_set(
PointerRNA *
ptr,
const float values[16])
396 float local_mat[4][4];
404 mul_m4_m4m4(local_mat, invmat, (
float (*)[4])values);
415static void rna_Object_matrix_basis_get(
PointerRNA *
ptr,
float values[16])
421static void rna_Object_matrix_basis_set(
PointerRNA *
ptr,
const float values[16])
435 rna_Object_internal_update_data_impl(
ptr);
441 rna_Object_internal_update_data_impl(
ptr);
457 em = mesh->
runtime->edit_mesh.get();
476 rna_Object_internal_update_data_impl(
ptr);
488 rna_Object_internal_update_data_dependency(bmain, scene,
ptr);
505 ID *
id =
static_cast<ID *
>(value.
data);
519 "Can only assign evaluated data to evaluated object, or original data to "
576 return &RNA_MetaBall;
584 return &RNA_Armature;
588 return &RNA_LightProbe;
590 return &RNA_Annotation;
592 return &RNA_GreasePencil;
596 return &RNA_PointCloud;
614static bool rna_Object_parent_override_apply(
Main *bmain,
622 const int len_dst = rnaapply_ctx.
len_src;
623 const int len_src = rnaapply_ctx.
len_src;
627 BLI_assert(len_dst == len_src && (!ptr_storage || len_dst == len_storage) && len_dst == 0);
629 "Unsupported RNA override operation on object parent pointer");
638 if (parent_src == parent_dst) {
642 if (parent_src ==
nullptr) {
653static void rna_Object_parent_type_set(
PointerRNA *
ptr,
int value)
666static bool rna_Object_parent_type_override_apply(
Main *bmain,
674 const int len_dst = rnaapply_ctx.
len_src;
675 const int len_src = rnaapply_ctx.
len_src;
679 BLI_assert(len_dst == len_src && (!ptr_storage || len_dst == len_storage) && len_dst == 0);
681 "Unsupported RNA override operation on object parent pointer");
690 if (parent_type_dst == parent_type_src) {
735static void rna_Object_empty_display_type_set(
PointerRNA *
ptr,
int value)
742static void rna_Object_parent_bone_set(
PointerRNA *
ptr,
const char *value)
749static bool rna_Object_parent_bone_override_apply(
Main *bmain,
757 const int len_dst = rnaapply_ctx.
len_src;
758 const int len_src = rnaapply_ctx.
len_src;
762 BLI_assert(len_dst == len_src && (!ptr_storage || len_dst == len_storage) && len_dst == 0);
764 "Unsupported RNA override operation on object parent bone property");
775 if (
STREQ(parent_bone_src, parent_bone_dst)) {
793 item = instance_items_empty;
796 item = instance_items_font;
799 item = instance_items_nogroup;
828 "Cannot set instance-collection as object belongs in collection being instanced, thus "
837 rna_Object_internal_update_data_impl(
ptr);
849 iter->
valid = defbase !=
nullptr;
854static void rna_VertexGroup_name_set(
PointerRNA *
ptr,
const char *value)
889static void rna_Object_active_vertex_group_set(
PointerRNA *
ptr,
904 "VertexGroup '%s' not found in object '%s'",
913static int rna_Object_active_vertex_group_index_get(
PointerRNA *
ptr)
923static void rna_Object_active_vertex_group_index_set(
PointerRNA *
ptr,
int value)
933static void rna_Object_active_vertex_group_index_range(
959 strcpy(value, dg->
name);
975 return (dg) ? strlen(dg->
name) : 0;
1021 mesh =
static_cast<Mesh *
>(ob->
data);
1047 mesh =
static_cast<Mesh *
>(ob->
data);
1062static int rna_Object_active_material_index_get(
PointerRNA *
ptr)
1065 return std::max<int>(ob->
actcol - 1, 0);
1068static void rna_Object_active_material_index_set(
PointerRNA *
ptr,
int value)
1072 value = std::max(std::min(value, ob->
totcol - 1), 0);
1078 if (mesh->
runtime->edit_mesh) {
1079 mesh->
runtime->edit_mesh->mat_nr = value;
1084static void rna_Object_active_material_index_range(
1115static int rna_Object_active_material_editable(
const PointerRNA *
ptr,
const char ** )
1130static void rna_Object_active_particle_system_index_range(
1138static int rna_Object_active_particle_system_index_get(
PointerRNA *
ptr)
1144static void rna_Object_active_particle_system_index_set(
PointerRNA *
ptr,
int value)
1163static void rna_Object_rotation_axis_angle_get(
PointerRNA *
ptr,
float *value)
1173static void rna_Object_rotation_axis_angle_set(
PointerRNA *
ptr,
const float *value)
1184static void rna_Object_rotation_mode_set(
PointerRNA *
ptr,
int value)
1196static void rna_Object_dimensions_get(
PointerRNA *
ptr,
float *value)
1202static void rna_Object_dimensions_set(
PointerRNA *
ptr,
const float *value)
1208static int rna_Object_location_editable(
const PointerRNA *
ptr,
int index)
1227static int rna_Object_scale_editable(
const PointerRNA *
ptr,
int index)
1246static int rna_Object_rotation_euler_editable(
const PointerRNA *
ptr,
int index)
1265static int rna_Object_rotation_4d_editable(
const PointerRNA *
ptr,
int index)
1297 return rna_MaterialSlot_index(
ptr);
1300static int rna_MaterialSlot_material_editable(
const PointerRNA *
ptr,
const char ** )
1303 const int index = rna_MaterialSlot_index(
ptr);
1320 const int index = rna_MaterialSlot_index(
ptr);
1336 int index = rna_MaterialSlot_index(
ptr);
1362 int index = rna_MaterialSlot_index(
ptr);
1363 if (index < ob->totcol) {
1364 return ob->
matbits[index] != 0;
1369static void rna_MaterialSlot_link_set(
PointerRNA *
ptr,
int value)
1372 int index = rna_MaterialSlot_index(
ptr);
1390 int index = rna_MaterialSlot_index(
ptr);
1395 return strlen(ma->
id.
name + 2);
1401static void rna_MaterialSlot_name_get(
PointerRNA *
ptr,
char *value)
1405 int index = rna_MaterialSlot_index(
ptr);
1410 strcpy(value, ma->
id.
name + 2);
1419 rna_Object_internal_update(bmain, scene,
ptr);
1426static std::optional<std::string> rna_MaterialSlot_path(
const PointerRNA *
ptr)
1428 int index = rna_MaterialSlot_index(
ptr);
1429 return fmt::format(
"material_slots[{}]", index);
1445 const int length = rna_Object_material_slots_length(
ptr);
1454 const int length = rna_Object_material_slots_length(&iter->
ptr);
1477static std::optional<std::string> rna_ObjectDisplay_path(
const PointerRNA * )
1489static void rna_Object_active_shape_key_index_range(
1507static int rna_Object_active_shape_key_index_get(
PointerRNA *
ptr)
1511 return std::max<int>(ob->
shapenr - 1, 0);
1514static void rna_Object_active_shape_key_index_set(
PointerRNA *
ptr,
int value)
1527 if (key ==
nullptr) {
1561static void rna_Object_active_constraint_set(
PointerRNA *
ptr,
1582static void rna_Object_constraints_remove(
Object *
object,
1591 "Constraint '%s' not found in object '%s'",
1605static void rna_Object_constraints_clear(
Object *
object,
Main *bmain)
1615static void rna_Object_constraints_move(
1623 BKE_reportf(reports,
RPT_ERROR,
"Could not move constraint from index '%d' to '%d'", from, to);
1643bool rna_Object_constraints_override_apply(
Main *bmain,
1652 "Unsupported RNA override operation on constraints collection");
1671 if (con_src ==
nullptr) {
1701static void rna_Object_modifier_remove(
Object *
object,
1726static void rna_Object_modifier_move(
Object *
object,
ReportList *reports,
int from,
int to)
1759 reports,
RPT_ERROR,
"Modifier \"%s\" is not in the object's modifier list", md->
name);
1766bool rna_Object_modifiers_override_apply(
Main *bmain,
1775 "Unsupported RNA override operation on modifiers collection");
1794 if (mod_src ==
nullptr) {
1803 nullptr, bmain,
nullptr, ob_dst, mod_src->
name, mod_src->
type);
1805 if (mod_dst ==
nullptr) {
1817 if (mod_dst ==
nullptr) {
1857static void rna_Object_shaderfx_remove(
Object *
object,
1879static void rna_Object_boundbox_get(
PointerRNA *
ptr,
float *values)
1891static bool check_object_vgroup_support_and_warn(
const Object *ob,
1892 const char *op_name,
1896 const char *ob_type_name =
"Unknown";
1898 BKE_reportf(reports,
RPT_ERROR,
"%s is not supported for '%s' objects", op_name, ob_type_name);
1909 if (!check_object_vgroup_support_and_warn(ob,
"VertexGroups.new()", reports)) {
1921static void rna_Object_vgroup_remove(
Object *ob,
1926 if (!check_object_vgroup_support_and_warn(ob,
"VertexGroups.remove()", reports)) {
1936 "DeformGroup '%s' not in object '%s'",
1951 if (!check_object_vgroup_support_and_warn(ob,
"VertexGroups.clear()", reports)) {
1961static void rna_VertexGroup_vertex_add(
ID *
id,
1973 reports,
RPT_ERROR,
"VertexGroup.add(): cannot be called while object is in edit mode");
1977 while (index_num--) {
1986static void rna_VertexGroup_vertex_remove(
1993 reports,
RPT_ERROR,
"VertexGroup.remove(): cannot be called while object is in edit mode");
1997 while (index_num--) {
2008 reinterpret_cast<Object *
>(
id), dg, index);
2047bool rna_Object_use_dynamic_topology_sculpting_get(
PointerRNA *
ptr)
2058static std::optional<std::string> rna_ObjectLineArt_path(
const PointerRNA * )
2107static void rna_Object_mesh_symmetry_x_set(
PointerRNA *
ptr,
bool value)
2112static void rna_Object_mesh_symmetry_y_set(
PointerRNA *
ptr,
bool value)
2117static void rna_Object_mesh_symmetry_z_set(
PointerRNA *
ptr,
bool value)
2122static int rna_Object_mesh_symmetry_yz_editable(
const PointerRNA *
ptr,
const char ** )
2141 char value_buf[
sizeof(lgm->
name)];
2143 memcpy(value, value_buf,
len + 1);
2152void rna_Object_lightgroup_set(
PointerRNA *
ptr,
const char *value)
2162static std::optional<std::string> rna_ObjectLightLinking_path(
const PointerRNA * )
2164 return "light_linking";
2167bool rna_Object_light_linking_override_apply(
Main *bmain,
2180 const int len_dst = rnaapply_ctx.
len_src;
2181 const int len_src = rnaapply_ctx.
len_src;
2185 BLI_assert(len_dst == len_src && (!ptr_storage || len_dst == len_storage) && len_dst == 0);
2187 "Unsupported RNA override operation on object light linking pointer");
2251 return collection_ptr;
2254static void rna_LightLinking_receiver_collection_set(
PointerRNA *
ptr,
2269 return collection_ptr;
2272static void rna_LightLinking_blocker_collection_set(
PointerRNA *
ptr,
2303 {0,
nullptr, 0,
nullptr,
nullptr},
2309 srna,
"Vertex Group",
"Group of vertices, used for armature deform and other purposes");
2335 parm =
RNA_def_int_array(func,
"index", 1,
nullptr, 0, 0,
"",
"List of indices", 0, 0);
2337 parm =
RNA_def_float(func,
"weight", 0, 0.0f, 1.0f,
"",
"Vertex weight", 0.0f, 1.0f);
2339 parm =
RNA_def_enum(func,
"type", assign_mode_items, 0,
"",
"Vertex assign mode");
2346 parm =
RNA_def_int_array(func,
"index", 1,
nullptr, 0, 0,
"",
"List of indices", 0, 0);
2352 parm =
RNA_def_int(func,
"index", 0, 0, INT_MAX,
"Index",
"The index of the vertex", 0, INT_MAX);
2354 parm =
RNA_def_float(func,
"weight", 0, 0.0f, 1.0f,
"",
"Vertex weight", 0.0f, 1.0f);
2364 {1,
"OBJECT", ICON_OBJECT_DATAMODE,
"Object",
""},
2365 {0,
"DATA", ICON_MESH_DATA,
"Data",
""},
2366 {0,
nullptr, 0,
nullptr,
nullptr},
2385 prop,
"rna_MaterialSlot_link_get",
"rna_MaterialSlot_link_set",
nullptr);
2394 "rna_MaterialSlot_material_get",
2395 "rna_MaterialSlot_material_set",
2397 "rna_MaterialSlot_material_poll");
2407 prop,
"rna_MaterialSlot_name_get",
"rna_MaterialSlot_name_length",
nullptr);
2436 "rna_Object_active_constraint_get",
2437 "rna_Object_active_constraint_set",
2452 parm =
RNA_def_pointer(func,
"constraint",
"Constraint",
"",
"New constraint");
2459 parm =
RNA_def_pointer(func,
"constraint",
"Constraint",
"",
"Removed constraint");
2471 func,
"from_index", -1, INT_MIN, INT_MAX,
"From Index",
"Index to move", 0, 10000);
2473 parm =
RNA_def_int(func,
"to_index", -1, INT_MIN, INT_MAX,
"To Index",
"Target index", 0, 10000);
2484 "Constraint to copy - may belong to a different object");
2488 parm =
RNA_def_pointer(func,
"new_constraint",
"Constraint",
"",
"New constraint");
2514 prop,
nullptr,
"rna_Armature_act_edit_bone_set",
nullptr,
nullptr);
2524 parm =
RNA_def_string(func,
"name",
"Name", 0,
"",
"New name for the modifier");
2531 parm =
RNA_def_pointer(func,
"modifier",
"Modifier",
"",
"Newly created modifier");
2539 parm =
RNA_def_pointer(func,
"modifier",
"Modifier",
"",
"Modifier to remove");
2553 func,
"from_index", -1, INT_MIN, INT_MAX,
"From Index",
"Index to move", 0, 10000);
2555 parm =
RNA_def_int(func,
"to_index", -1, INT_MIN, INT_MAX,
"To Index",
"Target index", 0, 10000);
2562 prop,
"rna_Object_active_modifier_get",
"rna_Object_active_modifier_set",
nullptr,
nullptr);
2587 parm =
RNA_def_string(func,
"name",
"Name", 0,
"",
"New name for the effect");
2594 parm =
RNA_def_pointer(func,
"shader_fx",
"ShaderFx",
"",
"Newly created effect");
2602 parm =
RNA_def_pointer(func,
"shader_fx",
"ShaderFx",
"",
"Effect to remove");
2630 prop,
"rna_Object_active_particle_system_get",
nullptr,
nullptr,
nullptr);
2632 prop,
"Active Particle System",
"Active particle system being displayed");
2638 "rna_Object_active_particle_system_index_get",
2639 "rna_Object_active_particle_system_index_set",
2640 "rna_Object_active_particle_system_index_range");
2642 prop,
"Active Particle System Index",
"Index of active particle system slot");
2664 "rna_Object_active_vertex_group_get",
2665 "rna_Object_active_vertex_group_set",
2675 "rna_Object_active_vertex_group_index_get",
2676 "rna_Object_active_vertex_group_index_set",
2677 "rna_Object_active_vertex_group_index_range");
2679 prop,
"Active Vertex Group Index",
"Active index in vertex group array");
2686 RNA_def_string(func,
"name",
"Group", 0,
"",
"Vertex group name");
2687 parm =
RNA_def_pointer(func,
"group",
"VertexGroup",
"",
"New vertex group");
2693 parm =
RNA_def_pointer(func,
"group",
"VertexGroup",
"",
"Vertex group to remove");
2729 {
OBJECT_LRT_INHERIT,
"INHERIT", 0,
"Inherit",
"Use settings from the parent collection"},
2734 "Generate feature lines for this object's data"},
2739 "Only use the object data to produce occlusion"},
2744 "Don't use this object for Line Art rendering"},
2746 "INTERSECTION_ONLY",
2748 "Intersection Only",
2749 "Only generate intersection lines for this collection"},
2754 "Include this object but do not generate intersection lines"},
2756 "FORCE_INTERSECTION",
2758 "Force Intersection",
2759 "Generate intersection lines even with objects that disabled intersection"},
2760 {0,
nullptr, 0,
nullptr,
nullptr},
2776 prop,
"Use Crease",
"Use this object's crease setting to overwrite scene global");
2789 "Use Intersection Priority",
2790 "Use this object's intersection priority to override collection setting");
2796 "Intersection Priority",
2797 "The intersection line will be included into the object with the "
2798 "higher intersection priority value");
2834 prop,
"Disable in Spherical Light Probes",
"Globally disable in spherical light probes");
2840 prop,
"Disable in Planar Light Probes",
"Globally disable in planar light probes");
2847 "Disable in Surface Picking",
2848 "Disable surface influence during selection, snapping and depth-picking operators. "
2849 "Usually used to avoid semi-transparent objects to affect scene navigation");
2857 prop,
NC_OBJECT |
ND_DRAW,
"rna_Object_duplicator_visibility_flag_update");
2864 prop,
NC_OBJECT |
ND_DRAW,
"rna_Object_duplicator_visibility_flag_update");
2885 prop,
"Transmission Visibility",
"Object visibility to transmission rays");
2891 prop,
"Volume Scatter Visibility",
"Object visibility to volume scattering rays");
2905 "Render objects as a holdout or matte, creating a hole in the image with zero alpha, to "
2906 "fill out in compositing with real footage or another render");
2914 "Only render shadows and reflections on this object, for compositing renders into real "
2915 "footage. Objects with this setting are considered to already exist in the footage, "
2916 "objects without it are synthetic objects being composited into it.");
2929 {0,
nullptr, 0,
nullptr,
nullptr},
2933 {
OB_BOUNDBOX,
"BOUNDS", 0,
"Bounds",
"Display the bounds of the object"},
2934 {
OB_WIRE,
"WIRE", 0,
"Wire",
"Display the object as a wireframe"},
2939 "Display the object as a solid (if solid drawing is enabled in the viewport)"},
2944 "Display the object with textures (if textures are enabled in the viewport)"},
2945 {0,
nullptr, 0,
nullptr,
nullptr},
2949 {
OB_BOUND_BOX,
"BOX", 0,
"Box",
"Display bounds as box"},
2952 {
OB_BOUND_CONE,
"CONE", 0,
"Cone",
"Display bounds as cone"},
2954 {0,
nullptr, 0,
nullptr,
nullptr},
2957 static int boundbox_dimsize[] = {8, 3};
2969 prop,
"rna_Object_data_get",
"rna_Object_data_set",
"rna_Object_data_typef",
nullptr);
2998 "Object's bounding box in object-space coordinates, all values are -1.0 when "
3013 prop,
nullptr,
"rna_Object_parent_type_set",
"rna_Object_parent_type_itemf");
3022 prop,
"Parent Vertices",
"Indices of vertices in case of a vertex parenting relation");
3030 prop,
"Parent Bone",
"Name of parent bone in case of a bone parenting relation");
3037 "Use Final Indices",
3038 "Use the final evaluated indices rather than the original mesh indices");
3045 "Camera Parent Lock",
3046 "View Lock 3D viewport camera transformation affects the object's "
3059 "Axis that points in the 'forward' direction (applies to Instance Vertices when "
3060 "Align to Vertex Normal is enabled)");
3069 "Axis that points in the upward direction (applies to Instance Vertices when "
3070 "Align to Vertex Normal is enabled)");
3079 "rna_Object_material_slots_begin",
3080 "rna_Object_material_slots_next",
3081 "rna_Object_material_slots_end",
3082 "rna_Object_material_slots_get",
3083 "rna_Object_material_slots_length",
3092 "rna_Object_active_material_get",
3093 "rna_Object_active_material_set",
3095 "rna_MaterialSlot_material_poll");
3106 "rna_Object_active_material_index_get",
3107 "rna_Object_active_material_index_set",
3108 "rna_Object_active_material_index_range");
3132 prop,
"rna_Object_rotation_axis_angle_get",
"rna_Object_rotation_axis_angle_set",
nullptr);
3136 prop,
"Axis-Angle Rotation",
"Angle of Rotation for Axis-Angle rotation representation");
3154 "The kind of rotation to apply, values from other rotation modes are not used");
3171 prop,
"rna_Object_dimensions_get",
"rna_Object_dimensions_set",
nullptr);
3175 "Absolute bounding box dimensions of the object.\n"
3176 "Warning: Assigning to it or its members multiple consecutive times "
3177 "will not work correctly, as this needs up-to-date evaluated data");
3184 prop,
"Delta Location",
"Extra translation added to the location of the object");
3192 "Delta Rotation (Euler)",
3193 "Extra rotation added to the rotation of the object (when using Euler rotations)");
3201 "Delta Rotation (Quaternion)",
3202 "Extra rotation added to the rotation of the object (when using Quaternion rotations)");
3212 "Delta Rotation (Axis Angle)",
3213 "Extra rotation added to the rotation of the object (when using Axis-Angle rotations)");
3244 "Lock Rotation (4D Angle)",
3245 "Lock editing of 'angle' component of four-component rotations when transforming");
3251 "Lock Rotations (4D)",
3252 "Lock editing of four component rotations by components (instead of as Eulers)");
3267 prop,
"rna_Object_matrix_world_get",
"rna_Object_matrix_world_set",
nullptr);
3279 "Parent relative transformation matrix.\n"
3280 "Warning: Only takes into account object parenting, so e.g. in case of bone parenting "
3281 "you get a matrix relative to the Armature object, not to the actual parent bone");
3283 prop,
"rna_Object_matrix_local_get",
"rna_Object_matrix_local_set",
nullptr);
3293 "Matrix access to location, rotation and scale (including deltas), "
3294 "before constraints and parenting are applied");
3296 prop,
"rna_Object_matrix_basis_get",
"rna_Object_matrix_basis_set",
nullptr);
3304 prop,
"Parent Inverse Matrix",
"Inverse of object's parent matrix at time of parenting");
3311 prop,
"Modifiers",
"Modifiers affecting the geometric data of the object");
3330 prop,
"Constraints",
"Constraints affecting the transformation of the object");
3342 "constraints__remove");
3349 "rna_Object_vertex_groups_begin",
3350 "rna_iterator_listbase_next",
3351 "rna_iterator_listbase_end",
3352 "rna_iterator_listbase_get",
3375 prop,
"Empty Display Size",
"Size of display for empties in the viewport");
3390 "Parameters defining which layer, pass and frame of the image is displayed");
3396 prop,
"Empty Image Depth",
"Determine which other objects will occlude the image");
3403 prop,
"Display in Perspective Mode",
"Display image in perspective mode");
3410 prop,
"Display in Orthographic Mode",
"Display image in orthographic mode");
3417 "Display Only Axis Aligned",
3418 "Only display the image when it is aligned with the view axis");
3426 "Use alpha blending instead of alpha test (can produce sorting artifacts)");
3430 {0,
"DOUBLE_SIDED", 0,
"Both",
""},
3433 {0,
nullptr, 0,
nullptr,
nullptr},
3446 "Add Rest Position",
3447 "Add a \"rest_position\" attribute that is a copy of the position "
3448 "attribute before shape keys and modifiers are evaluated");
3455 prop,
"Pass Index",
"Index number for the \"Object Index\" render pass");
3460 prop,
"Color",
"Object color and alpha, used when the Object Color mode is enabled");
3469 prop,
"Field Settings",
"Settings for using the object as a field in physics simulation");
3476 "Collision Settings",
3477 "Settings for using the object as a collider in physics simulation");
3503 prop,
"Use Simulation Cache",
"Cache frames during simulation nodes playback");
3520 prop,
"Orient with Normals",
"Rotate instance according to vertex normal");
3584 prop,
"Display Wire",
"Display the object's wireframe over solid shading");
3601 prop,
"Display Transparent",
"Display material transparency in the object");
3619 prop,
"Solo Active Shape Key",
"Only show the active shape key at full value");
3626 prop,
"Shape Key Edit Mode",
"Display shape keys in edit mode (for meshes only)");
3635 prop,
"rna_Object_active_shape_key_get",
nullptr,
nullptr,
nullptr);
3642 "rna_Object_active_shape_key_index_get",
3643 "rna_Object_active_shape_key_index_set",
3644 "rna_Object_active_shape_key_index_range");
3685 prop,
"rna_Object_mesh_symmetry_x_get",
"rna_Object_mesh_symmetry_x_set");
3692 prop,
"rna_Object_mesh_symmetry_y_get",
"rna_Object_mesh_symmetry_y_set");
3700 prop,
"rna_Object_mesh_symmetry_z_get",
"rna_Object_mesh_symmetry_z_set");
3709 "rna_Object_lightgroup_get",
3710 "rna_Object_lightgroup_length",
3711 "rna_Object_lightgroup_set");
3722 prop,
nullptr,
nullptr,
"rna_Object_light_linking_override_apply");
3731 "Shadow Terminator Normal Offset",
3732 "Offset rays from the surface to reduce shadow terminator artifact on low poly geometry. "
3733 "Only affect triangles that are affected by the geometry offset");
3741 "Shadow Terminator Geometry Offset",
3742 "Offset rays from the surface to reduce shadow terminator artifact on "
3743 "low poly geometry. Only affects triangles at grazing angles to light");
3751 "Shadow Terminator Shading Offset",
3752 "Push the shadow terminator towards the light to hide artifacts on low poly geometry");
3783 "rna_LightLinking_receiver_collection_get",
3784 "rna_LightLinking_receiver_collection_set",
3788 "Receiver Collection",
3789 "Collection which defines light linking relation of this emitter");
3796 "rna_LightLinking_blocker_collection_get",
3797 "rna_LightLinking_blocker_collection_set",
3801 "Blocker Collection",
3802 "Collection which defines objects which block light from this emitter");
void BKE_pose_rebuild(Main *bmain, Object *ob, bArmature *arm, bool do_id_user)
void BKE_rotMode_change_values(float quat[4], float eul[3], float axis[3], float *angle, short oldMode, short newMode)
Camera data-block and utility functions.
bool BKE_collection_has_object_recursive(Collection *collection, Object *ob)
void BKE_constraints_free(struct ListBase *list)
bool BKE_constraint_remove_ex(ListBase *list, struct Object *ob, struct bConstraint *con)
struct bConstraint * BKE_constraint_add_for_object(struct Object *ob, const char *name, short type)
struct bConstraint * BKE_constraint_copy_for_object(struct Object *ob, struct bConstraint *src)
struct bConstraint * BKE_constraint_duplicate_ex(struct bConstraint *src, int flag, bool do_extern)
struct bConstraint * BKE_constraints_active_get(struct ListBase *list)
void BKE_constraints_active_set(ListBase *list, struct bConstraint *con)
void BKE_constraint_unique_name(struct bConstraint *con, struct ListBase *list)
Scene * CTX_data_scene(const bContext *C)
Main * CTX_data_main(const bContext *C)
void BKE_curve_type_test(Object *ob, bool dimension_update)
void BKE_editlattice_load(struct Object *obedit)
void BKE_editlattice_make(struct Object *obedit)
void BKE_editmesh_looptris_and_normals_calc(BMEditMesh *em)
Key * BKE_key_from_object(Object *ob)
void BKE_main_collection_sync_remap(const Main *bmain)
int BKE_lightgroup_membership_length(const LightgroupMembership *lgm)
void BKE_lightgroup_membership_set(LightgroupMembership **lgm, const char *name)
int BKE_lightgroup_membership_get(const LightgroupMembership *lgm, char *name)
bool BKE_id_is_in_global_main(ID *id)
void BKE_light_linking_copy(struct Object *object_dst, const struct Object *object_src, const int copy_flags)
void BKE_light_linking_delete(struct Object *object, const int delete_flags)
void BKE_light_linking_collection_assign_only(struct Object *object, struct Collection *new_collection, LightLinkingType link_type)
struct Collection * BKE_light_linking_collection_get(const struct Object *object, LightLinkingType link_type)
General operations, lookup, etc. for materials.
int BKE_object_material_count_eval(const Object *ob)
@ BKE_MAT_ASSIGN_EXISTING
void BKE_object_materials_sync_length(Main *bmain, Object *ob, ID *id)
Material * BKE_object_material_get(Object *ob, short act)
Material * BKE_object_material_get_eval(Object *ob, short act)
void BKE_object_material_assign(Main *bmain, Object *ob, Material *ma, short act, int assign_type)
void BKE_mesh_assign_object(Main *bmain, Object *ob, Mesh *mesh)
Mesh * BKE_mesh_wrapper_ensure_subdivision(Mesh *mesh)
ModifierData * BKE_modifiers_findby_type(const Object *ob, ModifierType type)
const ModifierTypeInfo * BKE_modifier_get_info(ModifierType type)
@ eModifierTypeFlag_Single
void BKE_modifier_copydata(const ModifierData *md, ModifierData *target)
General operations, lookup, etc. for blender objects.
void BKE_object_matrix_local_get(Object *ob, float r_mat[4][4])
void BKE_object_empty_draw_type_set(Object *ob, int value)
void BKE_object_modifier_set_active(Object *ob, ModifierData *md)
bool BKE_object_is_in_editmode(const Object *ob)
void BKE_object_dimensions_set(Object *ob, const float value[3], int axis_mask)
void BKE_object_apply_mat4(Object *ob, const float mat[4][4], bool use_compat, bool use_parent)
void BKE_object_dimensions_eval_cached_get(const Object *ob, float r_vec[3])
std::optional< blender::Bounds< blender::float3 > > BKE_object_boundbox_eval_cached_get(const Object *ob)
ModifierData * BKE_object_active_modifier(const Object *ob)
void BKE_object_to_mat4(const Object *ob, float r_mat[4][4])
bool BKE_object_is_in_editmode_vgroup(const Object *ob)
bool BKE_object_sculpt_use_dyntopo(const Object *object)
void psys_set_current_num(struct Object *ob, int index)
short psys_get_current_num(struct Object *ob)
struct ParticleSystem * psys_get_current(struct Object *ob)
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
#define BLI_assert_msg(a, msg)
int BLI_findindex(const ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void * BLI_findlink(const ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
bool BLI_listbase_move_index(ListBase *listbase, int from, int to) ATTR_NONNULL()
void void * BLI_listbase_string_or_index_find(const ListBase *listbase, const char *string, size_t string_offset, int index) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void BLI_insertlinkafter(ListBase *listbase, void *vprevlink, void *vnewlink) ATTR_NONNULL(1)
void BLI_remlink(ListBase *listbase, void *vlink) ATTR_NONNULL(1)
int BLI_listbase_count(const ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE int max_ii(int a, int b)
void mul_m4_m4m4(float R[4][4], const float A[4][4], const float B[4][4])
void copy_m4_m4(float m1[4][4], const float m2[4][4])
bool invert_m4_m4(float inverse[4][4], const float mat[4][4])
MINLINE void copy_v3_v3(float r[3], const float a[3])
void copy_vn_fl(float *array_tar, int size, float val)
char * STRNCPY(char(&dst)[N], const char *src)
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
#define UNUSED_VARS_NDEBUG(...)
#define BLT_I18NCONTEXT_ID_IMAGE
#define BLT_I18NCONTEXT_ID_ID
void DEG_id_tag_update(ID *id, unsigned int flags)
void DEG_relations_tag_update(Main *bmain)
bool DEG_is_evaluated(const T *id)
ID and Library types, which are fundamental for SDNA.
#define ID_IS_EDITABLE(_id)
@ LIBOVERRIDE_OP_INSERT_AFTER
@ CONSTRAINT_OVERRIDE_LIBRARY_LOCAL
@ ME_EDIT_MIRROR_VERTEX_GROUPS
@ eModifierType_ParticleSystem
@ OB_MODE_VERTEX_GREASE_PENCIL
@ OB_MODE_EDIT_GPENCIL_LEGACY
@ OB_MODE_PAINT_GREASE_PENCIL
@ OB_MODE_SCULPT_GREASE_PENCIL
@ OB_MODE_WEIGHT_GREASE_PENCIL
Object is a sort of wrapper for general info.
@ OB_EMPTY_IMAGE_USE_ALPHA_BLEND
@ OB_EMPTY_IMAGE_HIDE_FRONT
@ OB_EMPTY_IMAGE_HIDE_NON_AXIS_ALIGNED
@ OB_EMPTY_IMAGE_HIDE_ORTHOGRAPHIC
@ OB_EMPTY_IMAGE_HIDE_BACK
@ OB_EMPTY_IMAGE_HIDE_PERSPECTIVE
@ GREASE_PENCIL_LINEART_SCENE
@ GREASE_PENCIL_LINEART_COLLECTION
@ GREASE_PENCIL_LINEART_OBJECT
#define OB_DATA_SUPPORT_ID(_id_type)
@ OB_MODIFIER_FLAG_ADD_REST_POSITION
#define OB_TYPE_SUPPORT_PARVERT(_type)
@ OBJECT_LRT_OWN_INTERSECTION_PRIORITY
@ OB_FLAG_USE_SIMULATION_CACHE
@ OB_TRANSFORM_ADJUST_ROOT_PARENT_FOR_VIEW_LOCK
@ OB_PARENT_USE_FINAL_INDICES
@ OB_EMPTY_IMAGE_DEPTH_DEFAULT
@ OB_EMPTY_IMAGE_DEPTH_FRONT
@ OB_EMPTY_IMAGE_DEPTH_BACK
@ OBJECT_LRT_NO_INTERSECTION
@ OBJECT_LRT_OCCLUSION_ONLY
@ OBJECT_LRT_INTERSECTION_ONLY
@ OBJECT_LRT_FORCE_INTERSECTION
void EDBM_mesh_make(Object *ob, int select_mode, bool add_key_index)
void EDBM_mesh_load(Main *bmain, Object *ob)
void PE_current_changed(Depsgraph *depsgraph, Scene *scene, Object *ob)
#define RNA_ENUM_ITEM_SEPR
#define RNA_TRANSLATION_PREC_DEFAULT
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
@ PROPOVERRIDE_NO_COMPARISON
@ PROPOVERRIDE_LIBRARY_INSERTION
@ PROPOVERRIDE_NO_PROP_NAME
static btDbvtVolume bounds(btDbvtNode **leaves, int count)
void ED_curve_editnurb_make(Object *obedit)
void ED_curve_editnurb_load(Main *bmain, Object *obedit)
float length(VecOp< float, D >) RET
std::array< VecBase< T, 3 >, 8 > corners(const Bounds< VecBase< T, 3 > > &bounds)
_W64 unsigned int uintptr_t
ModifierData * modifier_add(ReportList *reports, Main *bmain, Scene *scene, Object *ob, const char *name, int type)
void constraint_active_set(Object *ob, bConstraint *con)
void shaderfx_clear(Main *bmain, Object *ob)
void constraint_update(Main *bmain, Object *ob)
ShaderFxData * shaderfx_add(ReportList *reports, Main *bmain, Scene *scene, Object *ob, const char *name, int type)
float vgroup_vert_weight(Object *ob, bDeformGroup *dg, int vertnum)
void constraint_tag_update(Main *bmain, Object *ob, bConstraint *con)
bool parent_set(ReportList *reports, const bContext *C, Scene *scene, Object *const ob, Object *const par, int partype, bool xmirror, bool keep_transform, const int vert_par[3])
bool modifier_move_to_index(ReportList *reports, eReportType error_type, Object *ob, ModifierData *md, int index, bool allow_partial)
bool shaderfx_remove(ReportList *reports, Main *bmain, Object *ob, ShaderFxData *fx)
void vgroup_vert_add(Object *ob, bDeformGroup *dg, int vertnum, float weight, int assignmode)
void vgroup_vert_remove(Object *ob, bDeformGroup *dg, int vertnum)
void modifiers_clear(Main *bmain, Scene *scene, Object *ob)
bool modifier_remove(ReportList *reports, Main *bmain, Scene *scene, Object *ob, ModifierData *md)
SymEdge< T > * sym(const SymEdge< T > *se)
MatBase< float, 4, 4 > float4x4
const PointerRNA PointerRNA_NULL
PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop)
void rna_iterator_listbase_begin(CollectionPropertyIterator *iter, PointerRNA *ptr, ListBase *lb, IteratorSkipFunc skip)
bool RNA_enum_name_from_value(const EnumPropertyItem *item, int value, const char **r_name)
void RNA_property_update_main(Main *bmain, Scene *scene, PointerRNA *ptr, PropertyRNA *prop)
bool RNA_pointer_is_null(const PointerRNA *ptr)
int RNA_property_enum_get(PointerRNA *ptr, PropertyRNA *prop)
std::string RNA_property_string_get(PointerRNA *ptr, PropertyRNA *prop)
PointerRNA RNA_pointer_create_discrete(ID *id, StructRNA *type, void *data)
PointerRNA RNA_pointer_create_with_parent(const PointerRNA &parent, StructRNA *type, void *data)
PointerRNA RNA_id_pointer_create(ID *id)
void rna_def_animdata_common(StructRNA *srna)
void rna_def_animviz_common(StructRNA *srna)
void rna_def_motionpath_common(StructRNA *srna)
const EnumPropertyItem rna_enum_constraint_type_items[]
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
void RNA_def_struct_name_property(StructRNA *srna, PropertyRNA *prop)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, const int maxlen, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_int_array(StructOrFunctionRNA *cont_, const char *identifier, const int len, const int *default_value, const int hardmin, const int hardmax, const char *ui_name, const char *ui_description, const int softmin, const int softmax)
void RNA_def_property_pointer_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_define_lib_overridable(const bool make_overridable)
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
void RNA_define_animate_sdna(bool animate)
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_function_return(FunctionRNA *func, PropertyRNA *ret)
void RNA_def_property_float_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
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_srna(PropertyRNA *prop, const char *type)
PropertyRNA * RNA_def_float(StructOrFunctionRNA *cont_, const char *identifier, const float default_value, const float hardmin, const float hardmax, const char *ui_name, const char *ui_description, const float softmin, const 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)
void RNA_def_property_boolean_bitset_array_sdna(PropertyRNA *prop, const char *structname, const char *propname, const int64_t booleanbit, const int length)
void RNA_def_property_boolean_default(PropertyRNA *prop, bool value)
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set)
void RNA_def_property_multi_array(PropertyRNA *prop, int dimension, const int length[])
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, const int default_value, const char *ui_name, const char *ui_description)
const float rna_default_axis_angle[4]
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_struct_clear_flag(StructRNA *srna, int flag)
void RNA_def_property_array(PropertyRNA *prop, int length)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
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_function_ui_description(FunctionRNA *func, const char *description)
void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *func)
const int rna_matrix_dimsize_4x4[]
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
void RNA_def_property_enum_funcs(PropertyRNA *prop, const char *get, const char *set, const char *item)
void RNA_def_property_editable_func(PropertyRNA *prop, const char *editable)
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_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)
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_int_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_struct_ui_icon(StructRNA *srna, int icon)
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_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_override_clear_flag(PropertyRNA *prop, PropertyOverrideFlag flag)
void RNA_def_property_float_sdna(PropertyRNA *prop, const char *structname, const char *propname)
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_def_property_int_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_float_array_default(PropertyRNA *prop, const float *array)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, const int default_value, const int hardmin, const int hardmax, const char *ui_name, const char *ui_description, const int softmin, const int softmax)
void RNA_def_property_boolean_negative_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
void RNA_def_struct_nested(BlenderRNA *brna, StructRNA *srna, const char *structname)
void RNA_def_property_override_flag(PropertyRNA *prop, PropertyOverrideFlag flag)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
bool rna_Armature_object_poll(PointerRNA *ptr, PointerRNA value)
bool rna_Light_object_poll(PointerRNA *ptr, PointerRNA value)
int rna_object_vgroup_name_index_length(PointerRNA *ptr, int index)
bool rna_Lattice_object_poll(PointerRNA *ptr, PointerRNA value)
void rna_object_vgroup_name_set(PointerRNA *ptr, const char *value, char *result, int result_maxncpy)
bool rna_Mesh_object_poll(PointerRNA *ptr, PointerRNA value)
void rna_object_uvlayer_name_set(PointerRNA *ptr, const char *value, char *result, int result_maxncpy)
void rna_object_vgroup_name_index_set(PointerRNA *ptr, const char *value, short *index)
bool rna_Camera_object_poll(PointerRNA *ptr, PointerRNA value)
void rna_object_vgroup_name_index_get(PointerRNA *ptr, char *value, int index)
void rna_object_vcollayer_name_set(PointerRNA *ptr, const char *value, char *result, int result_maxncpy)
bool rna_Curve_object_poll(PointerRNA *ptr, PointerRNA value)
void rna_Object_internal_update_data(Main *bmain, Scene *scene, PointerRNA *ptr)
void RNA_api_object(StructRNA *srna)
const EnumPropertyItem rna_enum_object_modifier_type_items[]
const EnumPropertyItem rna_enum_object_empty_drawtype_items[]
const EnumPropertyItem rna_enum_metaelem_type_items[]
static void rna_def_object_light_linking(BlenderRNA *brna)
const EnumPropertyItem rna_enum_workspace_object_mode_items[]
static void rna_def_object_shaderfxs(BlenderRNA *brna, PropertyRNA *cprop)
static const EnumPropertyItem instance_items[]
static const EnumPropertyItem parent_type_items[]
const EnumPropertyItem rna_enum_object_gpencil_type_items[]
const EnumPropertyItem rna_enum_object_rotation_mode_items[]
static void rna_def_object_visibility(StructRNA *srna)
static void rna_def_material_slot(BlenderRNA *brna)
static void rna_def_object(BlenderRNA *brna)
const EnumPropertyItem rna_enum_lightprobes_type_items[]
static void rna_def_object_vertex_groups(BlenderRNA *brna, PropertyRNA *cprop)
const EnumPropertyItem rna_enum_object_mode_items[]
static void rna_def_object_lineart(BlenderRNA *brna)
const EnumPropertyItem rna_enum_object_axis_items[]
const EnumPropertyItem rna_enum_object_type_curve_items[]
#define INSTANCE_ITEM_COLLECTION
const EnumPropertyItem rna_enum_object_type_items[]
static void rna_def_object_modifiers(BlenderRNA *brna, PropertyRNA *cprop)
static const EnumPropertyItem rna_enum_object_empty_image_depth_items[]
static void rna_def_vertex_group(BlenderRNA *brna)
static void rna_def_object_display(BlenderRNA *brna)
static void rna_def_object_constraints(BlenderRNA *brna, PropertyRNA *cprop)
static void rna_def_object_particle_systems(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_object(BlenderRNA *brna)
#define INSTANCE_ITEMS_SHARED
const EnumPropertyItem rna_enum_object_shaderfx_type_items[]
union CollectionPropertyIterator::@220100362304005352221007113371015217044252346141 internal
int subitem_reference_index
char * subitem_local_name
char * subitem_reference_name
struct Collection * blocker_collection
struct Collection * receiver_collection
struct MaterialGPencilStyle * gp_style
MeshRuntimeHandle * runtime
struct Collection * instance_collection
ObjectRuntimeHandle * runtime
LightLinking * light_linking
IDOverrideLibraryPropertyOperation * liboverride_operation
void WM_main_add_notifier(uint type, void *reference)