57 "GREASE_PENCIL_VERTEX_WEIGHT_PROXIMITY",
58 ICON_MOD_VERTEX_WEIGHT,
59 "Vertex Weight Proximity",
60 "Generate vertex weights based on distance to object"},
65 ICON_MOD_DATA_TRANSFER,
67 "Transfer several types of data (vertex groups, UV maps, vertex colors, custom normals) from "
68 "one mesh to another"},
73 "Deform the mesh using an external frame-by-frame vertex transform cache"},
75 "MESH_SEQUENCE_CACHE",
77 "Mesh Sequence Cache",
78 "Deform the mesh or curve using an external mesh cache in Alembic format"},
83 "Modify the direction of the surface normals"},
88 "Modify the direction of the surface normals using a weighting method"},
93 "Project the UV map coordinates from the negative Z axis of another object"},
98 "Transform the UV map using the difference between two objects"},
100 "VERTEX_WEIGHT_EDIT",
101 ICON_MOD_VERTEX_WEIGHT,
102 "Vertex Weight Edit",
103 "Modify of the weights of a vertex group"},
106 ICON_MOD_VERTEX_WEIGHT,
108 "Mix the weights of two vertex groups"},
110 "VERTEX_WEIGHT_PROXIMITY",
111 ICON_MOD_VERTEX_WEIGHT,
112 "Vertex Weight Proximity",
113 "Set the vertex group weights based on the distance to another target object"},
115 "GREASE_PENCIL_COLOR",
116 ICON_MOD_HUE_SATURATION,
118 "Change hue/saturation/value of the strokes"},
120 "GREASE_PENCIL_TINT",
123 "Tint the color of the strokes"},
125 "GREASE_PENCIL_OPACITY",
128 "Change the opacity of the strokes"},
130 "GREASE_PENCIL_VERTEX_WEIGHT_ANGLE",
131 ICON_MOD_VERTEX_WEIGHT,
132 "Vertex Weight Angle",
133 "Generate vertex weights based on stroke angle"},
135 "GREASE_PENCIL_TIME",
140 "GREASE_PENCIL_TEXTURE",
143 "Change stroke UV texture values"},
150 "Create copies of the shape with offsets"},
155 "Generate sloped corners by adding geometry to the mesh's edges or vertices"},
160 "Use another shape to cut, combine or perform a difference operation"},
165 "Cause the faces of the mesh object to appear or disappear one after the other over time"},
170 "Reduce the geometry density"},
175 "Split away joined faces at the edges"},
181 "Dynamically hide vertices based on a vertex group or armature"},
186 "Mirror along the local X, Y and/or Z axes, over the object origin"},
196 "Subdivide the mesh in a way that allows editing the higher subdivision levels"},
201 "Generate new mesh topology based on the current shape"},
206 "Lathe around an axis, treating the input mesh as a profile"},
211 "Create a solid shape from vertices and edges, using the vertex radius to define the "
217 "Subdivision Surface",
218 "Split the faces into smaller parts, giving it a smoother appearance"},
221 ICON_MOD_TRIANGULATE,
223 "Convert all polygons to triangles"},
233 "Find groups of vertices closer than dist and merge them together"},
238 "Convert faces into thickened edges"},
240 "GREASE_PENCIL_ARRAY",
243 "Duplicate strokes into an array"},
245 "GREASE_PENCIL_BUILD",
248 "Grease Pencil build modifier"},
250 "GREASE_PENCIL_LENGTH",
253 "Grease Pencil length modifier"},
258 "Generate Line Art from scene geometries"},
260 "GREASE_PENCIL_MIRROR",
263 "Duplicate strokes like a mirror"},
265 "GREASE_PENCIL_MULTIPLY",
266 ICON_GP_MULTIFRAME_EDITING,
268 "Generate multiple strokes around original strokes"},
270 "GREASE_PENCIL_SIMPLIFY",
273 "Simplify stroke reducing number of points"},
275 "GREASE_PENCIL_SUBDIV",
278 "Grease Pencil subdivide modifier"},
280 "GREASE_PENCIL_ENVELOPE",
283 "Create an envelope shape"},
285 "GREASE_PENCIL_OUTLINE",
288 "Convert stroke to outline"},
295 "Deform the shape using an armature object"},
300 "Shift the shape towards a predefined primitive"},
301 {
eModifierType_Curve,
"CURVE", ICON_MOD_CURVE,
"Curve",
"Bend the mesh using a curve object"},
306 "Offset vertices based on a texture"},
307 {
eModifierType_Hook,
"HOOK", ICON_HOOK,
"Hook",
"Deform specific points using another object"},
312 "Deform based a series of anchor points"},
317 "Deform using the shape of a lattice object"},
322 "Deform using a different mesh, which acts as a deformation cage"},
327 "Project the shape onto another object"},
330 ICON_MOD_SIMPLEDEFORM,
332 "Deform the shape by twisting, bending, tapering or stretching"},
337 "Smooth the mesh by flattening the angles between adjacent faces"},
342 "Smooth the mesh while still preserving the volume"},
347 "Reduce the noise on a mesh surface with minimal changes to its shape"},
352 "Transfer motion from another mesh"},
357 "Warp parts of a mesh to a new location in a very flexible way thanks to 2 specified "
363 "Adds a ripple-like motion to an object's geometry"},
368 "Deform volume based on noise or other vector fields"},
370 "GREASE_PENCIL_HOOK",
373 "Deform stroke points using objects"},
375 "GREASE_PENCIL_NOISE",
378 "Generate noise wobble in grease pencil strokes"},
380 "GREASE_PENCIL_OFFSET",
383 "Change stroke location, rotation, or scale"},
385 "GREASE_PENCIL_SMOOTH",
388 "Smooth grease pencil strokes"},
390 "GREASE_PENCIL_THICKNESS",
393 "Change stroke thickness"},
395 "GREASE_PENCIL_LATTICE",
398 "Deform strokes using a lattice object"},
400 "GREASE_PENCIL_DASH",
403 "Generate dot-dash styled strokes"},
405 "GREASE_PENCIL_ARMATURE",
408 "Deform stroke points using armature object"},
410 "GREASE_PENCIL_SHRINKWRAP",
413 "Project the shape onto another object"},
421 "For colliders participating in physics simulation, control which level in the modifier "
422 "stack is used as the collision surface"},
425 ICON_MOD_DYNAMICPAINT,
427 "Turn objects into paint canvases and brushes, creating color attributes, image sequences, "
433 "Break apart the mesh faces and let them follow particles"},
438 "Physics simulation for fluids, like water, oil and smoke"},
439 {
eModifierType_Ocean,
"OCEAN", ICON_MOD_OCEAN,
"Ocean",
"Generate a moving ocean surface"},
442 ICON_MOD_PARTICLE_INSTANCE,
444 "Duplicate mesh at the location of particles"},
449 "Spawn particles from the shape"},
454 "Simulate soft deformable objects"},
456 {0,
nullptr, 0,
nullptr,
nullptr},
464 "Split the quads in nice triangles, slower method"},
469 "Split the quads on the first and third vertices"},
474 "Split the quads on the 2nd and 4th vertices"},
479 "Split the quads along their shortest diagonal"},
484 "Split the quads along their longest diagonal"},
485 {0,
nullptr, 0,
nullptr,
nullptr},
493 "Arrange the new triangles evenly (slow)"},
498 "Split the polygons with an ear clipping algorithm"},
499 {0,
nullptr, 0,
nullptr,
nullptr},
507 "The point is constrained to the surface of the target object, "
508 "with distance offset towards the original point location"},
513 "The point is constrained to be inside the target object"},
518 "The point is constrained to be outside the target object"},
523 "The point is constrained to the surface of the target object, "
524 "with distance offset always to the outside, towards or away from the original location"},
529 "The point is constrained to the surface of the target object, "
530 "with distance offset applied exactly along the target normal"},
531 {0,
nullptr, 0,
nullptr,
nullptr},
536 "NEAREST_SURFACEPOINT",
538 "Nearest Surface Point",
539 "Shrink the mesh to the nearest target surface"},
544 "Shrink the mesh to the nearest target surface along a given axis"},
549 "Shrink the mesh to the nearest target vertex"},
553 "Target Normal Project",
554 "Shrink the mesh to the nearest target surface "
555 "along the interpolated vertex normals of the target"},
556 {0,
nullptr, 0,
nullptr,
nullptr},
560 {0,
"OFF", 0,
"Off",
"No culling"},
565 "No projection when in front of the face"},
567 {0,
nullptr, 0,
nullptr,
nullptr},
578 {0,
nullptr, 0,
nullptr,
nullptr},
593 {0,
nullptr, 0,
nullptr,
nullptr},
605 "Nearest Edge Vertex",
606 "Copy from closest vertex of closest edge"},
608 "EDGEINTERP_NEAREST",
610 "Nearest Edge Interpolated",
611 "Copy from interpolated values of vertices from closest point on closest edge"},
615 "Nearest Face Vertex",
616 "Copy from closest vertex of closest face"},
618 "POLYINTERP_NEAREST",
620 "Nearest Face Interpolated",
621 "Copy from interpolated values of vertices from closest point on closest face"},
623 "POLYINTERP_VNORPROJ",
625 "Projected Face Interpolated",
626 "Copy from interpolated values of vertices from point on closest face hit by "
627 "normal-projection"},
628 {0,
nullptr, 0,
nullptr,
nullptr},
637 "Copy from most similar edge (edge which vertices are the closest of destination edge's "
643 "Copy from closest edge (using midpoints)"},
648 "Copy from closest edge of closest face (using midpoints)"},
650 "EDGEINTERP_VNORPROJ",
652 "Projected Edge Interpolated",
653 "Interpolate all source edges hit by the projection of destination one along its own normal "
655 {0,
nullptr, 0,
nullptr,
nullptr},
663 "Nearest Corner and Best Matching Normal",
664 "Copy from nearest corner which has the best matching normal"},
668 "Nearest Corner and Best Matching Face Normal",
669 "Copy from nearest corner which has the face with the best matching normal to destination "
670 "corner's face one"},
674 "Nearest Corner of Nearest Face",
675 "Copy from nearest corner of nearest face"},
677 "POLYINTERP_NEAREST",
679 "Nearest Face Interpolated",
680 "Copy from interpolated corners of the nearest source face"},
682 "POLYINTERP_LNORPROJ",
684 "Projected Face Interpolated",
685 "Copy from interpolated corners of the source face hit by corner normal projection"},
686 {0,
nullptr, 0,
nullptr,
nullptr},
695 "Copy from nearest face (using center points)"},
699 "Best Normal-Matching",
700 "Copy from source face which normal is the closest to destination one"},
702 "POLYINTERP_PNORPROJ",
704 "Projected Face Interpolated",
705 "Interpolate all source polygons intersected by the projection of destination one along its "
707 {0,
nullptr, 0,
nullptr,
nullptr},
711 {
CDT_MIX_TRANSFER,
"REPLACE", 0,
"Replace",
"Overwrite all elements' data"},
716 "Only replace destination elements where data is above given threshold (exact behavior "
717 "depends on data type)"},
722 "Only replace destination elements where data is below given threshold (exact behavior "
723 "depends on data type)"},
728 "Mix source value into destination one, using given threshold as factor"},
733 "Add source value to destination one, using given threshold as factor"},
738 "Subtract source value to destination one, using given threshold as factor"},
743 "Multiply source value to destination one, using given threshold as factor"},
745 {0,
nullptr, 0,
nullptr,
nullptr},
754 "Selected Pose Bones",
755 "Transfer all vertex groups used by selected pose bones"},
760 "Transfer all vertex groups used by deform bones"},
761 {0,
nullptr, 0,
nullptr,
nullptr},
766 {
DT_LAYERS_NAME_DST,
"NAME", 0,
"By Name",
"Match target data layers to affect by name"},
771 "Match target data layers to affect by order (indices)"},
772 {0,
nullptr, 0,
nullptr,
nullptr},
776 {0,
"X", 0,
"X",
""},
777 {1,
"Y", 0,
"Y",
""},
778 {0,
nullptr, 0,
nullptr,
nullptr},
782 {0,
"X", 0,
"X",
""},
783 {1,
"Y", 0,
"Y",
""},
784 {2,
"Z", 0,
"Z",
""},
785 {0,
nullptr, 0,
nullptr,
nullptr},
789 {(1 << 0),
"X", 0,
"X",
""},
790 {(1 << 1),
"Y", 0,
"Y",
""},
791 {(1 << 2),
"Z", 0,
"Z",
""},
792 {0,
nullptr, 0,
nullptr,
nullptr},
801 "UVs are smoothed, corners on discontinuous boundary are kept sharp"},
803 "PRESERVE_CORNERS_AND_JUNCTIONS",
805 "Keep Corners, Junctions",
806 "UVs are smoothed, corners on discontinuous boundary and "
807 "junctions of 3 or more regions are kept sharp"},
809 "PRESERVE_CORNERS_JUNCTIONS_AND_CONCAVE",
811 "Keep Corners, Junctions, Concave",
812 "UVs are smoothed, corners on discontinuous boundary, "
813 "junctions of 3 or more regions and darts and concave corners are kept sharp"},
815 "PRESERVE_BOUNDARIES",
818 "UVs are smoothed, boundaries are kept sharp"},
820 {0,
nullptr, 0,
nullptr,
nullptr},
828 "Smooth boundaries, but corners are kept sharp"},
830 {0,
nullptr, 0,
nullptr,
nullptr},
837 "Natural Drawing Speed",
838 "Use recorded speed multiplied by a factor"},
843 "Set a fixed number of frames for all build animations"},
848 "Set a manual percentage to build"},
849 {0,
nullptr, 0,
nullptr,
nullptr},
855# include <fmt/format.h>
888 iter, (
void *)uvp->projectors,
sizeof(
Object *), uvp->projectors_num, 0,
nullptr);
895 if (modifier_type !=
nullptr) {
896 return modifier_type->
srna;
898 return &RNA_Modifier;
901static void rna_Modifier_name_set(
PointerRNA *
ptr,
const char *value)
904 char oldname[
sizeof(md->
name)];
927static std::optional<std::string> rna_Modifier_path(
const PointerRNA *
ptr)
930 char name_esc[
sizeof(md->
name) * 2];
933 return fmt::format(
"modifiers[\"{}\"]", name_esc);
944 rna_Modifier_update(bmain, scene,
ptr);
950 rna_Modifier_update(bmain, scene,
ptr);
954static void rna_Modifier_is_active_set(
PointerRNA *
ptr,
bool value)
960 for (
ModifierData *prev_md = md->
prev; prev_md !=
nullptr; prev_md = prev_md->prev) {
961 prev_md->
flag &= ~eModifierFlag_Active;
963 for (
ModifierData *next_md = md->
next; next_md !=
nullptr; next_md = next_md->next) {
964 next_md->flag &= ~eModifierFlag_Active;
972static void rna_Modifier_use_pin_to_last_set(
PointerRNA *
ptr,
bool value)
983 md_iter = md_iter->
next;
990 md_iter = md_iter->
prev;
998# define RNA_MOD_VGROUP_NAME_SET(_type, _prop) \
999 static void rna_##_type##Modifier_##_prop##_set(PointerRNA *ptr, const char *value) \
1001 _type##ModifierData *tmd = (_type##ModifierData *)ptr->data; \
1002 rna_object_vgroup_name_set(ptr, value, tmd->_prop, sizeof(tmd->_prop)); \
1005RNA_MOD_VGROUP_NAME_SET(Armature, defgrp_name);
1006RNA_MOD_VGROUP_NAME_SET(
Bevel, defgrp_name);
1007RNA_MOD_VGROUP_NAME_SET(Cast, defgrp_name);
1008RNA_MOD_VGROUP_NAME_SET(
Curve, name);
1009RNA_MOD_VGROUP_NAME_SET(DataTransfer, defgrp_name);
1010RNA_MOD_VGROUP_NAME_SET(Decimate, defgrp_name);
1011RNA_MOD_VGROUP_NAME_SET(CorrectiveSmooth, defgrp_name);
1012RNA_MOD_VGROUP_NAME_SET(Displace, defgrp_name);
1013RNA_MOD_VGROUP_NAME_SET(Hook, name);
1014RNA_MOD_VGROUP_NAME_SET(LaplacianDeform, anchor_grp_name);
1015RNA_MOD_VGROUP_NAME_SET(LaplacianSmooth, defgrp_name);
1016RNA_MOD_VGROUP_NAME_SET(
Lattice, name);
1017RNA_MOD_VGROUP_NAME_SET(
Mask, vgroup);
1018RNA_MOD_VGROUP_NAME_SET(MeshCache, defgrp_name);
1019RNA_MOD_VGROUP_NAME_SET(MeshDeform, defgrp_name);
1020RNA_MOD_VGROUP_NAME_SET(NormalEdit, defgrp_name);
1021RNA_MOD_VGROUP_NAME_SET(Shrinkwrap, vgroup_name);
1022RNA_MOD_VGROUP_NAME_SET(SimpleDeform, vgroup_name);
1023RNA_MOD_VGROUP_NAME_SET(Smooth, defgrp_name);
1024RNA_MOD_VGROUP_NAME_SET(Solidify, defgrp_name);
1025RNA_MOD_VGROUP_NAME_SET(Solidify, shell_defgrp_name);
1026RNA_MOD_VGROUP_NAME_SET(Solidify, rim_defgrp_name);
1027RNA_MOD_VGROUP_NAME_SET(SurfaceDeform, defgrp_name);
1028RNA_MOD_VGROUP_NAME_SET(UVWarp, vgroup_name);
1029RNA_MOD_VGROUP_NAME_SET(Warp, defgrp_name);
1030RNA_MOD_VGROUP_NAME_SET(Wave, defgrp_name);
1031RNA_MOD_VGROUP_NAME_SET(WeightVGEdit, defgrp_name);
1032RNA_MOD_VGROUP_NAME_SET(WeightVGEdit, mask_defgrp_name);
1033RNA_MOD_VGROUP_NAME_SET(WeightVGMix, defgrp_name_a);
1034RNA_MOD_VGROUP_NAME_SET(WeightVGMix, defgrp_name_b);
1035RNA_MOD_VGROUP_NAME_SET(WeightVGMix, mask_defgrp_name);
1036RNA_MOD_VGROUP_NAME_SET(WeightVGProximity, defgrp_name);
1037RNA_MOD_VGROUP_NAME_SET(WeightVGProximity, mask_defgrp_name);
1038RNA_MOD_VGROUP_NAME_SET(WeightedNormal, defgrp_name);
1039RNA_MOD_VGROUP_NAME_SET(Weld, defgrp_name);
1040RNA_MOD_VGROUP_NAME_SET(
Wireframe, defgrp_name);
1041RNA_MOD_VGROUP_NAME_SET(GreasePencilWeightAngle, target_vgname);
1042RNA_MOD_VGROUP_NAME_SET(GreasePencilWeightProximity, target_vgname);
1043RNA_MOD_VGROUP_NAME_SET(GreasePencilLineart, vgname);
1044RNA_MOD_VGROUP_NAME_SET(GreasePencilBuild, target_vgname);
1046static void rna_ExplodeModifier_vgroup_get(
PointerRNA *
ptr,
char *value)
1052static int rna_ExplodeModifier_vgroup_length(
PointerRNA *
ptr)
1058static void rna_ExplodeModifier_vgroup_set(
PointerRNA *
ptr,
const char *value)
1064# undef RNA_MOD_VGROUP_NAME_SET
1068# define RNA_MOD_UVLAYER_NAME_SET(_type, _prop) \
1069 static void rna_##_type##Modifier_##_prop##_set(PointerRNA *ptr, const char *value) \
1071 _type##ModifierData *tmd = (_type##ModifierData *)ptr->data; \
1072 rna_object_uvlayer_name_set(ptr, value, tmd->_prop, sizeof(tmd->_prop)); \
1075RNA_MOD_UVLAYER_NAME_SET(MappingInfo, uvlayer_name);
1076RNA_MOD_UVLAYER_NAME_SET(UVProject, uvlayer_name);
1077RNA_MOD_UVLAYER_NAME_SET(UVWarp, uvlayer_name);
1078RNA_MOD_UVLAYER_NAME_SET(WeightVGEdit, mask_tex_uvlayer_name);
1079RNA_MOD_UVLAYER_NAME_SET(WeightVGMix, mask_tex_uvlayer_name);
1080RNA_MOD_UVLAYER_NAME_SET(WeightVGProximity, mask_tex_uvlayer_name);
1082# undef RNA_MOD_UVLAYER_NAME_SET
1098# define RNA_MOD_OBJECT_SET(_type, _prop, _obtype) \
1099 static void rna_##_type##Modifier_##_prop##_set( \
1100 PointerRNA *ptr, PointerRNA value, ReportList * ) \
1102 _type##ModifierData *tmd = (_type##ModifierData *)ptr->data; \
1103 modifier_object_set((Object *)ptr->owner_id, &tmd->_prop, _obtype, value); \
1107RNA_MOD_OBJECT_SET(Array, start_cap,
OB_MESH);
1108RNA_MOD_OBJECT_SET(Array, end_cap,
OB_MESH);
1110RNA_MOD_OBJECT_SET(Boolean,
object,
OB_MESH);
1111RNA_MOD_OBJECT_SET(Cast,
object,
OB_EMPTY);
1113RNA_MOD_OBJECT_SET(DataTransfer, ob_source,
OB_MESH);
1116RNA_MOD_OBJECT_SET(MeshDeform,
object,
OB_MESH);
1117RNA_MOD_OBJECT_SET(NormalEdit, target,
OB_EMPTY);
1118RNA_MOD_OBJECT_SET(Shrinkwrap, target,
OB_MESH);
1119RNA_MOD_OBJECT_SET(Shrinkwrap, auxTarget,
OB_MESH);
1120RNA_MOD_OBJECT_SET(SurfaceDeform, target,
OB_MESH);
1121RNA_MOD_OBJECT_SET(GreasePencilMirror,
object,
OB_EMPTY);
1122RNA_MOD_OBJECT_SET(GreasePencilTint,
object,
OB_EMPTY);
1123RNA_MOD_OBJECT_SET(GreasePencilLattice,
object,
OB_LATTICE);
1124RNA_MOD_OBJECT_SET(GreasePencilWeightProximity,
object,
OB_EMPTY);
1125RNA_MOD_OBJECT_SET(GreasePencilHook,
object,
OB_EMPTY);
1126RNA_MOD_OBJECT_SET(GreasePencilArmature,
object,
OB_ARMATURE);
1127RNA_MOD_OBJECT_SET(GreasePencilOutline,
object,
OB_EMPTY);
1128RNA_MOD_OBJECT_SET(GreasePencilShrinkwrap, target,
OB_MESH);
1129RNA_MOD_OBJECT_SET(GreasePencilShrinkwrap, aux_target,
OB_MESH);
1130RNA_MOD_OBJECT_SET(GreasePencilBuild,
object,
OB_EMPTY);
1145static bool rna_HookModifier_object_override_apply(
Main *bmain,
1153 const int len_dst = rnaapply_ctx.
len_src;
1154 const int len_src = rnaapply_ctx.
len_src;
1158 BLI_assert(len_dst == len_src && (!ptr_storage || len_dst == len_storage) && len_dst == 0);
1160 "Unsupported RNA override operation on Hook modifier target object pointer");
1172 if (target_src == target_dst) {
1176 hmd->object = target_src;
1177 if (target_src ==
nullptr) {
1185static void rna_HookModifier_subtarget_set(
PointerRNA *
ptr,
const char *value)
1194static int rna_HookModifier_vertex_indices_get_length(
const PointerRNA *
ptr,
1199 return (length[0] = indexar_num);
1202static void rna_HookModifier_vertex_indices_get(
PointerRNA *
ptr,
int *values)
1205 if (hmd->
indexar !=
nullptr) {
1215 if (indices_num <= 0) {
1221 for (
int i = 0; i < indices_num; i++) {
1222 if (indices[i] < 0) {
1229 size_t size =
sizeof(
int) * indices_num;
1230 int *buffer =
static_cast<int *
>(
MEM_mallocN(size,
"hook indexar"));
1231 memcpy(buffer, indices, size);
1236 for (
int i = 1; i < indices_num; i++) {
1237 if (buffer[i] == buffer[i - 1]) {
1265# undef RNA_MOD_OBJECT_SET
1284 switch (fmd->type) {
1296 rna_Modifier_dependency_update(bmain, scene,
ptr);
1299static void rna_MultiresModifier_level_range(
1305 *max =
max_ii(0, mmd->totlvl);
1308static bool rna_MultiresModifier_external_get(
PointerRNA *
ptr)
1316static void rna_MultiresModifier_filepath_get(
PointerRNA *
ptr,
char *value)
1321 strcpy(value, (external) ? external->
filepath :
"");
1324static void rna_MultiresModifier_filepath_set(
PointerRNA *
ptr,
const char *value)
1335static int rna_MultiresModifier_filepath_length(
PointerRNA *
ptr)
1340 return strlen((external) ? external->
filepath :
"");
1343static int rna_ShrinkwrapModifier_face_cull_get(
PointerRNA *
ptr)
1349static void rna_ShrinkwrapModifier_face_cull_set(
PointerRNA *
ptr,
int value)
1352 swm->shrinkOpts = (swm->shrinkOpts & ~MOD_SHRINKWRAP_CULL_TARGET_MASK) | value;
1355static bool rna_MeshDeformModifier_is_bound_get(
PointerRNA *
ptr)
1387 rna_Modifier_update(bmain, scene,
ptr);
1390static void rna_BevelModifier_weight_attribute_visit_for_search(
1404 visit_params.
text = layer->name;
1405 visit_fn(visit_params);
1411static void rna_UVProjectModifier_num_projectors_set(
PointerRNA *
ptr,
int value)
1418 md->projectors[a] =
nullptr;
1427 rna_Modifier_update(bmain, scene,
ptr);
1430static void rna_OceanModifier_ocean_chop_set(
PointerRNA *
ptr,
float value)
1433 float old_value = omd->chop_amount;
1435 omd->chop_amount = value;
1437 if ((old_value == 0.0f && value > 0.0f) || (old_value > 0.0f && value == 0.0f)) {
1442static bool rna_LaplacianDeformModifier_is_bind_get(
PointerRNA *
ptr)
1459 rna_Modifier_update(bmain, scene,
ptr);
1461 if (cmd->object !=
nullptr) {
1462 Curve *curve =
static_cast<Curve *
>(cmd->object->data);
1463 if ((curve->flag &
CU_PATH) == 0) {
1472 rna_Modifier_update(bmain, scene,
ptr);
1474 if (amd->curve_ob !=
nullptr) {
1475 Curve *curve =
static_cast<Curve *
>(amd->curve_ob->data);
1476 if ((curve->flag &
CU_PATH) == 0) {
1487 dtmd->data_types &= ~DT_TYPE_VERT_ALL;
1490 dtmd->data_types &= ~DT_TYPE_EDGE_ALL;
1493 dtmd->data_types &= ~DT_TYPE_LOOP_ALL;
1496 dtmd->data_types &= ~DT_TYPE_POLY_ALL;
1499 rna_Modifier_dependency_update(bmain, scene,
ptr);
1520 rna_Modifier_dependency_update(bmain, scene,
ptr);
1523static void rna_DataTransferModifier_verts_data_types_set(
PointerRNA *
ptr,
int value)
1527 dtmd->data_types &= ~DT_TYPE_VERT_ALL;
1528 dtmd->data_types |= value;
1531static void rna_DataTransferModifier_edges_data_types_set(
PointerRNA *
ptr,
int value)
1535 dtmd->data_types &= ~DT_TYPE_EDGE_ALL;
1536 dtmd->data_types |= value;
1539static void rna_DataTransferModifier_loops_data_types_set(
PointerRNA *
ptr,
int value)
1543 dtmd->data_types &= ~DT_TYPE_LOOP_ALL;
1544 dtmd->data_types |= value;
1547static void rna_DataTransferModifier_polys_data_types_set(
PointerRNA *
ptr,
int value)
1551 dtmd->data_types &= ~DT_TYPE_POLY_ALL;
1552 dtmd->data_types |= value;
1574 Object *ob_src = dtmd->ob_source;
1594 tmp_item.identifier = tmp_item.name = dg->name;
1603 Object *ob_src = dtmd->ob_source;
1626 for (i = 0; i < num_data; i++) {
1637 Object *ob_src = dtmd->ob_source;
1641 "layers_vcol_vert_select_src") ?
1642 bke::AttrDomain::Point :
1643 bke::AttrDomain::Corner;
1660 if (domain == bke::AttrDomain::Point) {
1670 for (
int i = 0; i < 2; i++) {
1675 for (
int j = 0; j < num_data; j++) {
1676 tmp_item.value = idx++;
1724 tmp_item.identifier = tmp_item.name = dg->name;
1738 if (ob_dst && ob_dst->
data) {
1743 me_dst =
static_cast<Mesh *
>(ob_dst->
data);
1749 for (i = 0; i < num_data; i++) {
1766 if (dtmd->layers_select_src[multilayer_index] >= 0) {
1769 if (ob_dst && ob_dst->
data) {
1778 for (
int i = 0; i < 2; i++) {
1783 for (
int j = 0; j < num_data; j++) {
1784 tmp_item.value = idx++;
1808 bool support_advanced_mixing, support_threshold;
1817 dtmd->data_types, &support_advanced_mixing, &support_threshold);
1819 if (support_threshold) {
1826 if (support_advanced_mixing) {
1846 rna_Modifier_update(bmain, scene,
ptr);
1849static void rna_CorrectiveSmoothModifier_rest_source_update(
Main *bmain,
1857 csmd->bind_coords_num = 0;
1860 rna_CorrectiveSmoothModifier_update(bmain, scene,
ptr);
1863static bool rna_CorrectiveSmoothModifier_is_bind_get(
PointerRNA *
ptr)
1866 return (csmd->bind_coords !=
nullptr);
1869static bool rna_SurfaceDeformModifier_is_bound_get(
PointerRNA *
ptr)
1874static bool rna_ParticleInstanceModifier_particle_system_poll(
PointerRNA *
ptr,
1902static void rna_ParticleInstanceModifier_particle_system_set(
PointerRNA *
ptr,
1920static void rna_Modifier_show_expanded_set(
PointerRNA *
ptr,
bool value)
1956 rna_Modifier_dependency_update(bmain, scene,
ptr);
1966 return &nmd.
runtime->eval_log->get_tree_log(compute_context.hash());
1972 if (
auto *
log = get_nodes_modifier_log(nmd)) {
1974 return log->all_warnings;
1984 iter->
valid = !get_node_modifier_warnings(*nmd).is_empty();
1999 &RNA_NodesModifierWarning,
2003static int rna_NodesModifier_node_warnings_length(
PointerRNA *
ptr)
2006 return get_node_modifier_warnings(*nmd).size();
2009static void rna_NodesModifierWarning_message_get(
PointerRNA *
ptr,
char *r_value)
2012 strcpy(r_value, warning->message.c_str());
2015static int rna_NodesModifierWarning_message_length(
PointerRNA *
ptr)
2018 return warning->
message.size();
2021static int rna_NodesModifierWarning_type_get(
PointerRNA *
ptr)
2024 return int(warning->type);
2034static void rna_Lineart_start_level_set(
PointerRNA *
ptr,
int value)
2038 value = std::clamp(value, 0, 128);
2039 lmd->level_start = value;
2040 lmd->level_end = std::max(value,
int(lmd->level_end));
2043static void rna_Lineart_end_level_set(
PointerRNA *
ptr,
int value)
2047 value = std::clamp(value, 0, 128);
2048 lmd->level_end = value;
2049 lmd->level_start = std::min(value,
int(lmd->level_start));
2061 if (bakes.contains_ptr(&
bake)) {
2100static void rna_GreasePencilModifier_material_set(
PointerRNA *
ptr,
2116 "Cannot assign material '%s', it has to be used by the grease pencil object already",
2121# define RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(_type) \
2122 static void rna_##_type##Modifier_material_filter_set( \
2123 PointerRNA *ptr, PointerRNA value, ReportList *reports) \
2125 _type##ModifierData *tmd = static_cast<_type##ModifierData *>(ptr->data); \
2126 rna_GreasePencilModifier_material_set(ptr, value, reports, &tmd->influence.material); \
2129# define RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(_type) \
2130 static void rna_##_type##Modifier_vertex_group_name_set(PointerRNA *ptr, const char *value) \
2132 _type##ModifierData *tmd = static_cast<_type##ModifierData *>(ptr->data); \
2133 rna_object_vgroup_name_set(ptr, \
2135 tmd->influence.vertex_group_name, \
2136 sizeof(tmd->influence.vertex_group_name)); \
2139RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilColor);
2140RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilMirror);
2141RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilOffset);
2142RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilOpacity);
2143RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilSubdiv);
2144RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilTint);
2145RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilSmooth);
2146RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilNoise);
2147RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilThick);
2148RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilLattice);
2149RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilDash);
2150RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilMulti);
2151RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilLength);
2152RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilWeightAngle);
2153RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilArray);
2154RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilWeightProximity);
2155RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilHook);
2156RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilSimplify);
2157RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilEnvelope);
2158RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilOutline);
2159RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilShrinkwrap);
2160RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilBuild);
2161RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilTexture);
2163RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilOffset);
2164RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilOpacity);
2165RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilTint);
2166RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilSmooth);
2167RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilNoise);
2168RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilThick);
2169RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilLattice);
2170RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilWeightAngle);
2171RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilWeightProximity);
2172RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilHook);
2173RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilArmature);
2174RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilSimplify);
2175RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilEnvelope);
2176RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilShrinkwrap);
2177RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilTexture);
2179static void rna_GreasePencilLineartModifier_material_set(
PointerRNA *
ptr,
2187 rna_GreasePencilModifier_material_set(
ptr, value, reports, ma_target);
2190static void rna_GreasePencilOpacityModifier_opacity_factor_range(
2201static void rna_GreasePencilOpacityModifier_opacity_factor_max_set(
PointerRNA *
ptr,
float value)
2206 std::min(value, 1.0f) :
2216 if (dmd->segments().contains_ptr(&dash_segment)) {
2224static std::optional<std::string> rna_GreasePencilDashModifierSegment_path(
const PointerRNA *
ptr)
2230 *ob, *dash_segment);
2236 char ds_name_esc[
sizeof(dash_segment->
name) * 2];
2239 return fmt::format(
"modifiers[\"{}\"].segments[\"{}\"]", name_esc, ds_name_esc);
2242static void rna_GreasePencilDashModifierSegment_name_set(
PointerRNA *
ptr,
const char *value)
2247 *ob, *dash_segment);
2250 const std::string oldname = dash_segment->
name;
2255 if (&ds != dash_segment && ds.name == name) {
2262 dash_segment->
name);
2267 char rna_path_prefix[36 +
sizeof(name_esc) + 1];
2268 SNPRINTF(rna_path_prefix,
"modifiers[\"%s\"].segments", name_esc);
2319 if (tmd->segments().contains_ptr(&time_segment)) {
2327static std::optional<std::string> rna_GreasePencilTimeModifierSegment_path(
const PointerRNA *
ptr)
2339 char ds_name_esc[
sizeof(segment->name) * 2];
2342 return fmt::format(
"modifiers[\"{}\"].segments[\"{}\"]", name_esc, ds_name_esc);
2345static void rna_GreasePencilTimeModifierSegment_name_set(
PointerRNA *
ptr,
const char *value)
2353 const std::string oldname = segment->name;
2358 if (&ds != segment && ds.name == name) {
2370 char rna_path_prefix[36 +
sizeof(name_esc) + 1];
2371 SNPRINTF(rna_path_prefix,
"modifiers[\"%s\"].segments", name_esc);
2387static void rna_GreasePencilTimeModifier_start_frame_set(
PointerRNA *
ptr,
int value)
2398static void rna_GreasePencilTimeModifier_end_frame_set(
PointerRNA *
ptr,
int value)
2409static void rna_GreasePencilOutlineModifier_outline_material_set(
PointerRNA *
ptr,
2417static int rna_GreasePencilShrinkwrapModifier_face_cull_get(
PointerRNA *
ptr)
2424static void rna_GreasePencilShrinkwrapModifier_face_cull_set(
PointerRNA *
ptr,
int value)
2442 prop,
nullptr,
"modifier.layout_panel_open_flag", (
int64_t(1) <<
id));
2462 prop,
"Quality",
"Accuracy of vertex positions, lower value is faster but less precise");
2481 "Create a smooth curved surface using the Catmull-Clark subdivision scheme"},
2483 {0,
nullptr, 0,
nullptr,
nullptr},
2517 prop,
"Render Levels",
"Number of subdivisions to perform when rendering");
2527 prop,
"Use Creases",
"Use mesh crease information to sharpen edges or corners");
2533 prop,
"Use Custom Normals",
"Interpolates existing custom normals to resulting mesh");
2540 "Use Limit Surface",
2541 "Place vertices at the surface that would be produced with infinite "
2542 "levels of subdivision (smoothest possible shape)");
2555 "Use the local coordinate system for the texture coordinates"},
2560 "Use the global coordinate system for the texture coordinates"},
2565 "Use the linked object's local coordinate system for the texture coordinates"},
2566 {
MOD_DISP_MAP_UV,
"UV", 0,
"UV",
"Use UV coordinates for the texture coordinates"},
2567 {0,
nullptr, 0,
nullptr,
nullptr},
2589 prop,
nullptr,
nullptr,
"rna_MappingInfoModifier_uvlayer_name_set");
2595 prop,
"Texture Coordinate Object",
"Object to set the texture coordinates");
2719 prop,
"Total Levels",
"Number of subdivisions for which displacements are stored");
2725 prop,
"External",
"Store multires displacements outside the .blend file, to save memory");
2729 "rna_MultiresModifier_filepath_get",
2730 "rna_MultiresModifier_filepath_length",
2731 "rna_MultiresModifier_filepath_set");
2738 prop,
"Optimal Display",
"Skip drawing/rendering of interior subdivided edges");
2744 prop,
"Use Creases",
"Use mesh crease information to sharpen edges or corners");
2750 prop,
"Use Custom Normals",
"Interpolates existing custom normals to resulting mesh");
2757 "Make Sculpt Mode tools deform the base mesh while previewing the "
2758 "displacement of higher subdivision levels");
2779 prop,
nullptr,
"rna_LatticeModifier_object_set",
nullptr,
"rna_Lattice_object_poll");
2788 "Name of Vertex Group which determines influence of modifier per point");
2818 {0,
nullptr, 0,
nullptr,
nullptr},
2831 prop,
nullptr,
"rna_CurveModifier_object_set",
nullptr,
"rna_Curve_object_poll");
2840 "Name of Vertex Group which determines influence of modifier per point");
2933 prop,
"Clip",
"Prevent vertices from going through the mirror during transform");
2949 prop,
"Mirror U",
"Mirror the U texture coordinate around the flip offset point");
2955 prop,
"Mirror V",
"Mirror the V texture coordinate around the flip offset point");
2961 prop,
"Mirror UDIM",
"Mirror the texture coordinate around each tile center");
2971 "Amount to offset mirrored UVs flipping point from the 0.5 on the U axis");
2981 "Amount to offset mirrored UVs flipping point from the 0.5 point on the V axis");
3003 prop,
"Merge Distance",
"Distance within which mirrored vertices are merged");
3011 prop,
"Bisect Distance",
"Distance from the bisect plane within which vertices are removed");
3032 "Dissolve geometry to form planar polygons"},
3033 {0,
nullptr, 0,
nullptr,
nullptr},
3069 prop,
"Iterations",
"Number of times reduce the geometry (unsubdivide only)");
3095 prop,
"Triangulate",
"Keep triangulated faces resulting from decimation (collapse only)");
3121 prop,
"All Boundaries",
"Dissolve all vertices in between face boundaries (planar only)");
3136 prop,
"Face Count",
"The current number of faces in the decimated mesh");
3194 "Either the starting frame (for positive speed) or ending frame (for negative speed)");
3201 prop,
"Lifetime",
"Lifetime of the wave in frames, zero means infinite");
3208 prop,
"Damping Time",
"Number of frames in which the wave damps out after it dies");
3253 prop,
"Speed",
"Speed of the wave, towards the starting point when negative");
3275 "Distance between the top and the base of a wave, the higher the value, "
3276 "the more narrow the wave");
3299 prop,
nullptr,
"rna_ArmatureModifier_object_set",
nullptr,
"rna_Armature_object_poll");
3318 prop,
"Preserve Volume",
"Deform rotation interpolation with quaternions");
3326 "Use same input as previous modifier, and mix results using overall vgroup");
3334 "Name of Vertex Group which determines influence of modifier per point");
3355 srna,
"Hook Modifier",
"Hook modifier to modify the location of vertices");
3379 prop,
"Radius",
"If not zero, the distance from the hook where influence ends");
3390 prop,
"Hook Center",
"Center of the hook, used for falloff and display");
3397 prop,
"Matrix",
"Reverse the transformation between this object and its target");
3402 prop,
"Object",
"Parent Object for hook, also recalculates and clears offset");
3405 prop,
nullptr,
nullptr,
"rna_HookModifier_object_override_apply");
3414 "Name of Parent Bone for hook (if applicable), also recalculates and clears offset");
3428 "Name of Vertex Group which determines influence of modifier per point");
3440 "Indices of vertices bound to the modifier. For Bézier curves, "
3441 "handles count as additional vertices.");
3443 func =
RNA_def_function(srna,
"vertex_indices_set",
"rna_HookModifier_vertex_indices_set");
3445 func,
"Validates and assigns the array of vertex indices bound to the modifier");
3448 func,
"indices", 1,
nullptr, INT_MIN, INT_MAX,
"",
"Vertex Indices", 0, INT_MAX);
3474 prop,
"rna_SoftBodyModifier_settings_get",
nullptr,
nullptr,
nullptr);
3481 prop,
"rna_SoftBodyModifier_point_cache_get",
nullptr,
nullptr,
nullptr);
3495 "Use a mesh object as the operand for the Boolean operation"},
3500 "Use a collection of mesh objects as the operand for the Boolean operation"},
3501 {0,
nullptr, 0,
nullptr,
nullptr},
3509 "Keep the part of the mesh that is common between all operands"},
3515 "Combine meshes in a subtractive way"},
3516 {0,
nullptr, 0,
nullptr,
nullptr},
3524 "Simple solver for the best performance, without support for overlapping geometry"},
3529 "Advanced solver for the best result"},
3530 {0,
nullptr, 0,
nullptr,
nullptr},
3538 "Set the material on new faces based on the order of the material slot lists. If a "
3539 "material doesn't exist on the modifier object, the face will use the same material slot "
3540 "or the first if the object doesn't have enough slots."},
3545 "Transfer materials from non-empty slots to the result mesh, adding new materials as "
3546 "necessary. For empty slots, fall back to using the same material index as the operand "
3548 {0,
nullptr, 0,
nullptr,
nullptr},
3561 prop,
nullptr,
"rna_BooleanModifier_object_set",
nullptr,
"rna_Mesh_object_poll");
3570 prop,
"Collection",
"Use mesh objects in this collection for Boolean operation");
3591 prop,
"Overlap Threshold",
"Threshold for checking overlapping geometry");
3623 "NO_CONNECT_REGIONS",
3625 "No Connect Regions",
3627 {0,
nullptr, 0,
nullptr,
nullptr},
3650 "Duplicate the object a certain number of times"},
3655 "Duplicate the object as many times as fits in a certain length"},
3656 {
MOD_ARR_FITCURVE,
"FIT_CURVE", 0,
"Fit Curve",
"Fit the duplicated objects to a curve"},
3657 {0,
nullptr, 0,
nullptr,
nullptr},
3690 prop,
nullptr,
"rna_ArrayModifier_curve_ob_set",
nullptr,
"rna_Curve_object_poll");
3703 prop,
"Constant Offset Displacement",
"Value for the distance between arrayed items");
3710 prop,
"Relative Offset",
"Add an offset relative to the object's bounding box");
3718 "Relative Offset Displacement",
3719 "The size of the geometry will determine the distance between arrayed items");
3731 prop,
"Merge End Vertices",
"Merge vertices in first and last duplicates");
3745 prop,
"Object Offset",
"Add another object's transformation to the total offset");
3753 "Use the location and rotation of another object to determine the distance and "
3754 "rotational change between arrayed items");
3762 prop,
nullptr,
"rna_ArrayModifier_start_cap_set",
nullptr,
"rna_Mesh_object_poll");
3769 prop,
nullptr,
"rna_ArrayModifier_end_cap_set",
nullptr,
"rna_Mesh_object_poll");
3797 srna,
"EdgeSplit Modifier",
"Edge splitting modifier to create sharp edges");
3832 "Use the texture's intensity value to displace in the X direction"},
3837 "Use the texture's intensity value to displace in the Y direction"},
3842 "Use the texture's intensity value to displace in the Z direction"},
3847 "Use the texture's intensity value to displace along the vertex normal"},
3852 "Use the texture's intensity value to displace along the (averaged) custom normal (falls "
3858 "Use the texture's RGB values to displace the mesh in the XYZ direction"},
3859 {0,
nullptr, 0,
nullptr,
nullptr},
3865 {0,
nullptr, 0,
nullptr,
nullptr},
3880 "Name of Vertex Group which determines influence of modifier per point");
3924 srna,
"UV Project Modifier",
"UV projection modifier to set UVs from a projector");
3946 "rna_UVProject_projectors_begin",
3947 "rna_iterator_array_next",
3948 "rna_iterator_array_end",
3949 "rna_iterator_array_get",
3962 prop,
"Aspect X",
"Horizontal aspect ratio (only used for camera projectors)");
3971 prop,
"Aspect Y",
"Vertical aspect ratio (only used for camera projectors)");
3996 prop,
"rna_UVProjector_object_get",
"rna_UVProjector_object_set",
nullptr,
nullptr);
4049 "Name of Vertex Group which determines influence of modifier per point");
4071 "Use the average of adjacent edge-vertices"},
4076 "Use the average of adjacent edge-vertices weighted by their length"},
4077 {0,
nullptr, 0,
nullptr,
nullptr},
4085 "Use base mesh vertex coordinates as the rest position"},
4090 "Use bind vertex coordinates for rest position"},
4091 {0,
nullptr, 0,
nullptr,
nullptr},
4094 srna =
RNA_def_struct(brna,
"CorrectiveSmoothModifier",
"Modifier");
4096 srna,
"Corrective Smooth Modifier",
"Correct distortion caused by deformation");
4144 "Name of Vertex Group which determines influence of modifier per point");
4146 prop,
nullptr,
nullptr,
"rna_CorrectiveSmoothModifier_defgrp_name_set");
4158 prop,
"Only Smooth",
"Apply smoothing without reconstructing the surface");
4164 prop,
"Pin Boundaries",
"Excludes boundary vertices from being smoothed");
4175 srna =
RNA_def_struct(brna,
"LaplacianSmoothModifier",
"Modifier");
4232 "Name of Vertex Group which determines influence of modifier per point");
4234 prop,
nullptr,
nullptr,
"rna_LaplacianSmoothModifier_defgrp_name_set");
4254 {0,
nullptr, 0,
nullptr,
nullptr},
4274 "Control object: if available, its location determines the center of the effect");
4302 prop,
"Size from Radius",
"Use radius as size of projection shape (0 = auto)");
4308 prop,
"Use Transform",
"Use object transform to control projection shape");
4324 "Only deform vertices within this distance from the center of the effect "
4325 "(leave as 0 for infinite.)");
4349 {0,
"VOLUME", 0,
"Volume",
"Bind to volume inside cage mesh"},
4350 {1,
"SURFACE", 0,
"Surface",
"Bind to surface of cage mesh"},
4351 {0,
nullptr, 0,
nullptr,
nullptr},
4357 srna,
"MeshDeform Modifier",
"Mesh deformation modifier to deform with other meshes");
4366 prop,
nullptr,
"rna_MeshDeformModifier_object_set",
nullptr,
"rna_Mesh_object_poll");
4396 "Recompute binding dynamically on top of other deformers "
4397 "(slower and more memory consuming)");
4415 srna =
RNA_def_struct(brna,
"ParticleSystemModifier",
"Modifier");
4440 "Use offset from the particle object in the instance object"},
4445 "Use world space offset in the instance object"},
4446 {0,
nullptr, 0,
nullptr,
nullptr},
4449 srna =
RNA_def_struct(brna,
"ParticleInstanceModifier",
"Modifier");
4472 "rna_ParticleInstanceModifier_particle_system_get",
4473 "rna_ParticleInstanceModifier_particle_system_set",
4475 "rna_ParticleInstanceModifier_particle_system_poll");
4566 "Relative offset of particles to use for instancing, to avoid overlap "
4567 "of multiple instances");
4578 prop,
"Value Layer Name",
"Custom data layer name for the randomized value");
4591 srna,
"Explode Modifier",
"Explosion effect modifier based on a particle system");
4599 "rna_ExplodeModifier_vgroup_get",
4600 "rna_ExplodeModifier_vgroup_length",
4601 "rna_ExplodeModifier_vgroup_set");
4703 {0,
"NONE", 0,
"None",
""},
4710 "Deflect fluids and influence the fluid flow"},
4711 {0,
nullptr, 0,
nullptr,
nullptr},
4780 "Collision Modifier",
4781 "Collision modifier defining modifier stack position used for collision");
4791 prop,
"rna_CollisionModifier_settings_get",
nullptr,
nullptr,
nullptr);
4803 {0,
"NONE", 0,
"None",
"Bevel the entire mesh by a constant amount"},
4808 "Only bevel edges with sharp enough angles between faces"},
4813 "Use bevel weights to determine how much bevel is applied in edge mode"},
4818 "Use vertex group weights to select whether vertex or edge is beveled"},
4819 {0,
nullptr, 0,
nullptr,
nullptr},
4829 "Amount is perpendicular distance from original edge to bevel face"},
4834 "Amount is percent of adjacent edge length"},
4839 "Amount is absolute distance along adjacent edge"},
4840 {0,
nullptr, 0,
nullptr,
nullptr},
4848 "The profile can be a concave or convex curve"},
4853 "The profile can be any arbitrary path between its endpoints"},
4854 {0,
nullptr, 0,
nullptr,
nullptr},
4864 "Set face strength on new and affected faces only"},
4866 {0,
nullptr, 0,
nullptr,
nullptr},
4873 {0,
nullptr, 0,
nullptr,
nullptr},
4879 {0,
nullptr, 0,
nullptr,
nullptr},
4888 "A cut-off at the end of each profile before the intersection"},
4889 {0,
nullptr, 0,
nullptr,
nullptr},
4895 {0,
nullptr, 0,
nullptr,
nullptr},
4900 srna,
"Bevel Modifier",
"Bevel modifier to make edges and vertices more rounded");
4986 prop,
"Profile Type",
"The type of shape used to rebuild a beveled section");
4999 prop,
"Material Index",
"Material index of generated faces, -1 for automatic");
5026 prop,
"Face Strength",
"Whether to set face strength, and which faces to set it on");
5058 prop,
"Vertex Mesh Method",
"The method to use to create the mesh at intersections");
5071 "Shrinkwrap Modifier",
5072 "Shrink wrapping modifier to shrink wrap and object to a target");
5088 prop,
"Snap Mode",
"Select how vertices are constrained to the target surface");
5095 "rna_ShrinkwrapModifier_face_cull_get",
5096 "rna_ShrinkwrapModifier_face_cull_set",
5101 "Stop vertices from projecting to a face on the target when facing towards/away");
5107 prop,
nullptr,
"rna_ShrinkwrapModifier_target_set",
nullptr,
"rna_Mesh_object_poll");
5115 prop,
nullptr,
"rna_ShrinkwrapModifier_auxTarget_set",
nullptr,
"rna_Mesh_object_poll");
5137 prop,
"Project Limit",
"Limit the distance used for projection (zero disables)");
5161 "Subdivision Levels",
5162 "Number of subdivisions that must be performed before extracting vertices' "
5163 "positions and normals");
5169 prop,
"Negative",
"Allow vertices to move in the negative direction of axis");
5175 prop,
"Positive",
"Allow vertices to move in the positive direction of axis");
5181 prop,
"Invert Cull",
"When projecting in the negative direction invert the face cull mode");
5200 {0,
nullptr, 0,
nullptr,
nullptr},
5219 prop,
nullptr,
"rna_MaskModifier_ob_arm_set",
nullptr,
"rna_Armature_object_poll");
5237 prop,
"Smooth",
"Use vertex group weights to cut faces at the weight contour");
5260 "Rotate around the Z axis of the modifier space"},
5265 "Bend the mesh over the Z axis of the modifier space"},
5270 "Linearly scale along Z axis of the modifier space"},
5275 "Stretch the object along the Z axis of the modifier space"},
5276 {0,
nullptr, 0,
nullptr,
nullptr},
5282 "SimpleDeform Modifier",
5283 "Simple deformation modifier to apply effects such as twisting and bending");
5300 prop,
nullptr,
nullptr,
"rna_SimpleDeformModifier_vgroup_name_set");
5365 "Surface modifier defining modifier stack position used for surface fields");
5377 "Output a solidified version of a mesh by simple extrusion"},
5382 "Output a manifold mesh even if the base mesh is non-manifold, "
5383 "where edges have 3 or more connecting faces. "
5384 "This method is slower."},
5385 {0,
nullptr, 0,
nullptr,
nullptr},
5393 "Most basic thickness calculation"},
5398 "Even thickness calculation which takes the angle between faces into account"},
5403 "Thickness calculation using constraints, most advanced"},
5404 {0,
nullptr, 0,
nullptr,
nullptr},
5413 "Round open perimeter shape"},
5418 "Flat open perimeter shape"},
5419 {0,
nullptr, 0,
nullptr,
nullptr},
5427 srna,
"Solidify Modifier",
"Create a solid skin, compensating for sharp angles");
5463 prop,
"Vertex Group Factor",
"Thickness factor to use for zero vertex group influence");
5504 prop,
"Rim Material Offset",
"Offset material index of generated rim faces");
5516 "Shell Vertex Group",
5517 "Vertex group that the generated shell geometry will be weighted to");
5519 prop,
nullptr,
nullptr,
"rna_SolidifyModifier_shell_defgrp_name_set");
5526 "Vertex group that the generated rim geometry will be weighted to");
5528 prop,
nullptr,
nullptr,
"rna_SolidifyModifier_rim_defgrp_name_set");
5535 "Create edge loops between the inner and outer surfaces on face edges "
5536 "(slow, disable when not needed)");
5544 "Maintain thickness by adjusting for sharp corners (slow, disable when not needed)");
5551 "High Quality Normals",
5552 "Calculate normals which result in more even thickness (slow, disable when not needed)");
5564 "Make faces use the minimal vertex weight assigned to their vertices "
5565 "(ensures new faces remain parallel to their original ones, slow, "
5566 "disable when not needed)");
5597 prop,
"Merge Threshold",
"Distance within which degenerated geometry is merged");
5678 prop,
"Calculate Order",
"Calculate the order of edges (needed for meshes, but not curves)");
5684 prop,
"Object Screw",
"Use the distance between the objects to make a screw");
5691 prop,
"Merge Vertices",
"Merge adjacent vertices (screw offset must be zero)");
5697 prop,
"Smooth Shading",
"Output faces with smooth shading rather than flat shaded");
5703 prop,
"Stretch U",
"Stretch the U coordinates between 0 and 1 when UVs are present");
5709 prop,
"Stretch V",
"Stretch the V coordinates between 0 and 1 when UVs are present");
5716 prop,
"Object Angle",
"Use the angle between the objects rather than the fixed angle");
5811 const char *mask_flags,
5812 const int invert_vgroup_mask_flag,
5813 const char *mask_vgroup_setter,
5814 const char *mask_uvlayer_setter)
5823 "Use local generated coordinates of another object"},
5825 {0,
nullptr, 0,
nullptr,
nullptr},
5837 {0,
nullptr, 0,
nullptr,
nullptr},
5848 prop,
"Influence",
"Global influence of current modifications on vgroup");
5875 "Texture Coordinates",
5876 "Which texture coordinates "
5877 "to use for mapping");
5889 "Texture Coordinate Object",
5890 "Which object to take texture "
5891 "coordinates from");
5898 prop,
"Texture Coordinate Bone",
"Which bone to take texture coordinates from");
5918 "Map all values below 0.5 to 0.0, and all others to 1.0"},
5919 {0,
nullptr, 0,
nullptr,
nullptr},
5925 srna =
RNA_def_struct(brna,
"VertexWeightEditModifier",
"Modifier");
5927 srna,
"WeightVG Edit Modifier",
"Edit the weights of vertices in a group");
5937 prop,
nullptr,
nullptr,
"rna_WeightVGEditModifier_defgrp_name_set");
5956 "Normalize Weights",
5957 "Normalize the resulting weights (otherwise they are only clamped within 0.0 to 1.0 range)");
5969 "Add vertices with weight over threshold "
5977 "Remove vertices with weight below threshold "
5986 "Default weight a vertex will have if "
5987 "it is not in the vgroup");
5996 "Lower (inclusive) bound for a vertex's weight "
5997 "to be added to the vgroup");
6006 "Upper (inclusive) bound for a vertex's weight "
6007 "to be removed from the vgroup");
6017 "rna_WeightVGEditModifier_mask_defgrp_name_set",
6018 "rna_WeightVGEditModifier_mask_tex_uvlayer_name_set");
6024 {
MOD_WVG_MIX_SET,
"SET", 0,
"Replace",
"Replace VGroup A's weights by VGroup B's ones"},
6025 {
MOD_WVG_MIX_ADD,
"ADD", 0,
"Add",
"Add VGroup B's weights to VGroup A's ones"},
6026 {
MOD_WVG_MIX_SUB,
"SUB", 0,
"Subtract",
"Subtract VGroup B's weights from VGroup A's ones"},
6027 {
MOD_WVG_MIX_MUL,
"MUL", 0,
"Multiply",
"Multiply VGroup A's weights by VGroup B's ones"},
6028 {
MOD_WVG_MIX_DIV,
"DIV", 0,
"Divide",
"Divide VGroup A's weights by VGroup B's ones"},
6033 "Difference between VGroup A's and VGroup B's weights"},
6034 {
MOD_WVG_MIX_AVG,
"AVG", 0,
"Average",
"Average value of VGroup A's and VGroup B's weights"},
6035 {
MOD_WVG_MIX_MIN,
"MIN", 0,
"Minimum",
"Minimum of VGroup A's and VGroup B's weights"},
6036 {
MOD_WVG_MIX_MAX,
"MAX", 0,
"Maximum",
"Maximum of VGroup A's and VGroup B's weights"},
6037 {0,
nullptr, 0,
nullptr,
nullptr},
6041 {
MOD_WVG_SET_ALL,
"ALL", 0,
"All",
"Affect all vertices (might add some to VGroup A)"},
6042 {
MOD_WVG_SET_A,
"A", 0,
"VGroup A",
"Affect vertices in VGroup A"},
6047 "Affect vertices in VGroup B (might add some to VGroup A)"},
6052 "Affect vertices in at least one of both VGroups (might add some to VGroup A)"},
6053 {
MOD_WVG_SET_AND,
"AND", 0,
"VGroup A and B",
"Affect vertices in both groups"},
6054 {0,
nullptr, 0,
nullptr,
nullptr},
6060 srna =
RNA_def_struct(brna,
"VertexWeightMixModifier",
"Modifier");
6071 prop,
nullptr,
nullptr,
"rna_WeightVGMixModifier_defgrp_name_a_set");
6078 prop,
nullptr,
nullptr,
"rna_WeightVGMixModifier_defgrp_name_b_set");
6096 "Default weight a vertex will have if "
6097 "it is not in the first A vgroup");
6105 "Default weight a vertex will have if "
6106 "it is not in the second B vgroup");
6113 "How weights from vgroup B affect weights "
6126 "Normalize Weights",
6127 "Normalize the resulting weights (otherwise they are only clamped within 0.0 to 1.0 range)");
6137 "rna_WeightVGMixModifier_mask_defgrp_name_set",
6138 "rna_WeightVGMixModifier_mask_tex_uvlayer_name_set");
6148 "Use distance between affected and target objects"},
6153 "Use distance between affected object's vertices and target "
6154 "object, or target object's geometry"},
6155 {0,
nullptr, 0,
nullptr,
nullptr},
6162 {0,
nullptr, 0,
nullptr,
nullptr},
6177 "Map all values below 0.5 to 0.0, and all others to 1.0"},
6178 {0,
nullptr, 0,
nullptr,
nullptr},
6184 srna =
RNA_def_struct(brna,
"VertexWeightProximityModifier",
"Modifier");
6186 "WeightVG Proximity Modifier",
6187 "Set the weights of vertices in a group from a target object's "
6198 prop,
nullptr,
nullptr,
"rna_WeightVGProximityModifier_defgrp_name_set");
6213 "Proximity Geometry",
6214 "Use the shortest computed distance to target object's geometry "
6254 "Normalize Weights",
6255 "Normalize the resulting weights (otherwise they are only clamped within 0.0 to 1.0 range)");
6270 "rna_WeightVGProximityModifier_mask_defgrp_name_set",
6271 "rna_WeightVGProximityModifier_mask_tex_uvlayer_name_set");
6277 {
MOD_REMESH_CENTROID,
"BLOCKS", 0,
"Blocks",
"Output a blocky surface with no smoothing"},
6282 "Output a smooth surface with no sharp-features detection"},
6287 "Output a surface that reproduces sharp edges and corners from the input mesh"},
6292 "Output a mesh corresponding to the volume of the original mesh"},
6293 {0,
nullptr, 0,
nullptr,
nullptr},
6303 "Generate a new surface with regular topology that follows the shape of the input mesh");
6318 prop,
"Scale",
"The ratio of the largest dimension of the model over the size of the grid");
6327 "If removing disconnected pieces, minimum size of components to preserve as a ratio "
6328 "of the number of polygons in the largest component");
6336 prop,
"Octree Depth",
"Resolution of the octree; higher values give finer details");
6345 "Tolerance for outliers; lower values filter noise while higher values will reproduce "
6346 "edges closer to the input");
6356 "Size of the voxel in object space used for volume evaluation. Lower "
6357 "values preserve finer details.");
6366 "Reduces the final face count by simplifying geometry where detail is not needed, "
6367 "generating triangles. A value greater than 0 disables Fix Poles.");
6378 prop,
"Smooth Shading",
"Output faces with smooth shading rather than flat shaded");
6394 "Generate ocean surface geometry at the specified resolution"},
6399 "Displace existing geometry according to simulation"},
6405 "Leaves geometry unchanged, but still runs simulation (to be used from texture)"},
6407 {0,
nullptr, 0,
nullptr,
nullptr},
6415 "Use for turbulent seas with foam"},
6417 "PIERSON_MOSKOWITZ",
6419 "Established Ocean",
6420 "Use for a large area, established ocean (Pierson-Moskowitz method)"},
6424 "Established Ocean (Sharp Peaks)",
6425 "Use for established oceans ('JONSWAP', Pierson-Moskowitz method) with peak sharpening"},
6427 "TEXEL_MARSEN_ARSLOE",
6430 "Use for shallow water ('JONSWAP', 'TMA' - Texel-Marsen-Arsloe method)"},
6431 {0,
nullptr, 0,
nullptr,
nullptr},
6450 prop,
"Size",
"Surface scale factor (does not affect the height of the waves)");
6476 "Output normals for bump mapping - disabling can speed up performance if it's not needed");
6489 prop,
"Generate Spray Map",
"Generate map of spray direction as a vertex color channel");
6502 prop,
"Spray Map",
"Name of the vertex color layer used for the spray direction map");
6511 prop,
"Render Resolution",
"Resolution of the generated surface for rendering and baking");
6520 prop,
"Viewport Resolution",
"Viewport resolution of the generated surface");
6530 "Size of the simulation domain (in meters), and of the generated geometry (in BU)");
6543 prop,
"Damping",
"Damp reflected waves going in opposite direction to the wind");
6564 prop,
"Wave Direction",
"Main direction of the waves when they are (partially) aligned");
6588 prop,
"Foam Fade",
"How much foam accumulates over time (baked ocean only)");
6595 prop,
"Foam Layer Name",
"Name of the vertex color layer used for foam");
6603 "Choppiness of the wave's crest (adds some horizontal component to the displacement)");
6628 "This is the distance from a lee shore, "
6629 "called the fetch, or the distance over which the wind blows with constant velocity. "
6630 "Used by 'JONSWAP' and 'TMA' models.");
6662 prop,
"Ocean is Cached",
"Whether the ocean is using cached data or simulating");
6693 prop,
"Smooth Shading",
"Output faces with smooth shading rather than flat shaded");
6744 "Triangulate only polygons with vertex count greater than or equal to this number");
6752 "Try to preserve custom normals.\n"
6753 "Warning: Depending on chosen triangulation method, "
6754 "shading may not be fully preserved, \"Fixed\" method usually gives the best result here");
6765 {0,
nullptr, 0,
nullptr,
nullptr},
6773 "Replace vertex coordinates with cached values"},
6778 "Integrate deformation from this modifier's input with the mesh-cache coordinates "
6779 "(useful for shape keys)"},
6780 {0,
nullptr, 0,
nullptr,
nullptr},
6788 {0,
nullptr, 0,
nullptr,
nullptr},
6797 "Control playback using a frame-number "
6798 "(ignoring time FPS and start frame from the file)"},
6806 "Control playback using a value between 0 and 1"},
6807 {0,
nullptr, 0,
nullptr,
nullptr},
6813 {0,
nullptr, 0,
nullptr,
nullptr},
6871 "Name of the Vertex Group which determines the influence of the modifier per point");
6943 srna =
RNA_def_struct(brna,
"MeshSequenceCacheModifier",
"Modifier");
6961 "Path to the object in the Alembic archive used to lookup geometric data");
6969 {0,
nullptr, 0,
nullptr,
nullptr},
6982 prop,
"Vertex Interpolation",
"Allow interpolation of vertex positions");
6991 "Multiplier used to control the magnitude of the velocity vectors for time effects");
7002 srna =
RNA_def_struct(brna,
"LaplacianDeformModifier",
"Modifier");
7012 prop,
"Anchor Weights",
"Name of Vertex Group which determines Anchors");
7014 prop,
nullptr,
nullptr,
"rna_LaplacianDeformModifier_anchor_grp_name_set");
7045 {0,
nullptr, 0,
nullptr,
nullptr},
7070 prop,
"Vertex Group",
"Vertex group name for selecting the affected areas");
7082 prop,
"Only Loose Edges",
"Collapse edges without faces, cloth sewing edges");
7112 prop,
"Vertex Group Factor",
"Thickness factor to use for zero vertex group influence");
7145 prop,
"Offset Relative",
"Crease hub edges for improved subdivision surface");
7164 prop,
"Vertex Group",
"Vertex group name for selecting the affected areas");
7186 "Transfer active or all vertex groups"},
7188 {
DT_TYPE_SHAPEKEY,
"SHAPEKEYS", 0,
"Shapekey(s)",
"Transfer active or all shape keys"},
7193 {
DT_TYPE_SKIN,
"SKIN", 0,
"Skin Weight",
"Transfer skin weights"},
7200 "Transfer color attributes"},
7201 {0,
nullptr, 0,
nullptr,
nullptr},
7206 {
DT_TYPE_SEAM,
"SEAM", 0,
"UV Seam",
"Transfer UV seam mark"},
7207 {
DT_TYPE_CREASE,
"CREASE", 0,
"Crease",
"Transfer subdivision crease values"},
7210 {0,
nullptr, 0,
nullptr,
nullptr},
7214 {
DT_TYPE_LNOR,
"CUSTOM_NORMAL", 0,
"Custom Normals",
"Transfer custom normals"},
7219 "Transfer color attributes"},
7220 {
DT_TYPE_UV,
"UV", 0,
"UVs",
"Transfer UV layers"},
7221 {0,
nullptr, 0,
nullptr,
nullptr},
7230 "Transfer Freestyle face mark"},
7231 {0,
nullptr, 0,
nullptr,
nullptr},
7236 srna,
"Data Transfer Modifier",
"Modifier transferring some data from a source mesh");
7247 prop,
nullptr,
"rna_DataTransferModifier_ob_source_set",
nullptr,
"rna_Mesh_object_poll");
7251 "use_object_transform",
7254 "Evaluate source and destination meshes in global space");
7260 srna,
"use_vert_data",
false,
"Vertex Data",
"Enable vertex data transfer");
7264 prop =
RNA_def_boolean(srna,
"use_edge_data",
false,
"Edge Data",
"Enable edge data transfer");
7269 srna,
"use_loop_data",
false,
"Face Corner Data",
"Enable face corner data transfer");
7273 prop =
RNA_def_boolean(srna,
"use_poly_data",
false,
"Face Data",
"Enable face data transfer");
7280 DT_layer_vert_items,
7282 "Vertex Data Types",
7283 "Which vertex data layers to transfer");
7287 prop,
nullptr,
"rna_DataTransferModifier_verts_data_types_set",
nullptr);
7292 DT_layer_edge_items,
7295 "Which edge data layers to transfer");
7299 prop,
nullptr,
"rna_DataTransferModifier_edges_data_types_set",
nullptr);
7304 DT_layer_loop_items,
7306 "Face Corner Data Types",
7307 "Which face corner data layers to transfer");
7311 prop,
nullptr,
"rna_DataTransferModifier_loops_data_types_set",
nullptr);
7316 DT_layer_poly_items,
7319 "Which face data layers to transfer");
7323 prop,
nullptr,
"rna_DataTransferModifier_polys_data_types_set",
nullptr);
7332 "Method used to map source vertices to destination ones");
7341 "Method used to map source edges to destination ones");
7349 "Face Corner Mapping",
7350 "Method used to map source faces' corners to destination ones");
7359 "Method used to map source faces to destination ones");
7368 "Only Neighbor Geometry",
7369 "Source elements must be closer than given distance from destination one");
7380 "Maximum allowed distance between source and destination element, for non-topology mappings",
7394 "'Width' of rays (especially useful when raycasting against vertices or edges)",
7403 "islands_precision",
7407 "Islands Precision",
7408 "Factor controlling precision of islands handling "
7409 "(typically, 0.1 should be enough, higher values can make things really slow)",
7417 "layers_vgroup_select_src",
7420 "Source Layers Selection",
7421 "Which layers to transfer, in case of multi-layers types");
7424 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_src_itemf");
7429 "layers_shapekey_select_src",
7432 "Source Layers Selection",
7433 "Which layers to transfer, in case of multi-layers types");
7436 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_src_itemf");
7441 "layers_vcol_vert_select_src",
7444 "Source Layers Selection",
7445 "Which layers to transfer, in case of multi-layers types");
7448 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_src_itemf");
7452 "layers_vcol_loop_select_src",
7455 "Source Layers Selection",
7456 "Which layers to transfer, in case of multi-layers types");
7459 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_src_itemf");
7463 "layers_uv_select_src",
7466 "Source Layers Selection",
7467 "Which layers to transfer, in case of multi-layers types");
7470 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_src_itemf");
7474 "layers_vgroup_select_dst",
7477 "Destination Layers Matching",
7478 "How to match source and destination layers");
7481 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_dst_itemf");
7486 "layers_shapekey_select_dst",
7489 "Destination Layers Matching",
7490 "How to match source and destination layers");
7493 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_dst_itemf");
7498 "layers_vcol_vert_select_dst",
7501 "Destination Layers Matching",
7502 "How to match source and destination layers");
7505 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_dst_itemf");
7509 "layers_vcol_loop_select_dst",
7512 "Destination Layers Matching",
7513 "How to match source and destination layers");
7516 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_dst_itemf");
7520 "layers_uv_select_dst",
7523 "Destination Layers Matching",
7524 "How to match source and destination layers");
7527 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_dst_itemf");
7536 "How to affect destination elements with source values");
7547 "Factor to use when applying data to destination (exact behavior depends on mix mode, "
7548 "multiplied with weights from vertex group when defined)",
7558 "Vertex group name for selecting the affected areas");
7561 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_defgrp_name_set");
7565 srna,
"invert_vertex_group",
false,
"Invert",
"Invert vertex group influence");
7582 "From an ellipsoid (shape defined by the boundbox's dimensions, target is optional)"},
7587 "Normals 'track' (point to) the target object"},
7588 {0,
nullptr, 0,
nullptr,
nullptr},
7599 "Copy product of old and new normals (not cross product)"},
7600 {0,
nullptr, 0,
nullptr,
nullptr},
7605 srna,
"Normal Edit Modifier",
"Modifier affecting/generating custom normals");
7623 "Offset from object's center",
7637 prop,
"Mix Factor",
"How much of generated normals to mix with existing ones");
7649 "Lock Polygon Normals",
7650 "Do not flip polygons when their normals are not consistent "
7651 "with their newly computed custom vertex normals");
7657 prop,
"Vertex Group",
"Vertex group name for selecting/weighting the affected areas");
7669 prop,
nullptr,
"rna_NormalEditModifier_target_set",
nullptr,
nullptr);
7678 "Use same direction for all normals, from origin to target's center "
7679 "(Directional mode only)");
7690 srna =
RNA_def_struct(brna,
"SurfaceDeformModifier",
"Modifier");
7700 prop,
nullptr,
"rna_SurfaceDeformModifier_target_set",
nullptr,
"rna_Mesh_object_poll");
7707 prop,
"Interpolation Falloff",
"Controls how much nearby polygons influence deformation");
7718 prop,
"Vertex Group",
"Vertex group name for selecting/weighting the affected areas");
7720 prop,
nullptr,
nullptr,
"rna_SurfaceDeformModifier_defgrp_name_set");
7734 "Only record binding data for vertices matching the vertex group at the time of bind");
7756 "Generate face area weighted normals"},
7761 "Generate corner angle weighted normals"},
7763 "FACE_AREA_WITH_ANGLE",
7765 "Face Area & Angle",
7766 "Generated normals weighted by both face area and angle"},
7767 {0,
nullptr, 0,
nullptr,
nullptr},
7770 srna =
RNA_def_struct(brna,
"WeightedNormalModifier",
"Modifier");
7782 "Corrective factor applied to faces' weights, 50 is neutral, "
7783 "lower values increase weight of weak faces, "
7784 "higher values increase weight of strong faces");
7796 prop,
"Threshold",
"Threshold value for different weights to be considered equal");
7803 "Keep sharp edges as computed for default split normals, "
7804 "instead of setting a single weighted normal for each vertex");
7810 prop,
"Vertex Group",
"Vertex group name for modifying the selected areas");
7812 prop,
nullptr,
nullptr,
"rna_WeightedNormalModifier_defgrp_name_set");
7841 prop,
"Data-Block Name",
"Name that is mapped to the referenced data-block");
7848 "Used when the data block is not local to the current .blend file but "
7849 "is linked from some library");
7856 prop,
nullptr,
nullptr,
"rna_NodesModifierBake_data_block_typef",
nullptr);
7872 srna =
RNA_def_struct(brna,
"NodesModifierBakeDataBlocks",
nullptr);
7875 srna,
"Data-Blocks",
"Collection of data-blocks that can be referenced by baked data");
7885 "Inherit from Modifier",
7886 "Use setting from the modifier"},
7891 "Pack the baked data into the .blend file"},
7896 "Store the baked data in a directory on disk"},
7897 {0,
nullptr, 0,
nullptr,
nullptr},
7905 "Pack the baked data into the .blend file"},
7910 "Store the baked data in a directory on disk"},
7911 {0,
nullptr, 0,
nullptr,
nullptr},
7921 {0,
nullptr, 0,
nullptr,
nullptr},
7948 prop,
"Custom Simulation Frame Range",
"Override the simulation frame range from the scene");
7954 prop,
"Custom Path",
"Specify a path where the baked data should be stored manually");
7970 "Identifier for this bake which remains unchanged even when the bake "
7971 "node is renamed, grouped or ungrouped");
7979 "Bake node or simulation output node that corresponds to this bake. "
7980 "This node may be deeply nested in the modifier node group. It can be "
7981 "none in some cases like missing linked data blocks.");
7983 prop,
"rna_NodesModifierBake_node_get",
nullptr,
nullptr,
nullptr);
8034 "Nodes Modifier Warning",
8035 "Warning created during evaluation of a geometry nodes modifier");
8041 "rna_NodesModifierWarning_message_get",
8042 "rna_NodesModifierWarning_message_length",
8078 prop,
nullptr,
nullptr,
nullptr,
"rna_NodesModifier_node_group_poll");
8084 prop,
"Simulation Bake Directory",
"Location on disk where the bake data is stored");
8111 "rna_NodesModifier_node_warnings_iterator_begin",
8112 "rna_NodesModifier_node_warnings_iterator_next",
8114 "rna_NodesModifier_node_warnings_iterator_get",
8115 "rna_NodesModifier_node_warnings_length",
8144 "Desired number of voxels along one axis"},
8149 "Desired voxel side length"},
8150 {0,
nullptr, 0,
nullptr,
nullptr},
8168 prop,
"Resolution Mode",
"Mode for how the desired voxel size is specified");
8173 prop,
"Voxel Size",
"Smaller values result in a higher resolution output");
8185 prop,
"Interior Band Width",
"Width of the gradient inside of the mesh");
8204 "Use the local coordinate system for the texture coordinates"},
8209 "Use the global coordinate system for the texture coordinates"},
8214 "Use the linked object's local coordinate system for the texture coordinates"},
8215 {0,
nullptr, 0,
nullptr,
nullptr},
8221 srna =
RNA_def_struct(brna,
"VolumeDisplaceModifier",
"Modifier");
8250 prop,
"Texture Mid Level",
"Subtracted from the texture color to get a displacement vector");
8258 "Texture Sample Radius",
8259 "Smaller values result in better performance but might cut off the volume");
8277 "Use resolution of the volume grid"},
8282 "Desired number of voxels along one axis"},
8287 "Desired voxel side length"},
8288 {0,
nullptr, 0,
nullptr,
nullptr},
8305 prop,
"Threshold",
"Voxels with a larger value are inside the generated mesh");
8314 "Reduces the final face count by simplifying geometry where detail is not needed");
8321 prop,
"Smooth Shading",
"Output faces with smooth shading rather than flat shaded");
8326 prop,
"Grid Name",
"Grid in the volume object that is converted to a mesh");
8332 prop,
"Resolution Mode",
"Mode for how the desired voxel size is specified");
8337 prop,
"Voxel Size",
"Smaller values result in a higher resolution output");
8385 const char *material_set_fn)
8393 prop,
nullptr, material_set_fn,
nullptr,
"rna_GreasePencilModifier_material_poll");
8423 const char *vertex_group_name_set_fn)
8448 prop,
"Use Custom Curve",
"Use a custom curve to define a factor along the strokes");
8466 {0,
nullptr, 0,
nullptr,
nullptr},
8469 srna =
RNA_def_struct(brna,
"GreasePencilOpacityModifier",
"Modifier");
8476 srna,
"rna_GreasePencilOpacityModifier_material_filter_set");
8478 srna,
"rna_GreasePencilOpacityModifier_vertex_group_name_set");
8495 "rna_GreasePencilOpacityModifier_opacity_factor_max_set",
8496 "rna_GreasePencilOpacityModifier_opacity_factor_range");
8511 prop,
"Use Weight as Factor",
"Use vertex group weight as factor instead of influence");
8518 prop,
"Uniform Opacity",
"Replace the stroke opacity instead of modulating each point");
8533 {0,
nullptr, 0,
nullptr,
nullptr},
8536 srna =
RNA_def_struct(brna,
"GreasePencilSubdivModifier",
"Modifier");
8543 srna,
"rna_GreasePencilSubdivModifier_material_filter_set");
8575 {0,
nullptr, 0,
nullptr,
nullptr},
8578 srna =
RNA_def_struct(brna,
"GreasePencilColorModifier",
"Modifier");
8585 srna,
"rna_GreasePencilColorModifier_material_filter_set");
8630 {0,
nullptr, 0,
nullptr,
nullptr},
8636 {0,
nullptr, 0,
nullptr,
nullptr},
8639 srna =
RNA_def_struct(brna,
"GreasePencilTintModifier",
"Modifier");
8646 srna,
"rna_GreasePencilTintModifier_material_filter_set");
8648 srna,
"rna_GreasePencilTintModifier_vertex_group_name_set");
8689 prop,
nullptr,
"rna_GreasePencilTintModifier_object_set",
nullptr,
nullptr);
8704 prop,
"Use Weight as Factor",
"Use vertex group weight as factor instead of influence");
8717 {0,
nullptr, 0,
nullptr,
nullptr},
8720 static const EnumPropertyItem modifier_lineart_shadow_region_filtering[] = {
8725 "Not filtering any lines based on illumination region"},
8730 "Only selecting lines from illuminated regions"},
8735 "Only selecting lines from shaded regions"},
8737 "ILLUMINATED_ENCLOSED",
8739 "Illuminated (Enclosed Shapes)",
8740 "Selecting lines from lit regions, and make the combination of contour, light contour and "
8741 "shadow lines into enclosed shapes"},
8742 {0,
nullptr, 0,
nullptr,
nullptr},
8749 {0,
nullptr, 0,
nullptr,
nullptr},
8752 srna =
RNA_def_struct(brna,
"GreasePencilLineartModifier",
"Modifier");
8754 srna,
"Line Art Modifier",
"Generate Line Art strokes from selected source");
8763 prop,
"Use Custom Camera",
"Use custom camera instead of the active camera");
8770 "Intersection With Contour",
8771 "Treat intersection and contour lines as if they were the same type so "
8772 "they can be chained together");
8779 prop,
"All Lines",
"Treat all lines as the same line type so they can be chained together");
8786 "Instanced Objects",
8787 "Allow particle objects and face/vertex instances to show in Line Art");
8795 "Handle Overlapping Edges",
8796 "Allow edges in the same location (i.e. from edge split) to show properly. May run slower.");
8803 "Clipping Boundaries",
8804 "Allow lines generated by the near/far clipping plane to be shown");
8812 "Angles smaller than this will be treated as creases. Crease angle "
8813 "priority: object Line Art crease override > mesh auto smooth angle > "
8814 "Line Art default crease.");
8820 prop,
"Angle Splitting",
"Angle in screen space below which a stroke is split in two");
8829 prop,
"Smooth Tolerance",
"Strength of smoothing applied on jagged chains");
8854 prop,
"Filter Face Marks",
"Filter feature lines using freestyle face marks");
8867 prop,
"Boundaries",
"Filter feature lines based on face mark boundaries");
8880 "Segments with an image distance smaller than this will be chained together");
8894 prop,
"Use Geometry Space",
"Use geometry distance for chaining instead of image space");
8901 prop,
"Preserve Details",
"Keep the zig-zag \"noise\" in initial chaining");
8908 "Overlapping Edge Types",
8909 "Allow an edge to have multiple overlapping types. This will create a "
8910 "separate stroke for each overlapping type.");
8915 "Stroke Depth Offset",
8916 "Move strokes slightly towards the camera to avoid clipping while "
8917 "preserve depth for the viewport");
8926 "Offset Towards Custom Camera",
8927 "Offset strokes towards selected camera instead of the active camera");
8935 prop,
"Camera Object",
"Use specified camera object for generating Line Art strokes");
8943 prop,
"Light Object",
"Use this light object to generate light contour");
8961 prop,
"Collection",
"Generate strokes from the objects in this collection");
8983 prop,
"Use Material",
"Generate strokes from borders between materials");
8999 "Use Light Contour",
9000 "Generate light/shadow separation lines from a reference light object");
9007 prop,
"Use Shadow",
"Project contour lines using a light source object");
9014 "Shadow Region Filtering",
9015 "Select feature lines that comes from lit or shaded regions. Will not "
9016 "affect cast shadow and light contour since they are at the border.");
9028 prop,
"Use Occlusion Range",
"Generate strokes from a range of occlusion levels");
9033 prop,
"Level Start",
"Minimum number of occlusions for the generated strokes");
9040 prop,
"Level End",
"Maximum number of occlusions for the generated strokes");
9047 prop,
"Layer",
"Grease Pencil layer to which assign the generated strokes");
9055 "rna_GreasePencilLineartModifier_material_set",
9057 "rna_GreasePencilModifier_material_poll");
9059 prop,
"Material",
"Grease Pencil material assigned to the generated strokes");
9065 "Source Vertex Group",
9066 "Match the beginning of vertex group names from mesh objects, match all when left empty");
9072 prop,
nullptr,
nullptr,
"rna_GreasePencilLineartModifier_vgname_set");
9085 "Use cached scene data from the first Line Art modifier in the stack. "
9086 "Certain settings will be unavailable.");
9093 "A margin to prevent strokes from ending abruptly at the edge of the image");
9114 prop,
"Use Material Mask",
"Use material masks to filter out occluded strokes");
9121 prop,
"Match Masks",
"Require matching all material masks instead of just one");
9134 prop,
"Match Intersection",
"Require matching all intersection masks instead of just one");
9147 prop,
"Crease On Smooth Surfaces",
"Allow crease edges to show inside smooth surfaces");
9161 "Image Boundary Trimming",
9162 "Trim all edges right at the boundary of image (including overscan region)");
9169 "Back Face Culling",
9170 "Remove all back faces to speed up calculation, this will create edges in "
9171 "different occlusion levels than when disabled");
9189 "Shadow Camera Size",
9190 "Represents the \"Orthographic Scale\" of an orthographic camera. "
9191 "If the camera is positioned at the light's location with this scale, it will "
9192 "represent the coverage of the shadow \"camera\".");
9199 "Invert Collection Filtering",
9200 "Select everything except lines from specified collection");
9216 srna =
RNA_def_struct(brna,
"GreasePencilSmoothModifier",
"Modifier");
9223 srna,
"rna_GreasePencilSmoothModifier_material_filter_set");
9225 srna,
"rna_GreasePencilSmoothModifier_vertex_group_name_set");
9241 prop,
"Affect Position",
"The modifier affects the position of the point");
9247 prop,
"Affect Strength",
"The modifier affects the color strength of the point");
9253 prop,
"Affect Thickness",
"The modifier affects the thickness of the point");
9259 prop,
"Affect UV",
"The modifier affects the UV rotation factor of the point");
9266 prop,
"Steps",
"Number of times to apply smooth (high numbers can reduce fps)");
9295 "Offset strokes by the same factor based on stroke draw order"},
9300 "Offset materials by the same factor"},
9301 {0,
nullptr, 0,
nullptr,
nullptr},
9304 srna =
RNA_def_struct(brna,
"GreasePencilOffsetModifier",
"Modifier");
9311 srna,
"rna_GreasePencilOffsetModifier_material_filter_set");
9313 srna,
"rna_GreasePencilOffsetModifier_vertex_group_name_set");
9378 prop,
"Uniform Scale",
"Use the same random seed for each scale axis for a uniform scale");
9392 {0,
nullptr, 0,
nullptr,
nullptr},
9395 srna =
RNA_def_struct(brna,
"GreasePencilNoiseModifier",
"Modifier");
9402 srna,
"rna_GreasePencilNoiseModifier_material_filter_set");
9404 srna,
"rna_GreasePencilNoiseModifier_vertex_group_name_set");
9481 {
GP_LENGTH_RELATIVE,
"RELATIVE", 0,
"Relative",
"Length in ratio to the stroke's length"},
9483 {0,
nullptr, 0,
nullptr,
nullptr},
9486 srna =
RNA_def_struct(brna,
"GreasePencilLengthModifier",
"Modifier");
9493 srna,
"rna_GreasePencilLengthModifier_material_filter_set");
9505 prop,
"Start Factor",
"Added length to the start of each stroke relative to its length");
9512 prop,
"End Factor",
"Added length to the end of each stroke relative to its length");
9519 prop,
"Start Factor",
"Absolute added length to the start of each stroke");
9532 prop,
"Random Start Factor",
"Size of random length added to the start of each stroke");
9539 prop,
"Random End Factor",
"Size of random length added to the end of each stroke");
9546 prop,
"Random Noise Offset",
"Smoothly offset each stroke's random value");
9570 "Defines what portion of the stroke is used for the calculation of the extension");
9587 prop,
"Invert Curvature",
"Invert the curvature of the stroke's extension");
9595 prop,
"Point Density",
"Multiplied by Start/End for the total added point count");
9602 "Segment Influence",
9603 "Factor to determine how much the length of the individual segments "
9604 "should influence the final computed curvature. Higher factors makes "
9605 "small segments influence the overall curvature less.");
9611 "Ignore points on the stroke that deviate from their neighbors by more "
9612 "than this angle when determining the extrapolation shape");
9625 srna =
RNA_def_struct(brna,
"GreasePencilMirrorModifier",
"Modifier");
9632 srna,
"rna_GreasePencilMirrorModifier_material_filter_set");
9641 prop,
nullptr,
"rna_GreasePencilMirrorModifier_object_set",
nullptr,
nullptr);
9668 srna =
RNA_def_struct(brna,
"GreasePencilThickModifierData",
"Modifier");
9675 srna,
"rna_GreasePencilThickModifier_material_filter_set");
9677 srna,
"rna_GreasePencilThickModifier_vertex_group_name_set");
9716 srna =
RNA_def_struct(brna,
"GreasePencilArrayModifier",
"Modifier");
9723 srna,
"rna_GreasePencilArrayModifier_material_filter_set");
9745 "Use the location and rotation of another object to determine the distance and "
9746 "rotational change between arrayed items");
9761 "The size of the geometry will determine the distance between arrayed items");
9793 "Index of the material used for generated strokes (0 keep original material)");
9804 prop,
"Use Object Offset",
"Add another object's transformation to the total offset");
9816 prop,
"Uniform Scale",
"Use the same random seed for each scale axis for a uniform scale");
9827 srna =
RNA_def_struct(brna,
"GreasePencilLatticeModifier",
"Modifier");
9829 srna,
"Grease Pencil Lattice Modifier",
"Deform strokes using a lattice object");
9835 srna,
"rna_GreasePencilLatticeModifier_material_filter_set");
9837 srna,
"rna_GreasePencilLatticeModifier_vertex_group_name_set");
9847 "rna_GreasePencilLatticeModifier_object_set",
9849 "rna_Lattice_object_poll");
9867 srna =
RNA_def_struct(brna,
"GreasePencilDashModifierSegment",
nullptr);
9875 prop,
nullptr,
nullptr,
"rna_GreasePencilDashModifierSegment_name_set");
9884 "The number of consecutive points from the original stroke to include in this segment");
9895 prop,
"Radius",
"The factor to apply to the original point's radius for the new points");
9901 prop,
"Opacity",
"The factor to apply to the original point's opacity for the new points");
9910 "Use this index on generated segment. -1 means using the existing material.");
9924 srna =
RNA_def_struct(brna,
"GreasePencilDashModifierData",
"Modifier");
9926 srna,
"Grease Pencil Dash Modifier",
"Create dot-dash effect for strokes");
9932 srna,
"rna_GreasePencilDashModifier_material_filter_set");
9942 "rna_GreasePencilDashModifier_segments_begin",
9943 "rna_iterator_array_next",
9944 "rna_iterator_array_end",
9945 "rna_iterator_array_get",
9960 "Offset into each stroke before the beginning of the dashed segment generation");
9972 {0,
"X", 0,
"X",
""},
9973 {1,
"Y", 0,
"Y",
""},
9974 {2,
"Z", 0,
"Z",
""},
9975 {0,
nullptr, 0,
nullptr,
nullptr},
9981 {0,
nullptr, 0,
nullptr,
nullptr},
9984 srna =
RNA_def_struct(brna,
"GreasePencilWeightAngleModifier",
"Modifier");
9991 srna,
"rna_GreasePencilWeightAngleModifier_material_filter_set");
9993 srna,
"rna_GreasePencilWeightAngleModifier_vertex_group_name_set");
10003 prop,
nullptr,
nullptr,
"rna_GreasePencilWeightAngleModifier_target_vgname_set");
10010 "Multiply Weights",
10011 "Multiply the calculated weights with the existing values in the vertex group");
10050 srna =
RNA_def_struct(brna,
"GreasePencilMultiplyModifier",
"Modifier");
10057 srna,
"rna_GreasePencilMultiModifier_material_filter_set");
10124 {0,
nullptr, 0,
nullptr,
nullptr},
10127 srna =
RNA_def_struct(brna,
"GreasePencilHookModifier",
"Modifier");
10129 srna,
"Hook Modifier",
"Hook modifier to modify the location of stroke points");
10135 srna,
"rna_GreasePencilHookModifier_material_filter_set");
10137 srna,
"rna_GreasePencilHookModifier_vertex_group_name_set");
10147 prop,
"Object",
"Parent Object for hook, also recalculates and clears offset");
10150 prop,
nullptr,
"rna_GreasePencilHookModifier_object_set",
nullptr,
nullptr);
10158 "Name of Parent Bone for hook (if applicable), also recalculates and clears offset");
10179 prop,
"Radius",
"If not zero, the distance from the hook where influence ends");
10191 prop,
"Matrix",
"Reverse the transformation between this object and its target");
10207 srna =
RNA_def_struct(brna,
"GreasePencilWeightProximityModifier",
"Modifier");
10214 srna,
"rna_GreasePencilWeightProximityModifier_material_filter_set");
10216 srna,
"rna_GreasePencilWeightProximityModifier_vertex_group_name_set");
10227 "Multiply Weights",
10228 "Multiply the calculated weights with the existing values in the vertex group");
10241 prop,
nullptr,
nullptr,
"rna_GreasePencilWeightProximityModifier_target_vgname_set");
10248 prop,
nullptr,
"rna_GreasePencilWeightProximityModifier_object_set",
nullptr,
nullptr);
10284 "Delete alternating vertices in the stroke, except extremes"},
10287 ICON_IPO_EASE_IN_OUT,
10289 "Use a Ramer-Douglas-Peucker algorithm to simplify the stroke preserving main shape"},
10292 ICON_IPO_EASE_IN_OUT,
10294 "Re-sample the stroke with segments of the specified length"},
10297 ICON_IPO_EASE_IN_OUT,
10299 "Simplify the stroke by merging vertices closer than a given distance"},
10300 {0,
nullptr, 0,
nullptr,
nullptr},
10303 srna =
RNA_def_struct(brna,
"GreasePencilSimplifyModifier",
"Modifier");
10310 srna,
"rna_GreasePencilSimplifyModifier_material_filter_set");
10312 srna,
"rna_GreasePencilSimplifyModifier_vertex_group_name_set");
10346 prop,
"Sharp Threshold",
"Preserve corners that have sharper angle than this threshold");
10364 srna =
RNA_def_struct(brna,
"GreasePencilArmatureModifier",
"Modifier");
10370 srna,
"rna_GreasePencilArmatureModifier_vertex_group_name_set");
10380 "rna_GreasePencilArmatureModifier_object_set",
10382 "rna_Armature_object_poll");
10399 prop,
"Preserve Volume",
"Deform rotation interpolation with quaternions");
10415 "Apply offset in usual animation direction"},
10420 "Apply offset in reverse animation direction"},
10425 "Loop back and forth"},
10426 {0,
nullptr, 0,
nullptr,
nullptr},
10429 srna =
RNA_def_struct(brna,
"GreasePencilTimeModifierSegment",
nullptr);
10437 prop,
nullptr,
nullptr,
"rna_GreasePencilTimeModifierSegment_name_set");
10473 "Apply offset in usual animation direction"},
10478 "Apply offset in reverse animation direction"},
10483 "Keep frame and do not change with time"},
10488 "Loop back and forth starting in reverse"},
10493 "List of chained animation segments"},
10494 {0,
nullptr, 0,
nullptr,
nullptr},
10497 srna =
RNA_def_struct(brna,
"GreasePencilTimeModifier",
"Modifier");
10513 "rna_GreasePencilTimeModifier_segments_begin",
10514 "rna_iterator_array_next",
10515 "rna_iterator_array_end",
10516 "rna_iterator_array_get",
10537 prop,
"Frame Offset",
"Number of frames to offset original keyframe number or frame to fix");
10550 prop,
nullptr,
"rna_GreasePencilTimeModifier_start_frame_set",
nullptr);
10566 prop,
"Keep Loop",
"Retiming end frames and move to start of animation to keep loop");
10572 prop,
"Custom Range",
"Define a custom range of frames to use in modifier");
10588 "Deform the stroke to best match the envelope shape"},
10593 "Add segments to create the envelope. Keep the original stroke."},
10598 "Add fill segments to create the envelope. Don't keep the original stroke."},
10599 {0,
nullptr, 0,
nullptr,
nullptr},
10602 srna =
RNA_def_struct(brna,
"GreasePencilEnvelopeModifier",
"Modifier");
10604 srna,
"Grease Pencil Envelope Modifier",
"Envelope stroke effect modifier");
10610 srna,
"rna_GreasePencilEnvelopeModifier_material_filter_set");
10612 srna,
"rna_GreasePencilEnvelopeModifier_vertex_group_name_set");
10628 prop,
"Spread Length",
"The number of points to skip to create straight segments");
10655 prop,
"Skip Segments",
"The number of generated segments to skip to reduce complexity");
10666 srna =
RNA_def_struct(brna,
"GreasePencilOutlineModifier",
"Modifier");
10673 srna,
"rna_GreasePencilOutlineModifier_material_filter_set");
10706 "rna_GreasePencilOutlineModifier_outline_material_set",
10708 "rna_GreasePencilModifier_material_poll");
10716 prop,
nullptr,
"rna_GreasePencilOutlineModifier_object_set",
nullptr,
nullptr);
10727 srna =
RNA_def_struct(brna,
"GreasePencilShrinkwrapModifier",
"Modifier");
10729 "Shrinkwrap Modifier",
10730 "Shrink wrapping modifier to shrink wrap an object to a target");
10736 srna,
"rna_GreasePencilShrinkwrapModifier_material_filter_set");
10738 srna,
"rna_GreasePencilShrinkwrapModifier_vertex_group_name_set");
10754 prop,
"Snap Mode",
"Select how vertices are constrained to the target surface");
10761 "rna_GreasePencilShrinkwrapModifier_face_cull_get",
10762 "rna_GreasePencilShrinkwrapModifier_face_cull_set",
10767 "Stop vertices from projecting to a face on the target when facing towards/away");
10774 "rna_GreasePencilShrinkwrapModifier_target_set",
10776 "rna_Mesh_object_poll");
10785 "rna_GreasePencilShrinkwrapModifier_aux_target_set",
10787 "rna_Mesh_object_poll");
10803 prop,
"Project Limit",
"Limit the distance used for projection (zero disables)");
10827 "Subdivision Levels",
10828 "Number of subdivisions that must be performed before extracting vertices' "
10829 "positions and normals");
10836 prop,
"Negative",
"Allow vertices to move in the negative direction of axis");
10843 prop,
"Positive",
"Allow vertices to move in the positive direction of axis");
10849 prop,
"Invert Cull",
"When projecting in the negative direction invert the face cull mode");
10862 prop,
"Steps",
"Number of times to apply smooth (high numbers can reduce FPS)");
10875 "Strokes appear/disappear one after the other, but only a single one changes at a time"},
10880 "Multiple strokes appear/disappear at once"},
10885 "Builds only new strokes (assuming 'additive' drawing)"},
10886 {0,
nullptr, 0,
nullptr,
nullptr},
10894 "Show points in the order they occur in each stroke "
10895 "(e.g. for animating lines being drawn)"},
10900 "Hide points from the end of each stroke to the start "
10901 "(e.g. for animating lines being erased)"},
10906 "Hide points in the order they occur in each stroke "
10907 "(e.g. for animating ink fading or vanishing after getting drawn)"},
10908 {0,
nullptr, 0,
nullptr,
nullptr},
10916 "All strokes start at same time (i.e. short strokes finish earlier)"},
10921 "All strokes end at same time (i.e. short strokes start later)"},
10922 {0,
nullptr, 0,
nullptr,
nullptr},
10928 srna =
RNA_def_struct(brna,
"GreasePencilBuildModifier",
"Modifier");
10935 srna,
"rna_GreasePencilBuildModifier_material_filter_set");
10951 prop,
"Transition",
"How are strokes animated (i.e. are they appearing or disappearing)");
10957 prop,
"Delay",
"Number of frames after each GP keyframe before the modifier has any effect");
10966 "Maximum number of frames that the build effect can run for "
10967 "(unless another GP keyframe occurs before this time has elapsed)");
10985 "Use drawing speed, a number of frames, or a manual factor to build strokes");
11008 prop,
"Restrict Frame Range",
"Only modify strokes during the specified frame range");
11016 prop,
"Restrict Visible Points",
"Use a percentage factor to determine the visible points");
11027 prop,
"Start Frame",
"Start Frame (when Restrict Frame Range is enabled)");
11052 prop,
nullptr,
nullptr,
"rna_GreasePencilBuildModifier_target_vgname_set");
11058 prop,
"Opacity Strength",
"How much strength fading applies on top of stroke opacity");
11065 prop,
"Thickness Strength",
"How much strength fading applies on top of stroke thickness");
11072 prop,
nullptr,
"rna_GreasePencilBuildModifier_object_set",
nullptr,
nullptr);
11089 "Keep the texture at a constant length regardless of the length of each stroke"},
11094 "Scale the texture to fit the length of each stroke"},
11095 {0,
nullptr, 0,
nullptr,
nullptr},
11103 "Manipulate only stroke texture coordinates"},
11108 "Manipulate only fill texture coordinates"},
11113 "Manipulate both stroke and fill texture coordinates"},
11114 {0,
nullptr, 0,
nullptr,
nullptr},
11117 srna =
RNA_def_struct(brna,
"GreasePencilTextureModifier",
"Modifier");
11119 srna,
"Grease Pencil Texture Modifier",
"Transform stroke texture coordinates Modifier");
11125 srna,
"rna_GreasePencilTextureModifier_material_filter_set");
11127 srna,
"rna_GreasePencilTextureModifier_vertex_group_name_set");
11154 prop,
"Rotation",
"Additional rotation applied to dots and square strokes");
11246 prop,
"rna_Modifier_show_expanded_get",
"rna_Modifier_show_expanded_set");
11272 "is_override_data",
11274 "Override Modifier",
11275 "In a local override object, whether this modifier comes from the linked "
11276 "reference object, or is local to the override");
11286 "Apply this and all preceding deformation modifiers on splines' points rather than "
11287 "on filled curve/surface");
11296 "Time in seconds that the modifier took to evaluate. This is only set on evaluated objects. "
11297 "If multiple modifiers run in parallel, execution time is not a reliable metric.");
11304 "Uniquely identifies the modifier within the modifier stack that it is part of");
void BKE_animdata_fix_paths_rename_all(struct ID *ref_id, const char *prefix, const char *oldName, const char *newName)
Depsgraph * CTX_data_ensure_evaluated_depsgraph(const bContext *C)
Object * CTX_data_active_object(const bContext *C)
void BKE_curveprofile_init(struct CurveProfile *profile, short segments_len)
CustomData interface, see also DNA_customdata_types.h.
@ CDT_MIX_REPLACE_BELOW_THRESHOLD
@ CDT_MIX_REPLACE_ABOVE_THRESHOLD
const char * CustomData_get_layer_name(const CustomData *data, eCustomDataType type, int n)
int CustomData_number_of_layers(const CustomData *data, eCustomDataType type)
bool CustomData_external_test(CustomData *data, eCustomDataType type)
@ DT_LAYERS_VGROUP_SRC_BONE_SELECT
@ DT_LAYERS_VGROUP_SRC_BONE_DEFORM
int BKE_object_data_transfer_get_dttypes_item_types(int dtdata_types)
bool BKE_object_data_transfer_get_dttypes_capacity(int dtdata_types, bool *r_advanced_mixing, bool *r_threshold)
@ DT_MULTILAYER_INDEX_MDEFORMVERT
@ DT_MULTILAYER_INDEX_VCOL_VERT
@ DT_MULTILAYER_INDEX_VCOL_LOOP
void BKE_fluid_modifier_create_type_data(struct FluidModifierData *fmd)
void BKE_fluid_modifier_free(struct FluidModifierData *fmd)
void id_lib_extern(ID *id)
General operations, lookup, etc. for materials.
int BKE_object_material_index_get(Object *ob, const Material *ma)
@ MREMAP_MODE_VERT_EDGE_NEAREST
@ MREMAP_MODE_LOOP_POLYINTERP_NEAREST
@ MREMAP_MODE_VERT_POLYINTERP_VNORPROJ
@ MREMAP_MODE_VERT_FACE_NEAREST
@ MREMAP_MODE_EDGE_POLY_NEAREST
@ MREMAP_MODE_VERT_EDGEINTERP_NEAREST
@ MREMAP_MODE_VERT_NEAREST
@ MREMAP_MODE_LOOP_NEAREST_POLYNOR
@ MREMAP_MODE_EDGE_VERT_NEAREST
@ MREMAP_MODE_EDGE_NEAREST
@ MREMAP_MODE_LOOP_POLYINTERP_LNORPROJ
@ MREMAP_MODE_LOOP_NEAREST_LOOPNOR
@ MREMAP_MODE_LOOP_POLY_NEAREST
@ MREMAP_MODE_EDGE_EDGEINTERP_VNORPROJ
@ MREMAP_MODE_POLY_POLYINTERP_PNORPROJ
@ MREMAP_MODE_POLY_NEAREST
@ MREMAP_MODE_VERT_POLYINTERP_NEAREST
const ModifierTypeInfo * BKE_modifier_get_info(ModifierType type)
void BKE_modifier_unique_name(ListBase *modifiers, ModifierData *md)
void multires_force_external_reload(Object *object)
General operations, lookup, etc. for blender objects.
Mesh * BKE_object_get_evaluated_mesh(const Object *object_eval)
Object * BKE_object_pose_armature_get(Object *ob)
void BKE_object_modifier_hook_reset(Object *ob, HookModifierData *hmd)
void BKE_ocean_free_modifier_cache(struct OceanModifierData *omd)
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
#define LISTBASE_FOREACH(type, var, list)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE int max_ii(int a, int b)
int BLI_sortutil_cmp_int(const void *a_, const void *b_)
#define STRNCPY(dst, src)
#define SNPRINTF(dst, format,...)
size_t BLI_str_escape(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
#define STRNCPY_UTF8(dst, src)
size_t void BLI_uniquename_cb(UniquenameCheckCallback unique_check, void *arg, const char *defname, char delim, char *name, size_t name_maxncpy) ATTR_NONNULL(1
#define UNUSED_VARS_NDEBUG(...)
#define SET_FLAG_FROM_TEST(value, test, flag)
#define BLT_I18NCONTEXT_ID_SIMULATION
#define BLT_I18NCONTEXT_ID_CURVE_LEGACY
#define BLT_I18NCONTEXT_ID_PARTICLESETTINGS
#define BLT_I18NCONTEXT_OPERATOR_DEFAULT
#define BLT_I18NCONTEXT_ID_MESH
void DEG_id_tag_update(ID *id, unsigned int flags)
void DEG_relations_tag_update(Main *bmain)
Object * DEG_get_evaluated_object(const Depsgraph *depsgraph, Object *object)
#define MAX_CUSTOMDATA_LAYER_NAME_NO_PREFIX
@ GP_LENGTH_INVERT_CURVATURE
@ GP_LENGTH_USE_CURVATURE
@ GP_WEIGHT_INVERT_OUTPUT
@ GP_WEIGHT_MULTIPLY_DATA
@ GP_NOISE_RANDOM_KEYFRAME
@ MOD_LINEART_EDGE_FLAG_PROJECTED_SHADOW
@ MOD_LINEART_EDGE_FLAG_CONTOUR
@ MOD_LINEART_EDGE_FLAG_LIGHT_CONTOUR
@ MOD_LINEART_EDGE_FLAG_INTERSECTION
@ MOD_LINEART_EDGE_FLAG_CREASE
@ MOD_LINEART_EDGE_FLAG_MATERIAL
@ MOD_LINEART_EDGE_FLAG_EDGE_MARK
@ MOD_LINEART_EDGE_FLAG_LOOSE
@ MOD_LINEART_FILTER_FACE_MARK
@ MOD_LINEART_FILTER_FACE_MARK_BOUNDARIES
@ MOD_LINEART_USE_CREASE_ON_SMOOTH_SURFACES
@ MOD_LINEART_USE_IMAGE_BOUNDARY_TRIMMING
@ MOD_LINEART_LOOSE_AS_CONTOUR
@ MOD_LINEART_CHAIN_PRESERVE_DETAILS
@ MOD_LINEART_USE_BACK_FACE_CULLING
@ MOD_LINEART_CHAIN_LOOSE_EDGES
@ MOD_LINEART_USE_CUSTOM_CAMERA
@ MOD_LINEART_USE_CREASE_ON_SHARP_EDGES
@ MOD_LINEART_INVERT_SOURCE_VGROUP
@ MOD_LINEART_EVERYTHING_AS_CONTOUR
@ MOD_LINEART_ALLOW_DUPLI_OBJECTS
@ MOD_LINEART_MATCH_OUTPUT_VGROUP
@ MOD_LINEART_CHAIN_GEOMETRY_SPACE
@ MOD_LINEART_FILTER_FACE_MARK_KEEP_CONTOUR
@ MOD_LINEART_INTERSECTION_AS_CONTOUR
@ MOD_LINEART_ALLOW_OVERLAP_EDGE_TYPES
@ MOD_LINEART_ALLOW_OVERLAPPING_EDGES
@ MOD_LINEART_ALLOW_CLIPPING_BOUNDARIES
@ MOD_LINEART_FILTER_FACE_MARK_INVERT
@ MOD_MESHCACHE_INTERP_LINEAR
@ MOD_MESHCACHE_INTERP_NONE
@ eModifierFlag_OverrideLibrary_Local
@ NODES_MODIFIER_BAKE_TARGET_PACKED
@ NODES_MODIFIER_BAKE_TARGET_INHERIT
@ NODES_MODIFIER_BAKE_TARGET_DISK
@ MOD_GREASE_PENCIL_MULTIPLY_ENABLE_FADING
@ MOD_REMESH_SMOOTH_SHADING
@ MOD_MESHSEQ_INTERPOLATE_VERTICES
@ MOD_BEVEL_HARDEN_NORMALS
@ MOD_BEVEL_INVERT_VGROUP
@ MOD_SIMPLEDEFORM_LOCK_AXIS_Z
@ MOD_SIMPLEDEFORM_LOCK_AXIS_X
@ MOD_SIMPLEDEFORM_LOCK_AXIS_Y
@ MOD_SHRINKWRAP_TARGET_PROJECT
@ MOD_SHRINKWRAP_NEAREST_VERTEX
@ MOD_SHRINKWRAP_NEAREST_SURFACE
@ eWarp_Falloff_InvSquare
@ MOD_LATTICE_INVERT_VGROUP
@ LINEART_SHADOW_FILTER_ILLUMINATED_ENCLOSED_SHAPES
@ LINEART_SHADOW_FILTER_NONE
@ LINEART_SHADOW_FILTER_SHADED
@ LINEART_SHADOW_FILTER_ILLUMINATED
@ MOD_CURVE_INVERT_VGROUP
@ MOD_GREASE_PENCIL_SMOOTH_MOD_LOCATION
@ MOD_GREASE_PENCIL_SMOOTH_MOD_STRENGTH
@ MOD_GREASE_PENCIL_SMOOTH_KEEP_SHAPE
@ MOD_GREASE_PENCIL_SMOOTH_MOD_UV
@ MOD_GREASE_PENCIL_SMOOTH_SMOOTH_ENDS
@ MOD_GREASE_PENCIL_SMOOTH_MOD_THICKNESS
@ eMultiresModifierFlag_UseSculptBaseMesh
@ eMultiresModifierFlag_UseCrease
@ eMultiresModifierFlag_UseCustomNormals
@ eMultiresModifierFlag_ControlEdges
@ LINEART_GPENCIL_INTERSECTION_MATCH
@ LINEART_GPENCIL_MATERIAL_MASK_MATCH
@ LINEART_GPENCIL_MATERIAL_MASK_ENABLE
@ eModifierMode_ApplyOnSpline
@ GREASE_PENCIL_INFLUENCE_INVERT_VERTEX_GROUP
@ GREASE_PENCIL_INFLUENCE_USE_MATERIAL_PASS_FILTER
@ GREASE_PENCIL_INFLUENCE_USE_LAYER_PASS_FILTER
@ GREASE_PENCIL_INFLUENCE_INVERT_LAYER_FILTER
@ GREASE_PENCIL_INFLUENCE_USE_CUSTOM_CURVE
@ GREASE_PENCIL_INFLUENCE_INVERT_MATERIAL_PASS_FILTER
@ GREASE_PENCIL_INFLUENCE_INVERT_MATERIAL_FILTER
@ GREASE_PENCIL_INFLUENCE_INVERT_LAYER_PASS_FILTER
@ MOD_TRIANGULATE_QUAD_SHORTEDGE
@ MOD_TRIANGULATE_QUAD_FIXED
@ MOD_TRIANGULATE_QUAD_LONGEDGE
@ MOD_TRIANGULATE_QUAD_BEAUTY
@ MOD_TRIANGULATE_QUAD_ALTERNATE
@ MOD_SOLIDIFY_NORMAL_CALC
@ MOD_SOLIDIFY_OFFSET_ANGLE_CLAMP
@ MOD_SOLIDIFY_NONMANIFOLD_FLAT_FACES
@ MOD_SOLIDIFY_VGROUP_INV
@ MOD_SIMPLEDEFORM_FLAG_INVERT_VGROUP
@ eBooleanModifierSolver_Float
@ eBooleanModifierSolver_Mesh_Arr
@ MOD_SCREW_SMOOTH_SHADING
@ MOD_SCREW_OBJECT_OFFSET
@ MOD_GREASE_PENCIL_WEIGHT_ANGLE_SPACE_WORLD
@ MOD_GREASE_PENCIL_WEIGHT_ANGLE_SPACE_LOCAL
@ LINEART_SILHOUETTE_FILTER_NONE
@ LINEART_SILHOUETTE_FILTER_INDIVIDUAL
@ LINEART_SILHOUETTE_FILTER_GROUP
@ eBooleanModifierBMeshFlag_BMesh_NoDissolve
@ eBooleanModifierBMeshFlag_BMesh_Separate
@ eBooleanModifierBMeshFlag_BMesh_NoConnectRegions
@ MOD_WVG_PROXIMITY_OBJECT
@ MOD_WVG_PROXIMITY_GEOMETRY
@ eParticleInstanceFlag_Parents
@ eParticleInstanceFlag_Alive
@ eParticleInstanceFlag_Dead
@ eParticleInstanceFlag_Children
@ eParticleInstanceFlag_Unborn
@ eParticleInstanceFlag_Path
@ eParticleInstanceFlag_UseSize
@ eParticleInstanceFlag_KeepShape
@ MOD_GREASE_PENCIL_HOOK_UNIFORM_SPACE
@ MOD_GREASE_PENCIL_OFFSET_UNIFORM_RANDOM_SCALE
@ MOD_GREASE_PENCIL_MIRROR_AXIS_Z
@ MOD_GREASE_PENCIL_MIRROR_AXIS_X
@ MOD_GREASE_PENCIL_MIRROR_AXIS_Y
@ SUBSURF_TYPE_CATMULL_CLARK
@ MOD_REMESH_SHARP_FEATURES
@ MOD_WIREFRAME_OFS_RELATIVE
@ MOD_WIREFRAME_INVERT_VGROUP
@ MOD_WVG_EDIT_INVERT_VGROUP_MASK
@ MOD_WVG_EDIT_WEIGHTS_NORMALIZE
@ eBooleanModifierMaterialMode_Index
@ eBooleanModifierMaterialMode_Transfer
@ MOD_GREASE_PENCIL_OPACITY_USE_WEIGHT_AS_FACTOR
@ MOD_GREASE_PENCIL_OPACITY_USE_UNIFORM_OPACITY
@ MOD_GREASE_PENCIL_ARRAY_USE_OFFSET
@ MOD_GREASE_PENCIL_ARRAY_USE_RELATIVE
@ MOD_GREASE_PENCIL_ARRAY_USE_OB_OFFSET
@ MOD_GREASE_PENCIL_ARRAY_UNIFORM_RANDOM_SCALE
#define MOD_SHRINKWRAP_CULL_TARGET_MASK
@ MOD_SHRINKWRAP_ON_SURFACE
@ MOD_SHRINKWRAP_ABOVE_SURFACE
@ MOD_SHRINKWRAP_OUTSIDE_SURFACE
@ MOD_DECIM_FLAG_INVERT_VGROUP
@ MOD_DECIM_FLAG_SYMMETRY
@ MOD_DECIM_FLAG_TRIANGULATE
@ MOD_DECIM_FLAG_ALL_BOUNDARY_VERTS
@ SUBSURF_BOUNDARY_SMOOTH_ALL
@ SUBSURF_BOUNDARY_SMOOTH_PRESERVE_CORNERS
@ MOD_SHRINKWRAP_PROJECT_ALLOW_POS_DIR
@ MOD_SHRINKWRAP_CULL_TARGET_FRONTFACE
@ MOD_SHRINKWRAP_PROJECT_ALLOW_NEG_DIR
@ MOD_SHRINKWRAP_CULL_TARGET_BACKFACE
@ MOD_SHRINKWRAP_INVERT_VGROUP
@ MOD_SHRINKWRAP_INVERT_CULL_TARGET
@ MOD_WVG_MIX_INVERT_VGROUP_MASK
@ MOD_WVG_MIX_INVERT_VGROUP_B
@ MOD_WVG_MIX_WEIGHTS_NORMALIZE
@ MOD_WVG_MIX_INVERT_VGROUP_A
@ MOD_CORRECTIVESMOOTH_ONLY_SMOOTH
@ MOD_CORRECTIVESMOOTH_PIN_BOUNDARY
@ MOD_CORRECTIVESMOOTH_INVERT_VGROUP
@ MOD_GREASE_PENCIL_BUILD_TIMEMODE_PERCENTAGE
@ MOD_GREASE_PENCIL_BUILD_TIMEMODE_DRAWSPEED
@ MOD_GREASE_PENCIL_BUILD_TIMEMODE_FRAMES
@ MOD_GREASE_PENCIL_BUILD_TIMEALIGN_START
@ MOD_GREASE_PENCIL_BUILD_TIMEALIGN_END
@ MOD_GREASE_PENCIL_THICK_WEIGHT_FACTOR
@ MOD_GREASE_PENCIL_THICK_NORMALIZE
@ MOD_GREASE_PENCIL_SIMPLIFY_FIXED
@ MOD_GREASE_PENCIL_SIMPLIFY_MERGE
@ MOD_GREASE_PENCIL_SIMPLIFY_ADAPTIVE
@ MOD_GREASE_PENCIL_SIMPLIFY_SAMPLE
@ NODES_MODIFIER_PANEL_MANAGE
@ NODES_MODIFIER_PANEL_WARNINGS
@ NODES_MODIFIER_PANEL_OUTPUT_ATTRIBUTES
@ NODES_MODIFIER_PANEL_NAMED_ATTRIBUTES
@ NODES_MODIFIER_PANEL_BAKE
@ NODES_MODIFIER_PANEL_BAKE_DATA_BLOCKS
@ MOD_BEVEL_FACE_STRENGTH_NONE
@ MOD_BEVEL_FACE_STRENGTH_AFFECTED
@ MOD_BEVEL_FACE_STRENGTH_NEW
@ MOD_BEVEL_FACE_STRENGTH_ALL
@ MOD_GREASE_PENCIL_TIME_MODE_FIX
@ MOD_GREASE_PENCIL_TIME_MODE_CHAIN
@ MOD_GREASE_PENCIL_TIME_MODE_PINGPONG
@ MOD_GREASE_PENCIL_TIME_MODE_NORMAL
@ MOD_GREASE_PENCIL_TIME_MODE_REVERSE
@ MOD_WVG_PROXIMITY_WEIGHTS_NORMALIZE
@ MOD_WVG_PROXIMITY_INVERT_VGROUP_MASK
@ MOD_WVG_PROXIMITY_GEOM_VERTS
@ MOD_WVG_PROXIMITY_INVERT_FALLOFF
@ MOD_WVG_PROXIMITY_GEOM_EDGES
@ MOD_WVG_PROXIMITY_GEOM_FACES
@ NODES_MODIFIER_BAKE_CUSTOM_PATH
@ NODES_MODIFIER_BAKE_CUSTOM_SIMULATION_FRAME_RANGE
@ MOD_GREASE_PENCIL_SUBDIV_CATMULL
@ MOD_GREASE_PENCIL_SUBDIV_SIMPLE
@ MOD_GREASE_PENCIL_COLOR_FILL
@ MOD_GREASE_PENCIL_COLOR_STROKE
@ MOD_GREASE_PENCIL_COLOR_BOTH
@ MOD_GREASE_PENCIL_COLOR_HARDNESS
@ MOD_GREASE_PENCIL_BUILD_MODE_SEQUENTIAL
@ MOD_GREASE_PENCIL_BUILD_MODE_ADDITIVE
@ MOD_GREASE_PENCIL_BUILD_MODE_CONCURRENT
@ MOD_SOLIDIFY_MODE_NONMANIFOLD
@ MOD_SOLIDIFY_MODE_EXTRUDE
@ MOD_GREASE_PENCIL_TIME_KEEP_LOOP
@ MOD_GREASE_PENCIL_TIME_CUSTOM_RANGE
@ MOD_GREASE_PENCIL_BUILD_RESTRICT_TIME
@ MOD_GREASE_PENCIL_BUILD_USE_FADING
@ MOD_OCEAN_GEOM_GENERATE
@ MOD_OCEAN_GEOM_SIM_ONLY
@ MOD_OCEAN_GEOM_DISPLACE
@ MOD_GREASE_PENCIL_DASH_USE_CYCLIC
@ MOD_MESHCACHE_INVERT_VERTEX_GROUP
@ NODES_MODIFIER_PANEL_OPEN
@ MOD_CAST_USE_OB_TRANSFORM
@ MOD_CAST_SIZE_FROM_RADIUS
@ MOD_GREASE_PENCIL_TINT_UNIFORM
@ MOD_GREASE_PENCIL_TINT_GRADIENT
@ MOD_GREASE_PENCIL_OUTLINE_KEEP_SHAPE
@ MOD_WARP_VOLUME_PRESERVE
@ NODES_MODIFIER_HIDE_DATABLOCK_SELECTOR
@ MOD_BEVEL_AFFECT_VERTICES
@ LINEART_SOURCE_COLLECTION
@ MOD_OCEAN_GENERATE_NORMALS
@ MOD_OCEAN_GENERATE_FOAM
@ MOD_OCEAN_GENERATE_SPRAY
@ MOD_GREASE_PENCIL_TINT_USE_WEIGHT_AS_FACTOR
@ eModifierType_MeshToVolume
@ eModifierType_GreasePencilSmooth
@ eModifierType_ParticleSystem
@ eModifierType_GreasePencilWeightProximity
@ eModifierType_MeshDeform
@ eModifierType_LaplacianSmooth
@ eModifierType_GreasePencilMirror
@ eModifierType_WeightVGProximity
@ eModifierType_GreasePencilOffset
@ eModifierType_SimpleDeform
@ eModifierType_GreasePencilThickness
@ eModifierType_GreasePencilEnvelope
@ eModifierType_NormalEdit
@ eModifierType_GreasePencilArmature
@ eModifierType_GreasePencilSubdiv
@ eModifierType_GreasePencilTint
@ eModifierType_GreasePencilNoise
@ eModifierType_VolumeToMesh
@ eModifierType_Shrinkwrap
@ eModifierType_MeshSequenceCache
@ eModifierType_EdgeSplit
@ eModifierType_GreasePencilMultiply
@ eModifierType_Wireframe
@ eModifierType_WeightVGMix
@ eModifierType_GreasePencilBuild
@ eModifierType_GreasePencilTime
@ eModifierType_VolumeDisplace
@ eModifierType_GreasePencilTexture
@ eModifierType_GreasePencilSimplify
@ eModifierType_LaplacianDeform
@ eModifierType_GreasePencilColor
@ eModifierType_DataTransfer
@ eModifierType_UVProject
@ eModifierType_GreasePencilDash
@ eModifierType_SurfaceDeform
@ eModifierType_GreasePencilLineart
@ eModifierType_CorrectiveSmooth
@ eModifierType_ParticleInstance
@ eModifierType_Collision
@ eModifierType_DynamicPaint
@ eModifierType_MeshCache
@ eModifierType_WeightVGEdit
@ eModifierType_GreasePencilOutline
@ eModifierType_GreasePencilWeightAngle
@ eModifierType_GreasePencilOpacity
@ eModifierType_GreasePencilLength
@ eModifierType_GreasePencilShrinkwrap
@ eModifierType_GreasePencilLattice
@ eModifierType_WeightedNormal
@ eModifierType_GreasePencilHook
@ eModifierType_GreasePencilArray
@ eModifierType_Triangulate
@ MOD_EDGESPLIT_FROMANGLE
@ MOD_DECIM_MODE_UNSUBDIV
@ MOD_DECIM_MODE_COLLAPSE
@ MOD_DECIM_MODE_DISSOLVE
@ MOD_NORMALEDIT_NO_POLYNORS_FIX
@ MOD_NORMALEDIT_INVERT_VGROUP
@ MOD_NORMALEDIT_USE_DIRECTION_PARALLEL
@ MOD_WVG_MASK_TEX_USE_SAT
@ MOD_WVG_MASK_TEX_USE_BLUE
@ MOD_WVG_MASK_TEX_USE_INT
@ MOD_WVG_MASK_TEX_USE_ALPHA
@ MOD_WVG_MASK_TEX_USE_RED
@ MOD_WVG_MASK_TEX_USE_HUE
@ MOD_WVG_MASK_TEX_USE_VAL
@ MOD_WVG_MASK_TEX_USE_GREEN
@ MOD_SKIN_SMOOTH_SHADING
@ MOD_SMOOTH_INVERT_VGROUP
@ MOD_TRIANGULATE_KEEP_CUSTOMLOOP_NORMALS
@ MOD_LAPLACIANSMOOTH_PRESERVE_VOLUME
@ MOD_LAPLACIANSMOOTH_NORMALIZED
@ MOD_LAPLACIANSMOOTH_INVERT_VGROUP
@ MOD_VOLUME_DISPLACE_MAP_GLOBAL
@ MOD_VOLUME_DISPLACE_MAP_LOCAL
@ MOD_VOLUME_DISPLACE_MAP_OBJECT
@ LINEART_GPENCIL_INVERT_COLLECTION
@ LINEART_GPENCIL_OFFSET_TOWARDS_CUSTOM_CAMERA
@ LINEART_GPENCIL_INVERT_SILHOUETTE_FILTER
@ LINEART_GPENCIL_IS_BAKED
@ LINEART_GPENCIL_USE_CACHE
@ MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_FLAT
@ MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_ROUND
@ MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_NONE
@ MOD_CORRECTIVESMOOTH_RESTSOURCE_ORCO
@ MOD_CORRECTIVESMOOTH_RESTSOURCE_BIND
@ MOD_MESHCACHE_DEFORM_INTEGRATE
@ MOD_MESHCACHE_DEFORM_OVERWRITE
@ MOD_BUILD_FLAG_RANDOMIZE
@ MOD_OCEAN_SPECTRUM_TEXEL_MARSEN_ARSLOE
@ MOD_OCEAN_SPECTRUM_JONSWAP
@ MOD_OCEAN_SPECTRUM_PHILLIPS
@ MOD_OCEAN_SPECTRUM_PIERSON_MOSKOWITZ
@ MOD_WEIGHTEDNORMAL_MODE_FACE
@ MOD_WEIGHTEDNORMAL_MODE_FACE_ANGLE
@ MOD_WEIGHTEDNORMAL_MODE_ANGLE
@ MOD_GREASE_PENCIL_HOOK_Falloff_None
@ MOD_GREASE_PENCIL_HOOK_Falloff_Root
@ MOD_GREASE_PENCIL_HOOK_Falloff_InvSquare
@ MOD_GREASE_PENCIL_HOOK_Falloff_Const
@ MOD_GREASE_PENCIL_HOOK_Falloff_Linear
@ MOD_GREASE_PENCIL_HOOK_Falloff_Sphere
@ MOD_GREASE_PENCIL_HOOK_Falloff_Smooth
@ MOD_GREASE_PENCIL_HOOK_Falloff_Curve
@ MOD_GREASE_PENCIL_HOOK_Falloff_Sharp
@ VOLUME_TO_MESH_USE_SMOOTH_SHADE
@ eExplodeFlag_INVERT_VGROUP
@ eSubsurfModifierFlag_UseRecursiveSubdivision
@ eSubsurfModifierFlag_UseCrease
@ eSubsurfModifierFlag_ControlEdges
@ eSubsurfModifierFlag_UseCustomNormals
@ MOD_LAPLACIANDEFORM_BIND
@ MOD_LAPLACIANDEFORM_INVERT_VGROUP
@ MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_EVEN
@ MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_FIXED
@ MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_CONSTRAINTS
@ MOD_GREASE_PENCIL_TEXTURE_STROKE_AND_FILL
@ MOD_GREASE_PENCIL_TEXTURE_FILL
@ MOD_GREASE_PENCIL_TEXTURE_STROKE
@ MOD_UVWARP_INVERT_VGROUP
@ MESH_TO_VOLUME_RESOLUTION_MODE_VOXEL_SIZE
@ MESH_TO_VOLUME_RESOLUTION_MODE_VOXEL_AMOUNT
@ VOLUME_TO_MESH_RESOLUTION_MODE_VOXEL_SIZE
@ VOLUME_TO_MESH_RESOLUTION_MODE_GRID
@ VOLUME_TO_MESH_RESOLUTION_MODE_VOXEL_AMOUNT
@ MOD_SHRINKWRAP_PROJECT_OVER_X_AXIS
@ MOD_SHRINKWRAP_PROJECT_OVER_Y_AXIS
@ MOD_SHRINKWRAP_PROJECT_OVER_Z_AXIS
@ MOD_TRIANGULATE_NGON_BEAUTY
@ MOD_TRIANGULATE_NGON_EARCLIP
@ MOD_GREASE_PENCIL_WEIGHT_PROXIMITY_INVERT_OUTPUT
@ MOD_GREASE_PENCIL_WEIGHT_PROXIMITY_MULTIPLY_DATA
@ MOD_GREASE_PENCIL_ENVELOPE_SEGMENTS
@ MOD_GREASE_PENCIL_ENVELOPE_FILLS
@ MOD_GREASE_PENCIL_ENVELOPE_DEFORM
@ MOD_GREASE_PENCIL_BUILD_TRANSITION_VANISH
@ MOD_GREASE_PENCIL_BUILD_TRANSITION_SHRINK
@ MOD_GREASE_PENCIL_BUILD_TRANSITION_GROW
@ MOD_BEVEL_PROFILE_CUSTOM
@ MOD_BEVEL_PROFILE_SUPERELLIPSE
@ MOD_NORMALEDIT_MODE_RADIAL
@ MOD_NORMALEDIT_MODE_DIRECTIONAL
#define MOD_UVPROJECT_MAXPROJECTORS
@ MOD_GREASE_PENCIL_TEXTURE_FIT_STROKE
@ MOD_GREASE_PENCIL_TEXTURE_CONSTANT_LENGTH
@ eBooleanModifierOp_Intersect
@ eBooleanModifierOp_Union
@ eBooleanModifierOp_Difference
@ MOD_CORRECTIVESMOOTH_SMOOTH_LENGTH_WEIGHT
@ MOD_CORRECTIVESMOOTH_SMOOTH_SIMPLE
@ eParticleInstanceSpace_World
@ eParticleInstanceSpace_Local
@ eBooleanModifierFlag_Collection
@ eBooleanModifierFlag_Self
@ eBooleanModifierFlag_HoleTolerant
@ eBooleanModifierFlag_Object
@ MOD_WEIGHTEDNORMAL_KEEP_SHARP
@ MOD_WEIGHTEDNORMAL_FACE_INFLUENCE
@ MOD_WEIGHTEDNORMAL_INVERT_VGROUP
@ MOD_GREASE_PENCIL_OFFSET_STROKE
@ MOD_GREASE_PENCIL_OFFSET_MATERIAL
@ MOD_GREASE_PENCIL_OFFSET_LAYER
@ MOD_GREASE_PENCIL_OFFSET_RANDOM
@ MOD_MESHCACHE_PLAY_CFEA
@ MOD_MESHCACHE_PLAY_EVAL
@ MOD_NORMALEDIT_MIX_COPY
@ MOD_WELD_MODE_CONNECTED
@ MOD_MESHCACHE_TIME_FRAME
@ MOD_MESHCACHE_TIME_FACTOR
@ MOD_MESHCACHE_TIME_SECONDS
@ MOD_GREASE_PENCIL_TIME_SEG_MODE_NORMAL
@ MOD_GREASE_PENCIL_TIME_SEG_MODE_REVERSE
@ MOD_GREASE_PENCIL_TIME_SEG_MODE_PINGPONG
@ NODES_MODIFIER_BAKE_MODE_STILL
@ NODES_MODIFIER_BAKE_MODE_ANIMATION
@ SUBSURF_UV_SMOOTH_PRESERVE_CORNERS_AND_JUNCTIONS
@ SUBSURF_UV_SMOOTH_PRESERVE_CORNERS
@ SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES
@ SUBSURF_UV_SMOOTH_PRESERVE_CORNERS_JUNCTIONS_AND_CONCAVE
@ MOD_SIMPLEDEFORM_MODE_TAPER
@ MOD_SIMPLEDEFORM_MODE_STRETCH
@ MOD_SIMPLEDEFORM_MODE_BEND
@ MOD_SIMPLEDEFORM_MODE_TWIST
@ MOD_MIR_BISECT_FLIP_AXIS_X
@ MOD_DATATRANSFER_USE_VERT
@ MOD_DATATRANSFER_USE_EDGE
@ MOD_DATATRANSFER_OBSRC_TRANSFORM
@ MOD_DATATRANSFER_MAP_MAXDIST
@ MOD_DATATRANSFER_INVERT_VGROUP
@ MOD_DATATRANSFER_USE_LOOP
@ MOD_DATATRANSFER_USE_POLY
@ GEO_NODE_ASSET_MODIFIER
Object is a sort of wrapper for general info.
@ UI_PANEL_DATA_EXPAND_ROOT
Read Guarded memory(de)allocation.
void MOD_nodes_update_interface(Object *object, NodesModifierData *nmd)
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Gabor Generate Gabor noise Gradient Generate interpolated color and intensity values based on the input vector Magic Generate a psychedelic color texture Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a or normal between and object coordinate space Combine Create a color from its and value channels Color Retrieve a color or the default fallback if none is specified Separate Split a vector into its and Z components Bevel
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Wireframe
#define RNA_PROP_BEGIN(sptr, itemptr, prop)
StructRNA * ID_code_to_RNA_type(short idcode)
#define RNA_MAX_ARRAY_LENGTH
#define RNA_MAX_ARRAY_DIMENSION
@ PROP_STRING_SEARCH_SUGGESTION
#define RNA_TRANSLATION_PREC_DEFAULT
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
#define RNA_ENUM_ITEM_HEADING(name, description)
constexpr PointerRNA PointerRNA_NULL
const Depsgraph * depsgraph
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
void *(* MEM_mallocN)(size_t len, const char *str)
void MEM_freeN(void *vmemh)
ccl_device_inline float3 log(float3 v)
bool allow_procedural_attribute_access(StringRef attribute_name)
bool modifier_move_to_index(ReportList *reports, eReportType error_type, Object *ob, ModifierData *md, int index, bool allow_partial)
const EnumPropertyItem rna_enum_id_type_items[]
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop)
void rna_iterator_array_begin(CollectionPropertyIterator *iter, void *ptr, int itemsize, int length, bool free_ptr, IteratorSkipFunc skip)
int RNA_int_get(PointerRNA *ptr, const char *name)
void RNA_property_update_main(Main *bmain, Scene *scene, PointerRNA *ptr, PropertyRNA *prop)
PointerRNA rna_pointer_inherit_refine(const PointerRNA *ptr, StructRNA *type, void *data)
PointerRNA RNA_pointer_create(ID *id, StructRNA *type, void *data)
int RNA_enum_get(PointerRNA *ptr, const char *name)
const char * RNA_property_identifier(const PropertyRNA *prop)
PointerRNA RNA_id_pointer_create(ID *id)
PropertyRNA * RNA_def_float_factor(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_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)
void RNA_def_struct_refine_func(StructRNA *srna, const char *refine)
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_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
void RNA_def_property_float_default(PropertyRNA *prop, float value)
void RNA_def_property_enum_default(PropertyRNA *prop, int value)
void RNA_def_property_float_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_property_string_search_func(PropertyRNA *prop, const char *search, const eStringPropertySearchFlag search_flag)
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_default(PropertyRNA *prop, bool value)
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set)
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[])
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, const int default_value, const char *ui_name, const char *ui_description)
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_property_array(PropertyRNA *prop, int length)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
void RNA_def_property_string_maxlength(PropertyRNA *prop, int maxlength)
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_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)
PropertyRNA * RNA_def_float_array(StructOrFunctionRNA *cont_, const char *identifier, const int len, 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_enum_item_add(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item)
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)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, const bool default_value, const char *ui_name, const char *ui_description)
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_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_property_subtype(PropertyRNA *prop, PropertySubType subtype)
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_boolean_negative_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
void RNA_def_property_override_flag(PropertyRNA *prop, PropertyOverrideFlag flag)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
const EnumPropertyItem rna_enum_prop_dynamicpaint_type_items[]
int rna_object_vgroup_name_index_length(PointerRNA *ptr, int index)
void rna_object_vgroup_name_index_set(PointerRNA *ptr, const char *value, short *index)
void rna_object_vgroup_name_index_get(PointerRNA *ptr, char *value, int index)
const EnumPropertyItem rna_enum_mesh_delimit_mode_items[]
const EnumPropertyItem rna_enum_axis_xy_items[]
static void rna_def_modifier_nodes(BlenderRNA *brna)
static void rna_def_modifier_fluid(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_hook(BlenderRNA *brna)
static void rna_def_modifier_smooth(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_weight_angle(BlenderRNA *brna)
const EnumPropertyItem rna_enum_subdivision_uv_smooth_items[]
const EnumPropertyItem rna_enum_dt_method_loop_items[]
static void rna_def_modifier_nodes_warning(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_vertex_group(StructRNA *srna, const char *vertex_group_name_set_fn)
static void rna_def_modifier_screw(BlenderRNA *brna)
static void rna_def_modifier_uvproject(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_lattice(BlenderRNA *brna)
static void rna_def_modifier_particleinstance(BlenderRNA *brna)
static void rna_def_modifier_nodes_panels(BlenderRNA *brna)
static void rna_def_modifier_edgesplit(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_dash(BlenderRNA *brna)
static void rna_def_modifier_bevel(BlenderRNA *brna)
const EnumPropertyItem rna_enum_dt_method_edge_items[]
static void rna_def_modifier_cloth(BlenderRNA *brna)
static void rna_def_modifier_shrinkwrap(BlenderRNA *brna)
static void rna_def_modifier_uvwarp(BlenderRNA *brna)
static void rna_def_modifier_meshseqcache(BlenderRNA *brna)
static void rna_def_modifier_simpledeform(BlenderRNA *brna)
static void rna_def_modifier_datatransfer(BlenderRNA *brna)
static void rna_def_modifier_weightvgmix(BlenderRNA *brna)
static void rna_def_modifier_meshdeform(BlenderRNA *brna)
static void rna_def_modifier_laplaciandeform(BlenderRNA *brna)
const EnumPropertyItem rna_enum_dt_method_poly_items[]
static void rna_def_modifier_grease_pencil_dash_segment(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_weight_proximity(BlenderRNA *brna)
static void rna_def_modifier_nodes_bakes(BlenderRNA *brna)
static void rna_def_modifier_explode(BlenderRNA *brna)
const EnumPropertyItem rna_enum_axis_flag_xyz_items[]
static void rna_def_modifier_grease_pencil_multiply(BlenderRNA *brna)
static const EnumPropertyItem modifier_warp_falloff_items[]
static void rna_def_modifier_particlesystem(BlenderRNA *brna)
static void rna_def_modifier_dynamic_paint(BlenderRNA *brna)
static void rna_def_modifier_generic_map_info(StructRNA *srna)
static void rna_def_modifier_grease_pencil_armature(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_layer_filter(StructRNA *srna)
const EnumPropertyItem rna_enum_modifier_triangulate_ngon_method_items[]
static void rna_def_modifier_nodes_panel(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_lineart(BlenderRNA *brna)
static void rna_def_modifier_mirror(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_custom_curve(StructRNA *srna)
static void rna_def_modifier_normaledit(BlenderRNA *brna)
static void rna_def_modifier_displace(BlenderRNA *brna)
const EnumPropertyItem rna_enum_shrinkwrap_face_cull_items[]
static void rna_def_modifier_meshcache(BlenderRNA *brna)
static void rna_def_modifier_skin(BlenderRNA *brna)
const EnumPropertyItem rna_enum_object_modifier_type_items[]
static void rna_def_modifier_weightvgedit(BlenderRNA *brna)
const EnumPropertyItem rna_enum_dt_mix_mode_items[]
static void rna_def_modifier_weld(BlenderRNA *brna)
static void rna_def_modifier_cast(BlenderRNA *brna)
static void rna_def_modifier_surface(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_simplify(BlenderRNA *brna)
static void rna_def_modifier_nodes_data_block(BlenderRNA *brna)
static void rna_def_modifier_panel_open_prop(StructRNA *srna, const char *identifier, const int id)
static void rna_def_modifier_curve(BlenderRNA *brna)
static void rna_def_modifier_wireframe(BlenderRNA *brna)
static void rna_def_modifier_softbody(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_shrinkwrap(BlenderRNA *brna)
const EnumPropertyItem rna_enum_dt_layers_select_src_items[]
static void rna_def_modifier_nodes_bake_data_blocks(BlenderRNA *brna)
static void rna_def_modifier_subsurf(BlenderRNA *brna)
static void rna_def_modifier_volume_displace(BlenderRNA *brna)
const EnumPropertyItem rna_enum_shrinkwrap_type_items[]
const EnumPropertyItem rna_enum_node_warning_type_items[]
static void rna_def_modifier_wave(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_time_segment(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_opacity(BlenderRNA *brna)
static EnumPropertyItem bake_target_in_node_items[]
static void rna_def_modifier_surfacedeform(BlenderRNA *brna)
const EnumPropertyItem rna_enum_axis_xyz_items[]
static void rna_def_modifier_lattice(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_thickness(BlenderRNA *brna)
static void rna_def_property_subdivision_common(StructRNA *srna)
static void rna_def_modifier_grease_pencil_material_filter(StructRNA *srna, const char *material_set_fn)
const EnumPropertyItem rna_enum_dt_method_vertex_items[]
const EnumPropertyItem rna_enum_modifier_triangulate_quad_method_items[]
void RNA_def_modifier(BlenderRNA *brna)
static void rna_def_modifier_multires(BlenderRNA *brna)
static void rna_def_modifier_triangulate(BlenderRNA *brna)
static void rna_def_modifier_mask(BlenderRNA *brna)
static void rna_def_modifier_warp(BlenderRNA *brna)
static void rna_def_modifier_weightvgproximity(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_mirror(BlenderRNA *brna)
static const EnumPropertyItem grease_pencil_build_time_mode_items[]
static void rna_def_modifier_grease_pencil_subdiv(BlenderRNA *brna)
static void rna_def_modifier_laplaciansmooth(BlenderRNA *brna)
static void rna_def_modifier_hook(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_envelope(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_array(BlenderRNA *brna)
static void rna_def_modifier_solidify(BlenderRNA *brna)
static void rna_def_modifier_nodes_bake(BlenderRNA *brna)
static void rna_def_modifier_ocean(BlenderRNA *brna)
static void rna_def_modifier_array(BlenderRNA *brna)
static void rna_def_modifier_collision(BlenderRNA *brna)
static void rna_def_modifier_armature(BlenderRNA *brna)
static void rna_def_modifier_weightednormal(BlenderRNA *brna)
static void rna_def_modifier_decimate(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_texture(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_color(BlenderRNA *brna)
static EnumPropertyItem bake_target_in_modifier_items[]
static void rna_def_modifier_grease_pencil_outline(BlenderRNA *brna)
static void rna_def_modifier_mesh_to_volume(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_offset(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_tint(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_length(BlenderRNA *brna)
const EnumPropertyItem rna_enum_dt_layers_select_dst_items[]
static void rna_def_modifier_grease_pencil_time(BlenderRNA *brna)
static void rna_def_modifier_boolean(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_smooth(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_build(BlenderRNA *brna)
const EnumPropertyItem rna_enum_subdivision_boundary_smooth_items[]
static void rna_def_modifier_remesh(BlenderRNA *brna)
static void rna_def_modifier_build(BlenderRNA *brna)
static void rna_def_modifier_grease_pencil_noise(BlenderRNA *brna)
static void rna_def_modifier_weightvg_mask(BlenderRNA *, StructRNA *srna, const char *mask_flags, const int invert_vgroup_mask_flag, const char *mask_vgroup_setter, const char *mask_uvlayer_setter)
const EnumPropertyItem rna_enum_modifier_shrinkwrap_mode_items[]
static void rna_def_modifier_correctivesmooth(BlenderRNA *brna)
static void rna_def_modifier_volume_to_mesh(BlenderRNA *brna)
const EnumPropertyItem rna_enum_object_axis_items[]
static const EnumPropertyItem space_items[]
static const EnumPropertyItem prop_solver_items[]
static const EnumPropertyItem prop_direction_items[]
union CollectionPropertyIterator::@1329 internal
GreasePencilDashModifierSegment * segments_array
struct Material * target_material
struct Material * outline_material
GreasePencilTimeModifierSegment * segments_array
struct ModifierData * next
struct ModifierData * prev
uint16_t layout_panel_open_flag
struct bNodeTree * node_group
NodesModifierRuntimeHandle * runtime
struct NodesModifierSettings settings
NodesModifierBake * bakes
struct IDProperty * properties
IDOverrideLibraryPropertyOperation * liboverride_operation
struct PointCache * pointcache
struct SoftBody_Shared * shared
struct GeometryNodeAssetTraits * geometry_node_asset_traits
void WM_main_add_notifier(uint type, void *reference)