43 "GREASE_PENCIL_VERTEX_WEIGHT_PROXIMITY",
44 ICON_MOD_VERTEX_WEIGHT,
45 "Vertex Weight Proximity",
46 "Generate vertex weights based on distance to object"},
51 ICON_MOD_DATA_TRANSFER,
53 "Transfer several types of data (vertex groups, UV maps, vertex colors, custom normals) from "
54 "one mesh to another"},
59 "Deform the mesh using an external frame-by-frame vertex transform cache"},
61 "MESH_SEQUENCE_CACHE",
63 "Mesh Sequence Cache",
64 "Deform the mesh or curve using an external mesh cache in Alembic format"},
69 "Modify the direction of the surface normals"},
74 "Modify the direction of the surface normals using a weighting method"},
79 "Project the UV map coordinates from the negative Z axis of another object"},
84 "Transform the UV map using the difference between two objects"},
87 ICON_MOD_VERTEX_WEIGHT,
89 "Modify of the weights of a vertex group"},
92 ICON_MOD_VERTEX_WEIGHT,
94 "Mix the weights of two vertex groups"},
96 "VERTEX_WEIGHT_PROXIMITY",
97 ICON_MOD_VERTEX_WEIGHT,
98 "Vertex Weight Proximity",
99 "Set the vertex group weights based on the distance to another target object"},
101 "GREASE_PENCIL_COLOR",
102 ICON_MOD_HUE_SATURATION,
104 "Change hue/saturation/value of the strokes"},
106 "GREASE_PENCIL_TINT",
109 "Tint the color of the strokes"},
111 "GREASE_PENCIL_OPACITY",
114 "Change the opacity of the strokes"},
116 "GREASE_PENCIL_VERTEX_WEIGHT_ANGLE",
117 ICON_MOD_VERTEX_WEIGHT,
118 "Vertex Weight Angle",
119 "Generate vertex weights based on stroke angle"},
121 "GREASE_PENCIL_TIME",
126 "GREASE_PENCIL_TEXTURE",
129 "Change stroke UV texture values"},
136 "Create copies of the shape with offsets"},
141 "Generate sloped corners by adding geometry to the mesh's edges or vertices"},
146 "Use another shape to cut, combine or perform a difference operation"},
151 "Cause the faces of the mesh object to appear or disappear one after the other over time"},
156 "Reduce the geometry density"},
161 "Split away joined faces at the edges"},
167 "Dynamically hide vertices based on a vertex group or armature"},
172 "Mirror along the local X, Y and/or Z axes, over the object origin"},
182 "Subdivide the mesh in a way that allows editing the higher subdivision levels"},
187 "Generate new mesh topology based on the current shape"},
192 "Lathe around an axis, treating the input mesh as a profile"},
197 "Create a solid shape from vertices and edges, using the vertex radius to define the "
203 "Subdivision Surface",
204 "Split the faces into smaller parts, giving it a smoother appearance"},
207 ICON_MOD_TRIANGULATE,
209 "Convert all polygons to triangles"},
219 "Find groups of vertices closer than dist and merge them together"},
224 "Convert faces into thickened edges"},
226 "GREASE_PENCIL_ARRAY",
229 "Duplicate strokes into an array"},
231 "GREASE_PENCIL_BUILD",
234 "Grease Pencil build modifier"},
236 "GREASE_PENCIL_LENGTH",
239 "Grease Pencil length modifier"},
244 "Generate Line Art from scene geometries"},
246 "GREASE_PENCIL_MIRROR",
249 "Duplicate strokes like a mirror"},
251 "GREASE_PENCIL_MULTIPLY",
252 ICON_GP_MULTIFRAME_EDITING,
254 "Generate multiple strokes around original strokes"},
256 "GREASE_PENCIL_SIMPLIFY",
259 "Simplify stroke reducing number of points"},
261 "GREASE_PENCIL_SUBDIV",
264 "Grease Pencil subdivide modifier"},
266 "GREASE_PENCIL_ENVELOPE",
269 "Create an envelope shape"},
271 "GREASE_PENCIL_OUTLINE",
274 "Convert stroke to outline"},
281 "Deform the shape using an armature object"},
286 "Shift the shape towards a predefined primitive"},
287 {
eModifierType_Curve,
"CURVE", ICON_MOD_CURVE,
"Curve",
"Bend the mesh using a curve object"},
292 "Offset vertices based on a texture"},
293 {
eModifierType_Hook,
"HOOK", ICON_HOOK,
"Hook",
"Deform specific points using another object"},
298 "Deform based a series of anchor points"},
303 "Deform using the shape of a lattice object"},
308 "Deform using a different mesh, which acts as a deformation cage"},
313 "Project the shape onto another object"},
316 ICON_MOD_SIMPLEDEFORM,
318 "Deform the shape by twisting, bending, tapering or stretching"},
323 "Smooth the mesh by flattening the angles between adjacent faces"},
328 "Smooth the mesh while still preserving the volume"},
333 "Reduce the noise on a mesh surface with minimal changes to its shape"},
338 "Transfer motion from another mesh"},
343 "Warp parts of a mesh to a new location in a very flexible way thanks to 2 specified "
349 "Adds a ripple-like motion to an object's geometry"},
354 "Deform volume based on noise or other vector fields"},
356 "GREASE_PENCIL_HOOK",
359 "Deform stroke points using objects"},
361 "GREASE_PENCIL_NOISE",
364 "Generate noise wobble in Grease Pencil strokes"},
366 "GREASE_PENCIL_OFFSET",
369 "Change stroke location, rotation, or scale"},
371 "GREASE_PENCIL_SMOOTH",
374 "Smooth Grease Pencil strokes"},
376 "GREASE_PENCIL_THICKNESS",
379 "Change stroke thickness"},
381 "GREASE_PENCIL_LATTICE",
384 "Deform strokes using a lattice object"},
386 "GREASE_PENCIL_DASH",
389 "Generate dot-dash styled strokes"},
391 "GREASE_PENCIL_ARMATURE",
394 "Deform stroke points using armature object"},
396 "GREASE_PENCIL_SHRINKWRAP",
399 "Project the shape onto another object"},
407 "For colliders participating in physics simulation, control which level in the modifier "
408 "stack is used as the collision surface"},
411 ICON_MOD_DYNAMICPAINT,
413 "Turn objects into paint canvases and brushes, creating color attributes, image sequences, "
419 "Break apart the mesh faces and let them follow particles"},
424 "Physics simulation for fluids, like water, oil and smoke"},
425 {
eModifierType_Ocean,
"OCEAN", ICON_MOD_OCEAN,
"Ocean",
"Generate a moving ocean surface"},
428 ICON_MOD_PARTICLE_INSTANCE,
430 "Duplicate mesh at the location of particles"},
435 "Spawn particles from the shape"},
440 "Simulate soft deformable objects"},
442 {0,
nullptr, 0,
nullptr,
nullptr},
450 "Split the quads in nice triangles, slower method"},
455 "Split the quads on the first and third vertices"},
460 "Split the quads on the 2nd and 4th vertices"},
465 "Split the quads along their shortest diagonal"},
470 "Split the quads along their longest diagonal"},
471 {0,
nullptr, 0,
nullptr,
nullptr},
479 "Arrange the new triangles evenly (slow)"},
484 "Split the polygons with an ear clipping algorithm"},
485 {0,
nullptr, 0,
nullptr,
nullptr},
493 "The point is constrained to the surface of the target object, "
494 "with distance offset towards the original point location"},
499 "The point is constrained to be inside the target object"},
504 "The point is constrained to be outside the target object"},
509 "The point is constrained to the surface of the target object, "
510 "with distance offset always to the outside, towards or away from the original location"},
515 "The point is constrained to the surface of the target object, "
516 "with distance offset applied exactly along the target normal"},
517 {0,
nullptr, 0,
nullptr,
nullptr},
522 "NEAREST_SURFACEPOINT",
524 "Nearest Surface Point",
525 "Shrink the mesh to the nearest target surface"},
530 "Shrink the mesh to the nearest target surface along a given axis"},
535 "Shrink the mesh to the nearest target vertex"},
539 "Target Normal Project",
540 "Shrink the mesh to the nearest target surface "
541 "along the interpolated vertex normals of the target"},
542 {0,
nullptr, 0,
nullptr,
nullptr},
546 {0,
"OFF", 0,
"Off",
"No culling"},
551 "No projection when in front of the face"},
553 {0,
nullptr, 0,
nullptr,
nullptr},
560 {0,
nullptr, 0,
nullptr,
nullptr},
575 {0,
nullptr, 0,
nullptr,
nullptr},
587 "Nearest Edge Vertex",
588 "Copy from closest vertex of closest edge"},
590 "EDGEINTERP_NEAREST",
592 "Nearest Edge Interpolated",
593 "Copy from interpolated values of vertices from closest point on closest edge"},
597 "Nearest Face Vertex",
598 "Copy from closest vertex of closest face"},
600 "POLYINTERP_NEAREST",
602 "Nearest Face Interpolated",
603 "Copy from interpolated values of vertices from closest point on closest face"},
605 "POLYINTERP_VNORPROJ",
607 "Projected Face Interpolated",
608 "Copy from interpolated values of vertices from point on closest face hit by "
609 "normal-projection"},
610 {0,
nullptr, 0,
nullptr,
nullptr},
619 "Copy from most similar edge (edge which vertices are the closest of destination edge's "
625 "Copy from closest edge (using midpoints)"},
630 "Copy from closest edge of closest face (using midpoints)"},
632 "EDGEINTERP_VNORPROJ",
634 "Projected Edge Interpolated",
635 "Interpolate all source edges hit by the projection of destination one along its own normal "
637 {0,
nullptr, 0,
nullptr,
nullptr},
645 "Nearest Corner and Best Matching Normal",
646 "Copy from nearest corner which has the best matching normal"},
650 "Nearest Corner and Best Matching Face Normal",
651 "Copy from nearest corner which has the face with the best matching normal to destination "
652 "corner's face one"},
656 "Nearest Corner of Nearest Face",
657 "Copy from nearest corner of nearest face"},
659 "POLYINTERP_NEAREST",
661 "Nearest Face Interpolated",
662 "Copy from interpolated corners of the nearest source face"},
664 "POLYINTERP_LNORPROJ",
666 "Projected Face Interpolated",
667 "Copy from interpolated corners of the source face hit by corner normal projection"},
668 {0,
nullptr, 0,
nullptr,
nullptr},
677 "Copy from nearest face (using center points)"},
681 "Best Normal-Matching",
682 "Copy from source face which normal is the closest to destination one"},
684 "POLYINTERP_PNORPROJ",
686 "Projected Face Interpolated",
687 "Interpolate all source polygons intersected by the projection of destination one along its "
689 {0,
nullptr, 0,
nullptr,
nullptr},
693 {
CDT_MIX_TRANSFER,
"REPLACE", 0,
"Replace",
"Overwrite all elements' data"},
698 "Only replace destination elements where data is above given threshold (exact behavior "
699 "depends on data type)"},
704 "Only replace destination elements where data is below given threshold (exact behavior "
705 "depends on data type)"},
710 "Mix source value into destination one, using given threshold as factor"},
715 "Add source value to destination one, using given threshold as factor"},
720 "Subtract source value to destination one, using given threshold as factor"},
725 "Multiply source value to destination one, using given threshold as factor"},
727 {0,
nullptr, 0,
nullptr,
nullptr},
736 "Selected Pose Bones",
737 "Transfer all vertex groups used by selected pose bones"},
742 "Transfer all vertex groups used by deform bones"},
743 {0,
nullptr, 0,
nullptr,
nullptr},
748 {
DT_LAYERS_NAME_DST,
"NAME", 0,
"By Name",
"Match target data layers to affect by name"},
753 "Match target data layers to affect by order (indices)"},
754 {0,
nullptr, 0,
nullptr,
nullptr},
758 {0,
"X", 0,
"X",
""},
759 {1,
"Y", 0,
"Y",
""},
760 {0,
nullptr, 0,
nullptr,
nullptr},
764 {0,
"X", 0,
"X",
""},
765 {1,
"Y", 0,
"Y",
""},
766 {2,
"Z", 0,
"Z",
""},
767 {0,
nullptr, 0,
nullptr,
nullptr},
771 {(1 << 0),
"X", 0,
"X",
""},
772 {(1 << 1),
"Y", 0,
"Y",
""},
773 {(1 << 2),
"Z", 0,
"Z",
""},
774 {0,
nullptr, 0,
nullptr,
nullptr},
783 "UVs are smoothed, corners on discontinuous boundary are kept sharp"},
785 "PRESERVE_CORNERS_AND_JUNCTIONS",
787 "Keep Corners, Junctions",
788 "UVs are smoothed, corners on discontinuous boundary and "
789 "junctions of 3 or more regions are kept sharp"},
791 "PRESERVE_CORNERS_JUNCTIONS_AND_CONCAVE",
793 "Keep Corners, Junctions, Concave",
794 "UVs are smoothed, corners on discontinuous boundary, "
795 "junctions of 3 or more regions and darts and concave corners are kept sharp"},
797 "PRESERVE_BOUNDARIES",
800 "UVs are smoothed, boundaries are kept sharp"},
802 {0,
nullptr, 0,
nullptr,
nullptr},
810 "Smooth boundaries, but corners are kept sharp"},
812 {0,
nullptr, 0,
nullptr,
nullptr},
819 "Natural Drawing Speed",
820 "Use recorded speed multiplied by a factor"},
825 "Set a fixed number of frames for all build animations"},
830 "Set a manual percentage to build"},
831 {0,
nullptr, 0,
nullptr,
nullptr},
837# include <fmt/format.h>
879 iter,
ptr, (
void *)uvp->projectors,
sizeof(
Object *), uvp->projectors_num, 0,
nullptr);
886 if (modifier_type !=
nullptr) {
887 return modifier_type->
srna;
889 return &RNA_Modifier;
892static void rna_Modifier_name_set(
PointerRNA *
ptr,
const char *value)
895 char oldname[
sizeof(md->
name)];
918static std::optional<std::string> rna_Modifier_path(
const PointerRNA *
ptr)
921 char name_esc[
sizeof(md->
name) * 2];
924 return fmt::format(
"modifiers[\"{}\"]", name_esc);
935 rna_Modifier_update(bmain, scene,
ptr);
941 rna_Modifier_update(bmain, scene,
ptr);
945static void rna_Modifier_is_active_set(
PointerRNA *
ptr,
bool value)
963static void rna_Modifier_use_pin_to_last_set(
PointerRNA *
ptr,
bool value)
974 md_iter = md_iter->
next;
981 md_iter = md_iter->
prev;
989# define RNA_MOD_VGROUP_NAME_SET(_type, _prop) \
990 static void rna_##_type##Modifier_##_prop##_set(PointerRNA *ptr, const char *value) \
992 _type##ModifierData *tmd = (_type##ModifierData *)ptr->data; \
993 rna_object_vgroup_name_set(ptr, value, tmd->_prop, sizeof(tmd->_prop)); \
996RNA_MOD_VGROUP_NAME_SET(Armature, defgrp_name);
997RNA_MOD_VGROUP_NAME_SET(Bevel, defgrp_name);
998RNA_MOD_VGROUP_NAME_SET(Cast, defgrp_name);
999RNA_MOD_VGROUP_NAME_SET(
Curve, name);
1000RNA_MOD_VGROUP_NAME_SET(DataTransfer, defgrp_name);
1001RNA_MOD_VGROUP_NAME_SET(Decimate, defgrp_name);
1002RNA_MOD_VGROUP_NAME_SET(CorrectiveSmooth, defgrp_name);
1003RNA_MOD_VGROUP_NAME_SET(Displace, defgrp_name);
1004RNA_MOD_VGROUP_NAME_SET(Hook, name);
1005RNA_MOD_VGROUP_NAME_SET(LaplacianDeform, anchor_grp_name);
1006RNA_MOD_VGROUP_NAME_SET(LaplacianSmooth, defgrp_name);
1007RNA_MOD_VGROUP_NAME_SET(
Lattice, name);
1008RNA_MOD_VGROUP_NAME_SET(
Mask, vgroup);
1009RNA_MOD_VGROUP_NAME_SET(MeshCache, defgrp_name);
1010RNA_MOD_VGROUP_NAME_SET(MeshDeform, defgrp_name);
1011RNA_MOD_VGROUP_NAME_SET(NormalEdit, defgrp_name);
1012RNA_MOD_VGROUP_NAME_SET(Shrinkwrap, vgroup_name);
1013RNA_MOD_VGROUP_NAME_SET(SimpleDeform, vgroup_name);
1014RNA_MOD_VGROUP_NAME_SET(Smooth, defgrp_name);
1015RNA_MOD_VGROUP_NAME_SET(Solidify, defgrp_name);
1016RNA_MOD_VGROUP_NAME_SET(Solidify, shell_defgrp_name);
1017RNA_MOD_VGROUP_NAME_SET(Solidify, rim_defgrp_name);
1018RNA_MOD_VGROUP_NAME_SET(SurfaceDeform, defgrp_name);
1019RNA_MOD_VGROUP_NAME_SET(UVWarp, vgroup_name);
1020RNA_MOD_VGROUP_NAME_SET(Warp, defgrp_name);
1021RNA_MOD_VGROUP_NAME_SET(Wave, defgrp_name);
1022RNA_MOD_VGROUP_NAME_SET(WeightVGEdit, defgrp_name);
1023RNA_MOD_VGROUP_NAME_SET(WeightVGEdit, mask_defgrp_name);
1024RNA_MOD_VGROUP_NAME_SET(WeightVGMix, defgrp_name_a);
1025RNA_MOD_VGROUP_NAME_SET(WeightVGMix, defgrp_name_b);
1026RNA_MOD_VGROUP_NAME_SET(WeightVGMix, mask_defgrp_name);
1027RNA_MOD_VGROUP_NAME_SET(WeightVGProximity, defgrp_name);
1028RNA_MOD_VGROUP_NAME_SET(WeightVGProximity, mask_defgrp_name);
1029RNA_MOD_VGROUP_NAME_SET(WeightedNormal, defgrp_name);
1030RNA_MOD_VGROUP_NAME_SET(Weld, defgrp_name);
1031RNA_MOD_VGROUP_NAME_SET(Wireframe, defgrp_name);
1032RNA_MOD_VGROUP_NAME_SET(GreasePencilWeightAngle, target_vgname);
1033RNA_MOD_VGROUP_NAME_SET(GreasePencilWeightProximity, target_vgname);
1034RNA_MOD_VGROUP_NAME_SET(GreasePencilLineart, vgname);
1035RNA_MOD_VGROUP_NAME_SET(GreasePencilBuild, target_vgname);
1037static void rna_ExplodeModifier_vgroup_get(
PointerRNA *
ptr,
char *value)
1043static int rna_ExplodeModifier_vgroup_length(
PointerRNA *
ptr)
1049static void rna_ExplodeModifier_vgroup_set(
PointerRNA *
ptr,
const char *value)
1055# undef RNA_MOD_VGROUP_NAME_SET
1059# define RNA_MOD_UVLAYER_NAME_SET(_type, _prop) \
1060 static void rna_##_type##Modifier_##_prop##_set(PointerRNA *ptr, const char *value) \
1062 _type##ModifierData *tmd = (_type##ModifierData *)ptr->data; \
1063 rna_object_uvlayer_name_set(ptr, value, tmd->_prop, sizeof(tmd->_prop)); \
1066RNA_MOD_UVLAYER_NAME_SET(MappingInfo, uvlayer_name);
1067RNA_MOD_UVLAYER_NAME_SET(UVProject, uvlayer_name);
1068RNA_MOD_UVLAYER_NAME_SET(UVWarp, uvlayer_name);
1069RNA_MOD_UVLAYER_NAME_SET(WeightVGEdit, mask_tex_uvlayer_name);
1070RNA_MOD_UVLAYER_NAME_SET(WeightVGMix, mask_tex_uvlayer_name);
1071RNA_MOD_UVLAYER_NAME_SET(WeightVGProximity, mask_tex_uvlayer_name);
1073# undef RNA_MOD_UVLAYER_NAME_SET
1089# define RNA_MOD_OBJECT_SET(_type, _prop, _obtype) \
1090 static void rna_##_type##Modifier_##_prop##_set( \
1091 PointerRNA *ptr, PointerRNA value, ReportList * ) \
1093 _type##ModifierData *tmd = (_type##ModifierData *)ptr->data; \
1094 modifier_object_set((Object *)ptr->owner_id, &tmd->_prop, _obtype, value); \
1101RNA_MOD_OBJECT_SET(Boolean,
object,
OB_MESH);
1102RNA_MOD_OBJECT_SET(Cast,
object,
OB_EMPTY);
1104RNA_MOD_OBJECT_SET(DataTransfer, ob_source,
OB_MESH);
1107RNA_MOD_OBJECT_SET(MeshDeform,
object,
OB_MESH);
1108RNA_MOD_OBJECT_SET(NormalEdit, target,
OB_EMPTY);
1109RNA_MOD_OBJECT_SET(Shrinkwrap, target,
OB_MESH);
1110RNA_MOD_OBJECT_SET(Shrinkwrap, auxTarget,
OB_MESH);
1111RNA_MOD_OBJECT_SET(SurfaceDeform, target,
OB_MESH);
1112RNA_MOD_OBJECT_SET(GreasePencilMirror,
object,
OB_EMPTY);
1113RNA_MOD_OBJECT_SET(GreasePencilTint,
object,
OB_EMPTY);
1114RNA_MOD_OBJECT_SET(GreasePencilLattice,
object,
OB_LATTICE);
1115RNA_MOD_OBJECT_SET(GreasePencilWeightProximity,
object,
OB_EMPTY);
1116RNA_MOD_OBJECT_SET(GreasePencilHook,
object,
OB_EMPTY);
1117RNA_MOD_OBJECT_SET(GreasePencilArmature,
object,
OB_ARMATURE);
1118RNA_MOD_OBJECT_SET(GreasePencilOutline,
object,
OB_EMPTY);
1119RNA_MOD_OBJECT_SET(GreasePencilShrinkwrap, target,
OB_MESH);
1120RNA_MOD_OBJECT_SET(GreasePencilShrinkwrap, aux_target,
OB_MESH);
1121RNA_MOD_OBJECT_SET(GreasePencilBuild,
object,
OB_EMPTY);
1136static bool rna_HookModifier_object_override_apply(
Main *bmain,
1144 const int len_dst = rnaapply_ctx.
len_src;
1145 const int len_src = rnaapply_ctx.
len_src;
1149 BLI_assert(len_dst == len_src && (!ptr_storage || len_dst == len_storage) && len_dst == 0);
1151 "Unsupported RNA override operation on Hook modifier target object pointer");
1163 if (target_src == target_dst) {
1167 hmd->object = target_src;
1168 if (target_src ==
nullptr) {
1176static void rna_HookModifier_subtarget_set(
PointerRNA *
ptr,
const char *value)
1185static int rna_HookModifier_vertex_indices_get_length(
const PointerRNA *
ptr,
1190 return (
length[0] = indexar_num);
1193static void rna_HookModifier_vertex_indices_get(
PointerRNA *
ptr,
int *values)
1196 if (hmd->
indexar !=
nullptr) {
1206 if (indices_num <= 0) {
1212 for (
int i = 0;
i < indices_num;
i++) {
1220 size_t size =
sizeof(int) * indices_num;
1227 for (
int i = 1;
i < indices_num;
i++) {
1228 if (buffer[
i] == buffer[
i - 1]) {
1256# undef RNA_MOD_OBJECT_SET
1275 switch (fmd->type) {
1287 rna_Modifier_dependency_update(bmain, scene,
ptr);
1290static void rna_MultiresModifier_level_range(
1299static bool rna_MultiresModifier_external_get(
PointerRNA *
ptr)
1307static void rna_MultiresModifier_filepath_get(
PointerRNA *
ptr,
char *value)
1315static void rna_MultiresModifier_filepath_set(
PointerRNA *
ptr,
const char *value)
1326static int rna_MultiresModifier_filepath_length(
PointerRNA *
ptr)
1334static int rna_ShrinkwrapModifier_face_cull_get(
PointerRNA *
ptr)
1340static void rna_ShrinkwrapModifier_face_cull_set(
PointerRNA *
ptr,
int value)
1346static bool rna_MeshDeformModifier_is_bound_get(
PointerRNA *
ptr)
1378 rna_Modifier_update(bmain, scene,
ptr);
1381static void rna_BevelModifier_weight_attribute_visit_for_search(
1399 visit_fn(visit_params);
1405static void rna_UVProjectModifier_num_projectors_set(
PointerRNA *
ptr,
int value)
1412 md->projectors[a] =
nullptr;
1421 rna_Modifier_update(bmain, scene,
ptr);
1424static void rna_OceanModifier_ocean_chop_set(
PointerRNA *
ptr,
float value)
1427 float old_value = omd->chop_amount;
1429 omd->chop_amount = value;
1431 if ((old_value == 0.0f && value > 0.0f) || (old_value > 0.0f && value == 0.0f)) {
1436static bool rna_LaplacianDeformModifier_is_bind_get(
PointerRNA *
ptr)
1453 rna_Modifier_update(bmain, scene,
ptr);
1455 if (cmd->object !=
nullptr) {
1456 Curve *curve =
static_cast<Curve *
>(cmd->object->data);
1466 rna_Modifier_update(bmain, scene,
ptr);
1468 if (amd->curve_ob !=
nullptr) {
1469 Curve *curve =
static_cast<Curve *
>(amd->curve_ob->data);
1493 rna_Modifier_dependency_update(bmain, scene,
ptr);
1514 rna_Modifier_dependency_update(bmain, scene,
ptr);
1517static void rna_DataTransferModifier_verts_data_types_set(
PointerRNA *
ptr,
int value)
1522 dtmd->data_types |= value;
1525static void rna_DataTransferModifier_edges_data_types_set(
PointerRNA *
ptr,
int value)
1530 dtmd->data_types |= value;
1533static void rna_DataTransferModifier_loops_data_types_set(
PointerRNA *
ptr,
int value)
1538 dtmd->data_types |= value;
1541static void rna_DataTransferModifier_polys_data_types_set(
PointerRNA *
ptr,
int value)
1546 dtmd->data_types |= value;
1568 Object *ob_src = dtmd->ob_source;
1588 tmp_item.identifier = tmp_item.name = dg->
name;
1597 Object *ob_src = dtmd->ob_source;
1620 for (
i = 0;
i < num_data;
i++) {
1631 Object *ob_src = dtmd->ob_source;
1635 "layers_vcol_vert_select_src") ?
1664 for (
int i = 0;
i < 2;
i++) {
1669 for (
int j = 0; j < num_data; j++) {
1670 tmp_item.value = idx++;
1718 tmp_item.identifier = tmp_item.name = dg->
name;
1732 if (ob_dst && ob_dst->
data) {
1737 me_dst =
static_cast<Mesh *
>(ob_dst->
data);
1743 for (
i = 0;
i < num_data;
i++) {
1760 if (dtmd->layers_select_src[multilayer_index] >= 0) {
1763 if (ob_dst && ob_dst->
data) {
1772 for (
int i = 0;
i < 2;
i++) {
1777 for (
int j = 0; j < num_data; j++) {
1778 tmp_item.value = idx++;
1802 bool support_advanced_mixing, support_threshold;
1811 dtmd->data_types, &support_advanced_mixing, &support_threshold);
1813 if (support_threshold) {
1820 if (support_advanced_mixing) {
1840 rna_Modifier_update(bmain, scene,
ptr);
1843static void rna_CorrectiveSmoothModifier_rest_source_update(
Main *bmain,
1851 csmd->bind_coords_num = 0;
1854 rna_CorrectiveSmoothModifier_update(bmain, scene,
ptr);
1857static bool rna_CorrectiveSmoothModifier_is_bind_get(
PointerRNA *
ptr)
1860 return (csmd->bind_coords !=
nullptr);
1863static bool rna_SurfaceDeformModifier_is_bound_get(
PointerRNA *
ptr)
1868static bool rna_ParticleInstanceModifier_particle_system_poll(
PointerRNA *
ptr,
1896static void rna_ParticleInstanceModifier_particle_system_set(
PointerRNA *
ptr,
1914static void rna_Modifier_show_expanded_set(
PointerRNA *
ptr,
bool value)
1950 rna_Modifier_dependency_update(bmain, scene,
ptr);
1960 return &nmd.
runtime->eval_log->get_tree_log(compute_context.
hash());
1966 if (
auto *
log = get_nodes_modifier_log(nmd)) {
1967 log->ensure_node_warnings(nmd);
1968 return log->all_warnings;
1978 iter->
valid = !get_node_modifier_warnings(*nmd).is_empty();
1996static int rna_NodesModifier_node_warnings_length(
PointerRNA *
ptr)
1999 return get_node_modifier_warnings(*nmd).size();
2002static void rna_NodesModifierWarning_message_get(
PointerRNA *
ptr,
char *r_value)
2005 strcpy(r_value, warning->message.c_str());
2008static int rna_NodesModifierWarning_message_length(
PointerRNA *
ptr)
2011 return warning->
message.size();
2014static int rna_NodesModifierWarning_type_get(
PointerRNA *
ptr)
2017 return int(warning->type);
2027static void rna_Lineart_start_level_set(
PointerRNA *
ptr,
int value)
2031 value = std::clamp(value, 0, 128);
2032 lmd->level_start = value;
2033 lmd->level_end = std::max(value,
int(lmd->level_end));
2036static void rna_Lineart_end_level_set(
PointerRNA *
ptr,
int value)
2040 value = std::clamp(value, 0, 128);
2041 lmd->level_end = value;
2042 lmd->level_start = std::min(value,
int(lmd->level_start));
2045static void rna_Lineart_thickness_set(
PointerRNA *
ptr,
int value)
2084 const_cast<ID *
>(&
tree->id), &RNA_Node,
const_cast<bNode *
>(node));
2102static void rna_GreasePencilModifier_material_set(
PointerRNA *
ptr,
2123 "Cannot assign material '%s', it has to be used by the Grease Pencil object already",
2128# define RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(_type) \
2129 static void rna_##_type##Modifier_material_filter_set( \
2130 PointerRNA *ptr, PointerRNA value, ReportList *reports) \
2132 _type##ModifierData *tmd = static_cast<_type##ModifierData *>(ptr->data); \
2133 rna_GreasePencilModifier_material_set(ptr, value, reports, &tmd->influence.material); \
2136# define RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(_type) \
2137 static void rna_##_type##Modifier_vertex_group_name_set(PointerRNA *ptr, const char *value) \
2139 _type##ModifierData *tmd = static_cast<_type##ModifierData *>(ptr->data); \
2140 rna_object_vgroup_name_set(ptr, \
2142 tmd->influence.vertex_group_name, \
2143 sizeof(tmd->influence.vertex_group_name)); \
2146RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilColor);
2147RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilMirror);
2148RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilOffset);
2149RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilOpacity);
2150RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilSubdiv);
2151RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilTint);
2152RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilSmooth);
2153RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilNoise);
2154RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilThick);
2155RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilLattice);
2156RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilDash);
2157RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilMulti);
2158RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilLength);
2159RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilWeightAngle);
2160RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilArray);
2161RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilWeightProximity);
2162RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilHook);
2163RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilSimplify);
2164RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilEnvelope);
2165RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilOutline);
2166RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilShrinkwrap);
2167RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilBuild);
2168RNA_MOD_GREASE_PENCIL_MATERIAL_FILTER_SET(GreasePencilTexture);
2170RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilOffset);
2171RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilOpacity);
2172RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilTint);
2173RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilSmooth);
2174RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilNoise);
2175RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilThick);
2176RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilLattice);
2177RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilWeightAngle);
2178RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilWeightProximity);
2179RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilHook);
2180RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilArmature);
2181RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilSimplify);
2182RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilEnvelope);
2183RNA_MOD_GREASE_PENCIL_VERTEX_GROUP_SET(GreasePencilShrinkwrap);
2185static void rna_GreasePencilLineartModifier_material_set(
PointerRNA *
ptr,
2193 rna_GreasePencilModifier_material_set(
ptr, value,
reports, ma_target);
2196static void rna_GreasePencilOpacityModifier_opacity_factor_range(
2207static void rna_GreasePencilOpacityModifier_opacity_factor_max_set(
PointerRNA *
ptr,
float value)
2212 std::min(value, 1.0f) :
2222 if (dmd->segments().contains_ptr(&dash_segment)) {
2230static std::optional<std::string> rna_GreasePencilDashModifierSegment_path(
const PointerRNA *
ptr)
2236 *ob, *dash_segment);
2242 char ds_name_esc[
sizeof(dash_segment->
name) * 2];
2245 return fmt::format(
"modifiers[\"{}\"].segments[\"{}\"]", name_esc, ds_name_esc);
2248static void rna_GreasePencilDashModifierSegment_name_set(
PointerRNA *
ptr,
const char *value)
2253 *ob, *dash_segment);
2256 const std::string oldname = dash_segment->
name;
2261 if (&ds != dash_segment && ds.name == name) {
2268 dash_segment->
name);
2273 char rna_path_prefix[36 +
sizeof(name_esc) + 1];
2274 SNPRINTF(rna_path_prefix,
"modifiers[\"%s\"].segments", name_esc);
2326 if (tmd->segments().contains_ptr(&time_segment)) {
2334static std::optional<std::string> rna_GreasePencilTimeModifierSegment_path(
const PointerRNA *
ptr)
2346 char ds_name_esc[
sizeof(
segment->name) * 2];
2349 return fmt::format(
"modifiers[\"{}\"].segments[\"{}\"]", name_esc, ds_name_esc);
2352static void rna_GreasePencilTimeModifierSegment_name_set(
PointerRNA *
ptr,
const char *value)
2360 const std::string oldname =
segment->name;
2365 if (&ds != segment && ds.name == name) {
2377 char rna_path_prefix[36 +
sizeof(name_esc) + 1];
2378 SNPRINTF(rna_path_prefix,
"modifiers[\"%s\"].segments", name_esc);
2395static void rna_GreasePencilTimeModifier_start_frame_set(
PointerRNA *
ptr,
int value)
2406static void rna_GreasePencilTimeModifier_end_frame_set(
PointerRNA *
ptr,
int value)
2417static void rna_GreasePencilOutlineModifier_outline_material_set(
PointerRNA *
ptr,
2425static int rna_GreasePencilShrinkwrapModifier_face_cull_get(
PointerRNA *
ptr)
2432static void rna_GreasePencilShrinkwrapModifier_face_cull_set(
PointerRNA *
ptr,
int value)
2439static void rna_VertexWeightProximityModifier_proximity_geometry_set(
PointerRNA *
ptr,
int value)
2461 prop,
nullptr,
"modifier.layout_panel_open_flag", (
int64_t(1) <<
id));
2481 prop,
"Quality",
"Accuracy of vertex positions, lower value is faster but less precise");
2500 "Create a smooth curved surface using the Catmull-Clark subdivision scheme"},
2502 {0,
nullptr, 0,
nullptr,
nullptr},
2536 prop,
"Render Levels",
"Number of subdivisions to perform when rendering");
2546 prop,
"Use Creases",
"Use mesh crease information to sharpen edges or corners");
2552 prop,
"Use Custom Normals",
"Interpolates existing custom normals to resulting mesh");
2559 "Use Limit Surface",
2560 "Place vertices at the surface that would be produced with infinite "
2561 "levels of subdivision (smoothest possible shape)");
2577 "Use the local coordinate system for the texture coordinates"},
2582 "Use the global coordinate system for the texture coordinates"},
2587 "Use the linked object's local coordinate system for the texture coordinates"},
2588 {
MOD_DISP_MAP_UV,
"UV", 0,
"UV",
"Use UV coordinates for the texture coordinates"},
2589 {0,
nullptr, 0,
nullptr,
nullptr},
2611 prop,
nullptr,
nullptr,
"rna_MappingInfoModifier_uvlayer_name_set");
2617 prop,
"Texture Coordinate Object",
"Object to set the texture coordinates");
2741 prop,
"Total Levels",
"Number of subdivisions for which displacements are stored");
2747 prop,
"External",
"Store multires displacements outside the .blend file, to save memory");
2751 "rna_MultiresModifier_filepath_get",
2752 "rna_MultiresModifier_filepath_length",
2753 "rna_MultiresModifier_filepath_set");
2761 prop,
"Optimal Display",
"Skip drawing/rendering of interior subdivided edges");
2767 prop,
"Use Creases",
"Use mesh crease information to sharpen edges or corners");
2773 prop,
"Use Custom Normals",
"Interpolates existing custom normals to resulting mesh");
2780 "Make Sculpt Mode tools deform the base mesh while previewing the "
2781 "displacement of higher subdivision levels");
2802 prop,
nullptr,
"rna_LatticeModifier_object_set",
nullptr,
"rna_Lattice_object_poll");
2811 "Name of Vertex Group which determines influence of modifier per point");
2841 {0,
nullptr, 0,
nullptr,
nullptr},
2854 prop,
nullptr,
"rna_CurveModifier_object_set",
nullptr,
"rna_Curve_object_poll");
2863 "Name of Vertex Group which determines influence of modifier per point");
2953 prop,
"Clip",
"Prevent vertices from going through the mirror during transform");
2969 prop,
"Mirror U",
"Mirror the U texture coordinate around the flip offset point");
2975 prop,
"Mirror V",
"Mirror the V texture coordinate around the flip offset point");
2981 prop,
"Mirror UDIM",
"Mirror the texture coordinate around each tile center");
2991 "Amount to offset mirrored UVs flipping point from the 0.5 on the U axis");
3001 "Amount to offset mirrored UVs flipping point from the 0.5 point on the V axis");
3023 prop,
"Merge Distance",
"Distance within which mirrored vertices are merged");
3031 prop,
"Bisect Distance",
"Distance from the bisect plane within which vertices are removed");
3052 "Dissolve geometry to form planar polygons"},
3053 {0,
nullptr, 0,
nullptr,
nullptr},
3089 prop,
"Iterations",
"Number of times reduce the geometry (unsubdivide only)");
3115 prop,
"Triangulate",
"Keep triangulated faces resulting from decimation (collapse only)");
3141 prop,
"All Boundaries",
"Dissolve all vertices in between face boundaries (planar only)");
3156 prop,
"Face Count",
"The current number of faces in the decimated mesh");
3214 "Either the starting frame (for positive speed) or ending frame (for negative speed)");
3221 prop,
"Lifetime",
"Lifetime of the wave in frames, zero means infinite");
3228 prop,
"Damping Time",
"Number of frames in which the wave damps out after it dies");
3273 prop,
"Speed",
"Speed of the wave, towards the starting point when negative");
3295 "Distance between the top and the base of a wave, the higher the value, "
3296 "the more narrow the wave");
3319 prop,
nullptr,
"rna_ArmatureModifier_object_set",
nullptr,
"rna_Armature_object_poll");
3338 prop,
"Preserve Volume",
"Deform rotation interpolation with quaternions");
3346 "Use same input as previous modifier, and mix results using overall vgroup");
3354 "Name of Vertex Group which determines influence of modifier per point");
3375 srna,
"Hook Modifier",
"Hook modifier to modify the location of vertices");
3399 prop,
"Radius",
"If not zero, the distance from the hook where influence ends");
3410 prop,
"Hook Center",
"Center of the hook, used for falloff and display");
3417 prop,
"Matrix",
"Reverse the transformation between this object and its target");
3422 prop,
"Object",
"Parent Object for hook, also recalculates and clears offset");
3425 prop,
nullptr,
nullptr,
"rna_HookModifier_object_override_apply");
3434 "Name of Parent Bone for hook (if applicable), also recalculates and clears offset");
3448 "Name of Vertex Group which determines influence of modifier per point");
3460 "Indices of vertices bound to the modifier. For Bézier curves, "
3461 "handles count as additional vertices.");
3463 func =
RNA_def_function(srna,
"vertex_indices_set",
"rna_HookModifier_vertex_indices_set");
3465 func,
"Validates and assigns the array of vertex indices bound to the modifier");
3468 func,
"indices", 1,
nullptr, INT_MIN, INT_MAX,
"",
"Vertex Indices", 0, INT_MAX);
3494 prop,
"rna_SoftBodyModifier_settings_get",
nullptr,
nullptr,
nullptr);
3501 prop,
"rna_SoftBodyModifier_point_cache_get",
nullptr,
nullptr,
nullptr);
3515 "Use a mesh object as the operand for the Boolean operation"},
3520 "Use a collection of mesh objects as the operand for the Boolean operation"},
3521 {0,
nullptr, 0,
nullptr,
nullptr},
3529 "Keep the part of the mesh that is common between all operands"},
3535 "Combine meshes in a subtractive way"},
3536 {0,
nullptr, 0,
nullptr,
nullptr},
3544 "Simple solver with good performance, without support for overlapping geometry"},
3549 "Slower solver with the best results for coplanar faces"},
3554 "Fastest solver that works only on manifold meshes but gives better results"},
3555 {0,
nullptr, 0,
nullptr,
nullptr},
3563 "Set the material on new faces based on the order of the material slot lists. If a "
3564 "material doesn't exist on the modifier object, the face will use the same material slot "
3565 "or the first if the object doesn't have enough slots."},
3570 "Transfer materials from non-empty slots to the result mesh, adding new materials as "
3571 "necessary. For empty slots, fall back to using the same material index as the operand "
3573 {0,
nullptr, 0,
nullptr,
nullptr},
3586 prop,
nullptr,
"rna_BooleanModifier_object_set",
nullptr,
"rna_Mesh_object_poll");
3595 prop,
"Collection",
"Use mesh objects in this collection for Boolean operation");
3616 prop,
"Overlap Threshold",
"Threshold for checking overlapping geometry");
3648 "NO_CONNECT_REGIONS",
3650 "No Connect Regions",
3652 {0,
nullptr, 0,
nullptr,
nullptr},
3675 "Duplicate the object a certain number of times"},
3680 "Duplicate the object as many times as fits in a certain length"},
3681 {
MOD_ARR_FITCURVE,
"FIT_CURVE", 0,
"Fit Curve",
"Fit the duplicated objects to a curve"},
3682 {0,
nullptr, 0,
nullptr,
nullptr},
3715 prop,
nullptr,
"rna_ArrayModifier_curve_ob_set",
nullptr,
"rna_Curve_object_poll");
3728 prop,
"Constant Offset Displacement",
"Value for the distance between arrayed items");
3735 prop,
"Relative Offset",
"Add an offset relative to the object's bounding box");
3743 "Relative Offset Displacement",
3744 "The size of the geometry will determine the distance between arrayed items");
3756 prop,
"Merge End Vertices",
"Merge vertices in first and last duplicates");
3770 prop,
"Object Offset",
"Add another object's transformation to the total offset");
3778 "Use the location and rotation of another object to determine the distance and "
3779 "rotational change between arrayed items");
3787 prop,
nullptr,
"rna_ArrayModifier_start_cap_set",
nullptr,
"rna_Mesh_object_poll");
3794 prop,
nullptr,
"rna_ArrayModifier_end_cap_set",
nullptr,
"rna_Mesh_object_poll");
3822 srna,
"EdgeSplit Modifier",
"Edge splitting modifier to create sharp edges");
3857 "Use the texture's intensity value to displace in the X direction"},
3862 "Use the texture's intensity value to displace in the Y direction"},
3867 "Use the texture's intensity value to displace in the Z direction"},
3872 "Use the texture's intensity value to displace along the vertex normal"},
3877 "Use the texture's intensity value to displace along the (averaged) custom normal (falls "
3883 "Use the texture's RGB values to displace the mesh in the XYZ direction"},
3884 {0,
nullptr, 0,
nullptr,
nullptr},
3890 {0,
nullptr, 0,
nullptr,
nullptr},
3905 "Name of Vertex Group which determines influence of modifier per point");
3950 srna,
"UV Project Modifier",
"UV projection modifier to set UVs from a projector");
3972 "rna_UVProject_projectors_begin",
3973 "rna_iterator_array_next",
3974 "rna_iterator_array_end",
3975 "rna_iterator_array_get",
3988 prop,
"Aspect X",
"Horizontal aspect ratio (only used for camera projectors)");
3997 prop,
"Aspect Y",
"Vertical aspect ratio (only used for camera projectors)");
4022 prop,
"rna_UVProjector_object_get",
"rna_UVProjector_object_set",
nullptr,
nullptr);
4075 "Name of Vertex Group which determines influence of modifier per point");
4097 "Use the average of adjacent edge-vertices"},
4102 "Use the average of adjacent edge-vertices weighted by their length"},
4103 {0,
nullptr, 0,
nullptr,
nullptr},
4111 "Use base mesh vertex coordinates as the rest position"},
4116 "Use bind vertex coordinates for rest position"},
4117 {0,
nullptr, 0,
nullptr,
nullptr},
4120 srna =
RNA_def_struct(brna,
"CorrectiveSmoothModifier",
"Modifier");
4122 srna,
"Corrective Smooth Modifier",
"Correct distortion caused by deformation");
4170 "Name of Vertex Group which determines influence of modifier per point");
4172 prop,
nullptr,
nullptr,
"rna_CorrectiveSmoothModifier_defgrp_name_set");
4184 prop,
"Only Smooth",
"Apply smoothing without reconstructing the surface");
4190 prop,
"Pin Boundaries",
"Excludes boundary vertices from being smoothed");
4201 srna =
RNA_def_struct(brna,
"LaplacianSmoothModifier",
"Modifier");
4258 "Name of Vertex Group which determines influence of modifier per point");
4260 prop,
nullptr,
nullptr,
"rna_LaplacianSmoothModifier_defgrp_name_set");
4280 {0,
nullptr, 0,
nullptr,
nullptr},
4300 "Control object: if available, its location determines the center of the effect");
4328 prop,
"Size from Radius",
"Use radius as size of projection shape (0 = auto)");
4334 prop,
"Use Transform",
"Use object transform to control projection shape");
4350 "Only deform vertices within this distance from the center of the effect "
4351 "(leave as 0 for infinite.)");
4375 {0,
"VOLUME", 0,
"Volume",
"Bind to volume inside cage mesh"},
4376 {1,
"SURFACE", 0,
"Surface",
"Bind to surface of cage mesh"},
4377 {0,
nullptr, 0,
nullptr,
nullptr},
4383 srna,
"MeshDeform Modifier",
"Mesh deformation modifier to deform with other meshes");
4392 prop,
nullptr,
"rna_MeshDeformModifier_object_set",
nullptr,
"rna_Mesh_object_poll");
4422 "Recompute binding dynamically on top of other deformers "
4423 "(slower and more memory consuming)");
4441 srna =
RNA_def_struct(brna,
"ParticleSystemModifier",
"Modifier");
4466 "Use offset from the particle object in the instance object"},
4471 "Use world space offset in the instance object"},
4472 {0,
nullptr, 0,
nullptr,
nullptr},
4475 srna =
RNA_def_struct(brna,
"ParticleInstanceModifier",
"Modifier");
4498 "rna_ParticleInstanceModifier_particle_system_get",
4499 "rna_ParticleInstanceModifier_particle_system_set",
4501 "rna_ParticleInstanceModifier_particle_system_poll");
4592 "Relative offset of particles to use for instancing, to avoid overlap "
4593 "of multiple instances");
4604 prop,
"Value Layer Name",
"Custom data layer name for the randomized value");
4617 srna,
"Explode Modifier",
"Explosion effect modifier based on a particle system");
4625 "rna_ExplodeModifier_vgroup_get",
4626 "rna_ExplodeModifier_vgroup_length",
4627 "rna_ExplodeModifier_vgroup_set");
4729 {0,
"NONE", 0,
"None",
""},
4736 "Deflect fluids and influence the fluid flow"},
4737 {0,
nullptr, 0,
nullptr,
nullptr},
4806 "Collision Modifier",
4807 "Collision modifier defining modifier stack position used for collision");
4817 prop,
"rna_CollisionModifier_settings_get",
nullptr,
nullptr,
nullptr);
4829 {0,
"NONE", 0,
"None",
"Bevel the entire mesh by a constant amount"},
4834 "Only bevel edges with sharp enough angles between faces"},
4839 "Use bevel weights to determine how much bevel is applied in edge mode"},
4844 "Use vertex group weights to select whether vertex or edge is beveled"},
4845 {0,
nullptr, 0,
nullptr,
nullptr},
4855 "Amount is perpendicular distance from original edge to bevel face"},
4860 "Amount is percent of adjacent edge length"},
4865 "Amount is absolute distance along adjacent edge"},
4866 {0,
nullptr, 0,
nullptr,
nullptr},
4874 "The profile can be a concave or convex curve"},
4879 "The profile can be any arbitrary path between its endpoints"},
4880 {0,
nullptr, 0,
nullptr,
nullptr},
4890 "Set face strength on new and affected faces only"},
4892 {0,
nullptr, 0,
nullptr,
nullptr},
4899 {0,
nullptr, 0,
nullptr,
nullptr},
4905 {0,
nullptr, 0,
nullptr,
nullptr},
4914 "A cut-off at the end of each profile before the intersection"},
4915 {0,
nullptr, 0,
nullptr,
nullptr},
4921 {0,
nullptr, 0,
nullptr,
nullptr},
4926 srna,
"Bevel Modifier",
"Bevel modifier to make edges and vertices more rounded");
5012 prop,
"Profile Type",
"The type of shape used to rebuild a beveled section");
5025 prop,
"Material Index",
"Material index of generated faces, -1 for automatic");
5052 prop,
"Face Strength",
"Whether to set face strength, and which faces to set it on");
5084 prop,
"Vertex Mesh Method",
"The method to use to create the mesh at intersections");
5097 "Shrinkwrap Modifier",
5098 "Shrink wrapping modifier to shrink wrap and object to a target");
5114 prop,
"Snap Mode",
"Select how vertices are constrained to the target surface");
5121 "rna_ShrinkwrapModifier_face_cull_get",
5122 "rna_ShrinkwrapModifier_face_cull_set",
5127 "Stop vertices from projecting to a face on the target when facing towards/away");
5133 prop,
nullptr,
"rna_ShrinkwrapModifier_target_set",
nullptr,
"rna_Mesh_object_poll");
5141 prop,
nullptr,
"rna_ShrinkwrapModifier_auxTarget_set",
nullptr,
"rna_Mesh_object_poll");
5163 prop,
"Project Limit",
"Limit the distance used for projection (zero disables)");
5187 "Subdivision Levels",
5188 "Number of subdivisions that must be performed before extracting vertices' "
5189 "positions and normals");
5195 prop,
"Negative",
"Allow vertices to move in the negative direction of axis");
5201 prop,
"Positive",
"Allow vertices to move in the positive direction of axis");
5207 prop,
"Invert Cull",
"When projecting in the negative direction invert the face cull mode");
5226 {0,
nullptr, 0,
nullptr,
nullptr},
5245 prop,
nullptr,
"rna_MaskModifier_ob_arm_set",
nullptr,
"rna_Armature_object_poll");
5263 prop,
"Smooth",
"Use vertex group weights to cut faces at the weight contour");
5286 "Rotate around the Z axis of the modifier space"},
5291 "Bend the mesh over the Z axis of the modifier space"},
5296 "Linearly scale along Z axis of the modifier space"},
5301 "Stretch the object along the Z axis of the modifier space"},
5302 {0,
nullptr, 0,
nullptr,
nullptr},
5308 "SimpleDeform Modifier",
5309 "Simple deformation modifier to apply effects such as twisting and bending");
5326 prop,
nullptr,
nullptr,
"rna_SimpleDeformModifier_vgroup_name_set");
5391 "Surface modifier defining modifier stack position used for surface fields");
5403 "Output a solidified version of a mesh by simple extrusion"},
5408 "Output a manifold mesh even if the base mesh is non-manifold, "
5409 "where edges have 3 or more connecting faces. "
5410 "This method is slower."},
5411 {0,
nullptr, 0,
nullptr,
nullptr},
5419 "Most basic thickness calculation"},
5424 "Even thickness calculation which takes the angle between faces into account"},
5429 "Thickness calculation using constraints, most advanced"},
5430 {0,
nullptr, 0,
nullptr,
nullptr},
5439 "Round open perimeter shape"},
5444 "Flat open perimeter shape"},
5445 {0,
nullptr, 0,
nullptr,
nullptr},
5453 srna,
"Solidify Modifier",
"Create a solid skin, compensating for sharp angles");
5489 prop,
"Vertex Group Factor",
"Thickness factor to use for zero vertex group influence");
5530 prop,
"Rim Material Offset",
"Offset material index of generated rim faces");
5542 "Shell Vertex Group",
5543 "Vertex group that the generated shell geometry will be weighted to");
5545 prop,
nullptr,
nullptr,
"rna_SolidifyModifier_shell_defgrp_name_set");
5552 "Vertex group that the generated rim geometry will be weighted to");
5554 prop,
nullptr,
nullptr,
"rna_SolidifyModifier_rim_defgrp_name_set");
5561 "Create edge loops between the inner and outer surfaces on face edges "
5562 "(slow, disable when not needed)");
5570 "Maintain thickness by adjusting for sharp corners (slow, disable when not needed)");
5577 "High Quality Normals",
5578 "Calculate normals which result in more even thickness (slow, disable when not needed)");
5590 "Make faces use the minimal vertex weight assigned to their vertices "
5591 "(ensures new faces remain parallel to their original ones, slow, "
5592 "disable when not needed)");
5623 prop,
"Merge Threshold",
"Distance within which degenerated geometry is merged");
5704 prop,
"Calculate Order",
"Calculate the order of edges (needed for meshes, but not curves)");
5710 prop,
"Object Screw",
"Use the distance between the objects to make a screw");
5717 prop,
"Merge Vertices",
"Merge adjacent vertices (screw offset must be zero)");
5723 prop,
"Smooth Shading",
"Output faces with smooth shading rather than flat shaded");
5729 prop,
"Stretch U",
"Stretch the U coordinates between 0 and 1 when UVs are present");
5735 prop,
"Stretch V",
"Stretch the V coordinates between 0 and 1 when UVs are present");
5742 prop,
"Object Angle",
"Use the angle between the objects rather than the fixed angle");
5837 const char *mask_flags,
5838 const int invert_vgroup_mask_flag,
5839 const char *mask_vgroup_setter,
5840 const char *mask_uvlayer_setter)
5849 "Use local generated coordinates of another object"},
5851 {0,
nullptr, 0,
nullptr,
nullptr},
5863 {0,
nullptr, 0,
nullptr,
nullptr},
5874 prop,
"Influence",
"Global influence of current modifications on vgroup");
5901 "Texture Coordinates",
5902 "Which texture coordinates "
5903 "to use for mapping");
5915 "Texture Coordinate Object",
5916 "Which object to take texture "
5917 "coordinates from");
5924 prop,
"Texture Coordinate Bone",
"Which bone to take texture coordinates from");
5944 "Map all values below 0.5 to 0.0, and all others to 1.0"},
5945 {0,
nullptr, 0,
nullptr,
nullptr},
5951 srna =
RNA_def_struct(brna,
"VertexWeightEditModifier",
"Modifier");
5953 srna,
"WeightVG Edit Modifier",
"Edit the weights of vertices in a group");
5963 prop,
nullptr,
nullptr,
"rna_WeightVGEditModifier_defgrp_name_set");
5982 "Normalize Weights",
5983 "Normalize the resulting weights (otherwise they are only clamped within 0.0 to 1.0 range)");
5995 "Add vertices with weight over threshold "
6003 "Remove vertices with weight below threshold "
6012 "Default weight a vertex will have if "
6013 "it is not in the vgroup");
6022 "Lower (inclusive) bound for a vertex's weight "
6023 "to be added to the vgroup");
6032 "Upper (inclusive) bound for a vertex's weight "
6033 "to be removed from the vgroup");
6043 "rna_WeightVGEditModifier_mask_defgrp_name_set",
6044 "rna_WeightVGEditModifier_mask_tex_uvlayer_name_set");
6050 {
MOD_WVG_MIX_SET,
"SET", 0,
"Replace",
"Replace VGroup A's weights by VGroup B's ones"},
6051 {
MOD_WVG_MIX_ADD,
"ADD", 0,
"Add",
"Add VGroup B's weights to VGroup A's ones"},
6052 {
MOD_WVG_MIX_SUB,
"SUB", 0,
"Subtract",
"Subtract VGroup B's weights from VGroup A's ones"},
6053 {
MOD_WVG_MIX_MUL,
"MUL", 0,
"Multiply",
"Multiply VGroup A's weights by VGroup B's ones"},
6054 {
MOD_WVG_MIX_DIV,
"DIV", 0,
"Divide",
"Divide VGroup A's weights by VGroup B's ones"},
6059 "Difference between VGroup A's and VGroup B's weights"},
6060 {
MOD_WVG_MIX_AVG,
"AVG", 0,
"Average",
"Average value of VGroup A's and VGroup B's weights"},
6061 {
MOD_WVG_MIX_MIN,
"MIN", 0,
"Minimum",
"Minimum of VGroup A's and VGroup B's weights"},
6062 {
MOD_WVG_MIX_MAX,
"MAX", 0,
"Maximum",
"Maximum of VGroup A's and VGroup B's weights"},
6063 {0,
nullptr, 0,
nullptr,
nullptr},
6067 {
MOD_WVG_SET_ALL,
"ALL", 0,
"All",
"Affect all vertices (might add some to VGroup A)"},
6068 {
MOD_WVG_SET_A,
"A", 0,
"VGroup A",
"Affect vertices in VGroup A"},
6073 "Affect vertices in VGroup B (might add some to VGroup A)"},
6078 "Affect vertices in at least one of both VGroups (might add some to VGroup A)"},
6079 {
MOD_WVG_SET_AND,
"AND", 0,
"VGroup A and B",
"Affect vertices in both groups"},
6080 {0,
nullptr, 0,
nullptr,
nullptr},
6086 srna =
RNA_def_struct(brna,
"VertexWeightMixModifier",
"Modifier");
6097 prop,
nullptr,
nullptr,
"rna_WeightVGMixModifier_defgrp_name_a_set");
6104 prop,
nullptr,
nullptr,
"rna_WeightVGMixModifier_defgrp_name_b_set");
6122 "Default weight a vertex will have if "
6123 "it is not in the first A vgroup");
6131 "Default weight a vertex will have if "
6132 "it is not in the second B vgroup");
6139 "How weights from vgroup B affect weights "
6152 "Normalize Weights",
6153 "Normalize the resulting weights (otherwise they are only clamped within 0.0 to 1.0 range)");
6163 "rna_WeightVGMixModifier_mask_defgrp_name_set",
6164 "rna_WeightVGMixModifier_mask_tex_uvlayer_name_set");
6174 "Use distance between affected and target objects"},
6179 "Use distance between affected object's vertices and target "
6180 "object, or target object's geometry"},
6181 {0,
nullptr, 0,
nullptr,
nullptr},
6188 {0,
nullptr, 0,
nullptr,
nullptr},
6203 "Map all values below 0.5 to 0.0, and all others to 1.0"},
6204 {0,
nullptr, 0,
nullptr,
nullptr},
6210 srna =
RNA_def_struct(brna,
"VertexWeightProximityModifier",
"Modifier");
6212 "WeightVG Proximity Modifier",
6213 "Set the weights of vertices in a group from a target object's "
6224 prop,
nullptr,
nullptr,
"rna_WeightVGProximityModifier_defgrp_name_set");
6239 prop,
nullptr,
"rna_VertexWeightProximityModifier_proximity_geometry_set",
nullptr);
6241 "Proximity Geometry",
6242 "Use the shortest computed distance to target object's geometry "
6282 "Normalize Weights",
6283 "Normalize the resulting weights (otherwise they are only clamped within 0.0 to 1.0 range)");
6298 "rna_WeightVGProximityModifier_mask_defgrp_name_set",
6299 "rna_WeightVGProximityModifier_mask_tex_uvlayer_name_set");
6305 {
MOD_REMESH_CENTROID,
"BLOCKS", 0,
"Blocks",
"Output a blocky surface with no smoothing"},
6310 "Output a smooth surface with no sharp-features detection"},
6315 "Output a surface that reproduces sharp edges and corners from the input mesh"},
6320 "Output a mesh corresponding to the volume of the original mesh"},
6321 {0,
nullptr, 0,
nullptr,
nullptr},
6331 "Generate a new surface with regular topology that follows the shape of the input mesh");
6347 prop,
"Scale",
"The ratio of the largest dimension of the model over the size of the grid");
6356 "If removing disconnected pieces, minimum size of components to preserve as a ratio "
6357 "of the number of polygons in the largest component");
6365 prop,
"Octree Depth",
"Resolution of the octree; higher values give finer details");
6374 "Tolerance for outliers; lower values filter noise while higher values will reproduce "
6375 "edges closer to the input");
6387 "Size of the voxel in object space used for volume evaluation. Lower "
6388 "values preserve finer details.");
6397 "Reduces the final face count by simplifying geometry where detail is not needed, "
6398 "generating triangles. A value greater than 0 disables Fix Poles.");
6409 prop,
"Smooth Shading",
"Output faces with smooth shading rather than flat shaded");
6425 "Generate ocean surface geometry at the specified resolution"},
6430 "Displace existing geometry according to simulation"},
6436 "Leaves geometry unchanged, but still runs simulation (to be used from texture)"},
6438 {0,
nullptr, 0,
nullptr,
nullptr},
6446 "Use for turbulent seas with foam"},
6448 "PIERSON_MOSKOWITZ",
6450 "Established Ocean",
6451 "Use for a large area, established ocean (Pierson-Moskowitz method)"},
6455 "Established Ocean (Sharp Peaks)",
6456 "Use for established oceans ('JONSWAP', Pierson-Moskowitz method) with peak sharpening"},
6458 "TEXEL_MARSEN_ARSLOE",
6461 "Use for shallow water ('JONSWAP', 'TMA' - Texel-Marsen-Arsloe method)"},
6462 {0,
nullptr, 0,
nullptr,
nullptr},
6481 prop,
"Size",
"Surface scale factor (does not affect the height of the waves)");
6507 "Output normals for bump mapping - disabling can speed up performance if it's not needed");
6520 prop,
"Generate Spray Map",
"Generate map of spray direction as a vertex color channel");
6533 prop,
"Spray Map",
"Name of the vertex color layer used for the spray direction map");
6542 prop,
"Render Resolution",
"Resolution of the generated surface for rendering and baking");
6551 prop,
"Viewport Resolution",
"Viewport resolution of the generated surface");
6561 "Size of the simulation domain (in meters), and of the generated geometry (in BU)");
6574 prop,
"Damping",
"Damp reflected waves going in opposite direction to the wind");
6595 prop,
"Wave Direction",
"Main direction of the waves when they are (partially) aligned");
6619 prop,
"Foam Fade",
"How much foam accumulates over time (baked ocean only)");
6626 prop,
"Foam Layer Name",
"Name of the vertex color layer used for foam");
6634 "Choppiness of the wave's crest (adds some horizontal component to the displacement)");
6659 "This is the distance from a lee shore, "
6660 "called the fetch, or the distance over which the wind blows with constant velocity. "
6661 "Used by 'JONSWAP' and 'TMA' models.");
6693 prop,
"Ocean is Cached",
"Whether the ocean is using cached data or simulating");
6726 prop,
"Smooth Shading",
"Output faces with smooth shading rather than flat shaded");
6777 "Triangulate only polygons with vertex count greater than or equal to this number");
6785 "Try to preserve custom normals.\n"
6786 "Warning: Depending on chosen triangulation method, "
6787 "shading may not be fully preserved, \"Fixed\" method usually gives the best result here");
6798 {0,
nullptr, 0,
nullptr,
nullptr},
6806 "Replace vertex coordinates with cached values"},
6811 "Integrate deformation from this modifier's input with the mesh-cache coordinates "
6812 "(useful for shape keys)"},
6813 {0,
nullptr, 0,
nullptr,
nullptr},
6821 {0,
nullptr, 0,
nullptr,
nullptr},
6830 "Control playback using a frame-number "
6831 "(ignoring time FPS and start frame from the file)"},
6839 "Control playback using a value between 0 and 1"},
6840 {0,
nullptr, 0,
nullptr,
nullptr},
6846 {0,
nullptr, 0,
nullptr,
nullptr},
6905 "Name of the Vertex Group which determines the influence of the modifier per point");
6976 srna =
RNA_def_struct(brna,
"MeshSequenceCacheModifier",
"Modifier");
6994 "Path to the object in the Alembic archive used to lookup geometric data");
7003 {0,
nullptr, 0,
nullptr,
nullptr},
7016 prop,
"Vertex Interpolation",
"Allow interpolation of vertex positions");
7025 "Multiplier used to control the magnitude of the velocity vectors for time effects");
7036 srna =
RNA_def_struct(brna,
"LaplacianDeformModifier",
"Modifier");
7046 prop,
"Anchor Weights",
"Name of Vertex Group which determines Anchors");
7048 prop,
nullptr,
nullptr,
"rna_LaplacianDeformModifier_anchor_grp_name_set");
7079 {0,
nullptr, 0,
nullptr,
nullptr},
7104 prop,
"Vertex Group",
"Vertex group name for selecting the affected areas");
7116 prop,
"Only Loose Edges",
"Collapse edges without faces, cloth sewing edges");
7146 prop,
"Vertex Group Factor",
"Thickness factor to use for zero vertex group influence");
7179 prop,
"Offset Relative",
"Crease hub edges for improved subdivision surface");
7198 prop,
"Vertex Group",
"Vertex group name for selecting the affected areas");
7220 "Transfer active or all vertex groups"},
7222 {
DT_TYPE_SHAPEKEY,
"SHAPEKEYS", 0,
"Shapekey(s)",
"Transfer active or all shape keys"},
7227 {
DT_TYPE_SKIN,
"SKIN", 0,
"Skin Weight",
"Transfer skin weights"},
7234 "Transfer color attributes"},
7235 {0,
nullptr, 0,
nullptr,
nullptr},
7240 {
DT_TYPE_SEAM,
"SEAM", 0,
"UV Seam",
"Transfer UV seam mark"},
7241 {
DT_TYPE_CREASE,
"CREASE", 0,
"Crease",
"Transfer subdivision crease values"},
7244 {0,
nullptr, 0,
nullptr,
nullptr},
7248 {
DT_TYPE_LNOR,
"CUSTOM_NORMAL", 0,
"Custom Normals",
"Transfer custom normals"},
7253 "Transfer color attributes"},
7254 {
DT_TYPE_UV,
"UV", 0,
"UVs",
"Transfer UV layers"},
7255 {0,
nullptr, 0,
nullptr,
nullptr},
7264 "Transfer Freestyle face mark"},
7265 {0,
nullptr, 0,
nullptr,
nullptr},
7270 srna,
"Data Transfer Modifier",
"Modifier transferring some data from a source mesh");
7281 prop,
nullptr,
"rna_DataTransferModifier_ob_source_set",
nullptr,
"rna_Mesh_object_poll");
7285 "use_object_transform",
7288 "Evaluate source and destination meshes in global space");
7294 srna,
"use_vert_data",
false,
"Vertex Data",
"Enable vertex data transfer");
7298 prop =
RNA_def_boolean(srna,
"use_edge_data",
false,
"Edge Data",
"Enable edge data transfer");
7303 srna,
"use_loop_data",
false,
"Face Corner Data",
"Enable face corner data transfer");
7307 prop =
RNA_def_boolean(srna,
"use_poly_data",
false,
"Face Data",
"Enable face data transfer");
7314 DT_layer_vert_items,
7316 "Vertex Data Types",
7317 "Which vertex data layers to transfer");
7321 prop,
nullptr,
"rna_DataTransferModifier_verts_data_types_set",
nullptr);
7326 DT_layer_edge_items,
7329 "Which edge data layers to transfer");
7333 prop,
nullptr,
"rna_DataTransferModifier_edges_data_types_set",
nullptr);
7338 DT_layer_loop_items,
7340 "Face Corner Data Types",
7341 "Which face corner data layers to transfer");
7345 prop,
nullptr,
"rna_DataTransferModifier_loops_data_types_set",
nullptr);
7350 DT_layer_poly_items,
7353 "Which face data layers to transfer");
7357 prop,
nullptr,
"rna_DataTransferModifier_polys_data_types_set",
nullptr);
7366 "Method used to map source vertices to destination ones");
7375 "Method used to map source edges to destination ones");
7383 "Face Corner Mapping",
7384 "Method used to map source faces' corners to destination ones");
7393 "Method used to map source faces to destination ones");
7402 "Only Neighbor Geometry",
7403 "Source elements must be closer than given distance from destination one");
7414 "Maximum allowed distance between source and destination element, for non-topology mappings",
7428 "'Width' of rays (especially useful when raycasting against vertices or edges)",
7437 "islands_precision",
7441 "Islands Precision",
7442 "Factor controlling precision of islands handling "
7443 "(typically, 0.1 should be enough, higher values can make things really slow)",
7451 "layers_vgroup_select_src",
7454 "Source Layers Selection",
7455 "Which layers to transfer, in case of multi-layers types");
7458 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_src_itemf");
7463 "layers_shapekey_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");
7475 "layers_vcol_vert_select_src",
7478 "Source Layers Selection",
7479 "Which layers to transfer, in case of multi-layers types");
7482 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_src_itemf");
7486 "layers_vcol_loop_select_src",
7489 "Source Layers Selection",
7490 "Which layers to transfer, in case of multi-layers types");
7493 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_src_itemf");
7497 "layers_uv_select_src",
7500 "Source Layers Selection",
7501 "Which layers to transfer, in case of multi-layers types");
7504 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_src_itemf");
7508 "layers_vgroup_select_dst",
7511 "Destination Layers Matching",
7512 "How to match source and destination layers");
7515 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_dst_itemf");
7520 "layers_shapekey_select_dst",
7523 "Destination Layers Matching",
7524 "How to match source and destination layers");
7527 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_dst_itemf");
7532 "layers_vcol_vert_select_dst",
7535 "Destination Layers Matching",
7536 "How to match source and destination layers");
7539 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_dst_itemf");
7543 "layers_vcol_loop_select_dst",
7546 "Destination Layers Matching",
7547 "How to match source and destination layers");
7550 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_dst_itemf");
7554 "layers_uv_select_dst",
7557 "Destination Layers Matching",
7558 "How to match source and destination layers");
7561 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_layers_select_dst_itemf");
7570 "How to affect destination elements with source values");
7581 "Factor to use when applying data to destination (exact behavior depends on mix mode, "
7582 "multiplied with weights from vertex group when defined)",
7592 "Vertex group name for selecting the affected areas");
7595 prop,
nullptr,
nullptr,
"rna_DataTransferModifier_defgrp_name_set");
7599 srna,
"invert_vertex_group",
false,
"Invert",
"Invert vertex group influence");
7616 "From an ellipsoid (shape defined by the boundbox's dimensions, target is optional)"},
7621 "Normals 'track' (point to) the target object"},
7622 {0,
nullptr, 0,
nullptr,
nullptr},
7633 "Copy product of old and new normals (not cross product)"},
7634 {0,
nullptr, 0,
nullptr,
nullptr},
7639 srna,
"Normal Edit Modifier",
"Modifier affecting/generating custom normals");
7657 "Offset from object's center",
7671 prop,
"Mix Factor",
"How much of generated normals to mix with existing ones");
7683 "Lock Polygon Normals",
7684 "Do not flip polygons when their normals are not consistent "
7685 "with their newly computed custom vertex normals");
7691 prop,
"Vertex Group",
"Vertex group name for selecting/weighting the affected areas");
7703 prop,
nullptr,
"rna_NormalEditModifier_target_set",
nullptr,
nullptr);
7712 "Use same direction for all normals, from origin to target's center "
7713 "(Directional mode only)");
7724 srna =
RNA_def_struct(brna,
"SurfaceDeformModifier",
"Modifier");
7734 prop,
nullptr,
"rna_SurfaceDeformModifier_target_set",
nullptr,
"rna_Mesh_object_poll");
7741 prop,
"Interpolation Falloff",
"Controls how much nearby polygons influence deformation");
7752 prop,
"Vertex Group",
"Vertex group name for selecting/weighting the affected areas");
7754 prop,
nullptr,
nullptr,
"rna_SurfaceDeformModifier_defgrp_name_set");
7768 "Only record binding data for vertices matching the vertex group at the time of bind");
7790 "Generate face area weighted normals"},
7795 "Generate corner angle weighted normals"},
7797 "FACE_AREA_WITH_ANGLE",
7799 "Face Area & Angle",
7800 "Generated normals weighted by both face area and angle"},
7801 {0,
nullptr, 0,
nullptr,
nullptr},
7804 srna =
RNA_def_struct(brna,
"WeightedNormalModifier",
"Modifier");
7816 "Corrective factor applied to faces' weights, 50 is neutral, "
7817 "lower values increase weight of weak faces, "
7818 "higher values increase weight of strong faces");
7830 prop,
"Threshold",
"Threshold value for different weights to be considered equal");
7837 "Keep sharp edges as computed for default split normals, "
7838 "instead of setting a single weighted normal for each vertex");
7844 prop,
"Vertex Group",
"Vertex group name for modifying the selected areas");
7846 prop,
nullptr,
nullptr,
"rna_WeightedNormalModifier_defgrp_name_set");
7875 prop,
"Data-Block Name",
"Name that is mapped to the referenced data-block");
7882 "Used when the data block is not local to the current .blend file but "
7883 "is linked from some library");
7890 prop,
nullptr,
nullptr,
"rna_NodesModifierBake_data_block_typef",
nullptr);
7907 srna =
RNA_def_struct(brna,
"NodesModifierBakeDataBlocks",
nullptr);
7910 srna,
"Data-Blocks",
"Collection of data-blocks that can be referenced by baked data");
7920 "Inherit from Modifier",
7921 "Use setting from the modifier"},
7926 "Pack the baked data into the .blend file"},
7931 "Store the baked data in a directory on disk"},
7932 {0,
nullptr, 0,
nullptr,
nullptr},
7940 "Pack the baked data into the .blend file"},
7945 "Store the baked data in a directory on disk"},
7946 {0,
nullptr, 0,
nullptr,
nullptr},
7956 {0,
nullptr, 0,
nullptr,
nullptr},
7984 prop,
"Custom Simulation Frame Range",
"Override the simulation frame range from the scene");
7990 prop,
"Custom Path",
"Specify a path where the baked data should be stored manually");
8006 "Identifier for this bake which remains unchanged even when the bake "
8007 "node is renamed, grouped or ungrouped");
8015 "Bake node or simulation output node that corresponds to this bake. "
8016 "This node may be deeply nested in the modifier node group. It can be "
8017 "none in some cases like missing linked data blocks.");
8019 prop,
"rna_NodesModifierBake_node_get",
nullptr,
nullptr,
nullptr);
8070 "Nodes Modifier Warning",
8071 "Warning created during evaluation of a geometry nodes modifier");
8077 "rna_NodesModifierWarning_message_get",
8078 "rna_NodesModifierWarning_message_length",
8114 prop,
nullptr,
nullptr,
nullptr,
"rna_NodesModifier_node_group_poll");
8121 prop,
"Simulation Bake Directory",
"Location on disk where the bake data is stored");
8148 "rna_NodesModifier_node_warnings_iterator_begin",
8149 "rna_NodesModifier_node_warnings_iterator_next",
8151 "rna_NodesModifier_node_warnings_iterator_get",
8152 "rna_NodesModifier_node_warnings_length",
8183 "Desired number of voxels along one axis"},
8188 "Desired voxel side length"},
8189 {0,
nullptr, 0,
nullptr,
nullptr},
8207 prop,
"Resolution Mode",
"Mode for how the desired voxel size is specified");
8214 prop,
"Voxel Size",
"Smaller values result in a higher resolution output");
8226 prop,
"Interior Band Width",
"Width of the gradient inside of the mesh");
8245 "Use the local coordinate system for the texture coordinates"},
8250 "Use the global coordinate system for the texture coordinates"},
8255 "Use the linked object's local coordinate system for the texture coordinates"},
8256 {0,
nullptr, 0,
nullptr,
nullptr},
8262 srna =
RNA_def_struct(brna,
"VolumeDisplaceModifier",
"Modifier");
8291 prop,
"Texture Mid Level",
"Subtracted from the texture color to get a displacement vector");
8299 "Texture Sample Radius",
8300 "Smaller values result in better performance but might cut off the volume");
8318 "Use resolution of the volume grid"},
8323 "Desired number of voxels along one axis"},
8328 "Desired voxel side length"},
8329 {0,
nullptr, 0,
nullptr,
nullptr},
8346 prop,
"Threshold",
"Voxels with a larger value are inside the generated mesh");
8355 "Reduces the final face count by simplifying geometry where detail is not needed");
8362 prop,
"Smooth Shading",
"Output faces with smooth shading rather than flat shaded");
8367 prop,
"Grid Name",
"Grid in the volume object that is converted to a mesh");
8373 prop,
"Resolution Mode",
"Mode for how the desired voxel size is specified");
8380 prop,
"Voxel Size",
"Smaller values result in a higher resolution output");
8434 const char *material_set_fn)
8442 prop,
nullptr, material_set_fn,
nullptr,
"rna_GreasePencilModifier_material_poll");
8472 const char *vertex_group_name_set_fn)
8497 prop,
"Use Custom Curve",
"Use a custom curve to define a factor along the strokes");
8515 {0,
nullptr, 0,
nullptr,
nullptr},
8518 srna =
RNA_def_struct(brna,
"GreasePencilOpacityModifier",
"Modifier");
8525 srna,
"rna_GreasePencilOpacityModifier_material_filter_set");
8527 srna,
"rna_GreasePencilOpacityModifier_vertex_group_name_set");
8544 "rna_GreasePencilOpacityModifier_opacity_factor_max_set",
8545 "rna_GreasePencilOpacityModifier_opacity_factor_range");
8560 prop,
"Use Weight as Factor",
"Use vertex group weight as factor instead of influence");
8567 prop,
"Uniform Opacity",
"Replace the stroke opacity instead of modulating each point");
8582 {0,
nullptr, 0,
nullptr,
nullptr},
8585 srna =
RNA_def_struct(brna,
"GreasePencilSubdivModifier",
"Modifier");
8592 srna,
"rna_GreasePencilSubdivModifier_material_filter_set");
8625 {0,
nullptr, 0,
nullptr,
nullptr},
8628 srna =
RNA_def_struct(brna,
"GreasePencilColorModifier",
"Modifier");
8635 srna,
"rna_GreasePencilColorModifier_material_filter_set");
8680 {0,
nullptr, 0,
nullptr,
nullptr},
8686 {0,
nullptr, 0,
nullptr,
nullptr},
8689 srna =
RNA_def_struct(brna,
"GreasePencilTintModifier",
"Modifier");
8696 srna,
"rna_GreasePencilTintModifier_material_filter_set");
8698 srna,
"rna_GreasePencilTintModifier_vertex_group_name_set");
8739 prop,
nullptr,
"rna_GreasePencilTintModifier_object_set",
nullptr,
nullptr);
8754 prop,
"Use Weight as Factor",
"Use vertex group weight as factor instead of influence");
8767 {0,
nullptr, 0,
nullptr,
nullptr},
8770 static const EnumPropertyItem modifier_lineart_shadow_region_filtering[] = {
8775 "Not filtering any lines based on illumination region"},
8780 "Only selecting lines from illuminated regions"},
8785 "Only selecting lines from shaded regions"},
8787 "ILLUMINATED_ENCLOSED",
8789 "Illuminated (Enclosed Shapes)",
8790 "Selecting lines from lit regions, and make the combination of contour, light contour and "
8791 "shadow lines into enclosed shapes"},
8792 {0,
nullptr, 0,
nullptr,
nullptr},
8799 {0,
nullptr, 0,
nullptr,
nullptr},
8802 srna =
RNA_def_struct(brna,
"GreasePencilLineartModifier",
"Modifier");
8804 srna,
"Line Art Modifier",
"Generate Line Art strokes from selected source");
8813 prop,
"Use Custom Camera",
"Use custom camera instead of the active camera");
8820 "Intersection With Contour",
8821 "Treat intersection and contour lines as if they were the same type so "
8822 "they can be chained together");
8829 prop,
"All Lines",
"Treat all lines as the same line type so they can be chained together");
8836 "Instanced Objects",
8837 "Allow particle objects and face/vertex instances to show in Line Art");
8845 "Handle Overlapping Edges",
8846 "Allow edges in the same location (i.e. from edge split) to show properly. May run slower.");
8853 "Clipping Boundaries",
8854 "Allow lines generated by the near/far clipping plane to be shown");
8862 "Angles smaller than this will be treated as creases. Crease angle "
8863 "priority: object Line Art crease override > mesh auto smooth angle > "
8864 "Line Art default crease.");
8870 prop,
"Angle Splitting",
"Angle in screen space below which a stroke is split in two");
8879 prop,
"Smooth Tolerance",
"Strength of smoothing applied on jagged chains");
8904 prop,
"Filter Face Marks",
"Filter feature lines using Freestyle face marks");
8917 prop,
"Boundaries",
"Filter feature lines based on face mark boundaries");
8930 "Segments with an image distance smaller than this will be chained together");
8944 prop,
"Use Geometry Space",
"Use geometry distance for chaining instead of image space");
8951 prop,
"Preserve Details",
"Keep the zig-zag \"noise\" in initial chaining");
8958 "Overlapping Edge Types",
8959 "Allow an edge to have multiple overlapping types. This will create a "
8960 "separate stroke for each overlapping type.");
8965 "Stroke Depth Offset",
8966 "Move strokes slightly towards the camera to avoid clipping while "
8967 "preserve depth for the viewport");
8976 "Offset Towards Custom Camera",
8977 "Offset strokes towards selected camera instead of the active camera");
8985 prop,
"Camera Object",
"Use specified camera object for generating Line Art strokes");
8993 prop,
"Light Object",
"Use this light object to generate light contour");
9011 prop,
"Collection",
"Generate strokes from the objects in this collection");
9033 prop,
"Use Material",
"Generate strokes from borders between materials");
9049 "Use Light Contour",
9050 "Generate light/shadow separation lines from a reference light object");
9057 prop,
"Use Shadow",
"Project contour lines using a light source object");
9064 "Shadow Region Filtering",
9065 "Select feature lines that comes from lit or shaded regions. Will not "
9066 "affect cast shadow and light contour since they are at the border.");
9079 prop,
"Use Occlusion Range",
"Generate strokes from a range of occlusion levels");
9084 prop,
"Level Start",
"Minimum number of occlusions for the generated strokes");
9091 prop,
"Level End",
"Maximum number of occlusions for the generated strokes");
9098 prop,
"Layer",
"Grease Pencil layer to which assign the generated strokes");
9106 "rna_GreasePencilLineartModifier_material_set",
9108 "rna_GreasePencilModifier_material_poll");
9110 prop,
"Material",
"Grease Pencil material assigned to the generated strokes");
9116 "Source Vertex Group",
9117 "Match the beginning of vertex group names from mesh objects, match all when left empty");
9123 prop,
nullptr,
nullptr,
"rna_GreasePencilLineartModifier_vgname_set");
9136 "Use cached scene data from the first Line Art modifier in the stack. "
9137 "Certain settings will be unavailable.");
9144 "A margin to prevent strokes from ending abruptly at the edge of the image");
9175 prop,
"Use Material Mask",
"Use material masks to filter out occluded strokes");
9182 prop,
"Match Masks",
"Require matching all material masks instead of just one");
9194 prop,
"Match Intersection",
"Require matching all intersection masks instead of just one");
9206 prop,
"Crease On Smooth Surfaces",
"Allow crease edges to show inside smooth surfaces");
9220 "Image Boundary Trimming",
9221 "Trim all edges right at the boundary of image (including overscan region)");
9228 "Back Face Culling",
9229 "Remove all back faces to speed up calculation, this will create edges in "
9230 "different occlusion levels than when disabled");
9248 "Shadow Camera Size",
9249 "Represents the \"Orthographic Scale\" of an orthographic camera. "
9250 "If the camera is positioned at the light's location with this scale, it will "
9251 "represent the coverage of the shadow \"camera\".");
9258 "Invert Collection Filtering",
9259 "Select everything except lines from specified collection");
9275 srna =
RNA_def_struct(brna,
"GreasePencilSmoothModifier",
"Modifier");
9282 srna,
"rna_GreasePencilSmoothModifier_material_filter_set");
9284 srna,
"rna_GreasePencilSmoothModifier_vertex_group_name_set");
9300 prop,
"Affect Position",
"The modifier affects the position of the point");
9306 prop,
"Affect Strength",
"The modifier affects the color strength of the point");
9312 prop,
"Affect Thickness",
"The modifier affects the thickness of the point");
9318 prop,
"Affect UV",
"The modifier affects the UV rotation factor of the point");
9325 prop,
"Steps",
"Number of times to apply smooth (high numbers can reduce fps)");
9354 "Offset strokes by the same factor based on stroke draw order"},
9359 "Offset materials by the same factor"},
9360 {0,
nullptr, 0,
nullptr,
nullptr},
9363 srna =
RNA_def_struct(brna,
"GreasePencilOffsetModifier",
"Modifier");
9370 srna,
"rna_GreasePencilOffsetModifier_material_filter_set");
9372 srna,
"rna_GreasePencilOffsetModifier_vertex_group_name_set");
9437 prop,
"Uniform Scale",
"Use the same random seed for each scale axis for a uniform scale");
9451 {0,
nullptr, 0,
nullptr,
nullptr},
9454 srna =
RNA_def_struct(brna,
"GreasePencilNoiseModifier",
"Modifier");
9461 srna,
"rna_GreasePencilNoiseModifier_material_filter_set");
9463 srna,
"rna_GreasePencilNoiseModifier_vertex_group_name_set");
9541 {
GP_LENGTH_RELATIVE,
"RELATIVE", 0,
"Relative",
"Length in ratio to the stroke's length"},
9543 {0,
nullptr, 0,
nullptr,
nullptr},
9546 srna =
RNA_def_struct(brna,
"GreasePencilLengthModifier",
"Modifier");
9553 srna,
"rna_GreasePencilLengthModifier_material_filter_set");
9565 prop,
"Start Factor",
"Added length to the start of each stroke relative to its length");
9572 prop,
"End Factor",
"Added length to the end of each stroke relative to its length");
9579 prop,
"Start Factor",
"Absolute added length to the start of each stroke");
9592 prop,
"Random Start Factor",
"Size of random length added to the start of each stroke");
9599 prop,
"Random End Factor",
"Size of random length added to the end of each stroke");
9606 prop,
"Random Noise Offset",
"Smoothly offset each stroke's random value");
9630 "Defines what portion of the stroke is used for the calculation of the extension");
9647 prop,
"Invert Curvature",
"Invert the curvature of the stroke's extension");
9655 prop,
"Point Density",
"Multiplied by Start/End for the total added point count");
9662 "Segment Influence",
9663 "Factor to determine how much the length of the individual segments "
9664 "should influence the final computed curvature. Higher factors makes "
9665 "small segments influence the overall curvature less.");
9671 "Ignore points on the stroke that deviate from their neighbors by more "
9672 "than this angle when determining the extrapolation shape");
9685 srna =
RNA_def_struct(brna,
"GreasePencilMirrorModifier",
"Modifier");
9692 srna,
"rna_GreasePencilMirrorModifier_material_filter_set");
9701 prop,
nullptr,
"rna_GreasePencilMirrorModifier_object_set",
nullptr,
nullptr);
9728 srna =
RNA_def_struct(brna,
"GreasePencilThickModifierData",
"Modifier");
9735 srna,
"rna_GreasePencilThickModifier_material_filter_set");
9737 srna,
"rna_GreasePencilThickModifier_vertex_group_name_set");
9776 srna =
RNA_def_struct(brna,
"GreasePencilArrayModifier",
"Modifier");
9783 srna,
"rna_GreasePencilArrayModifier_material_filter_set");
9805 "Use the location and rotation of another object to determine the distance and "
9806 "rotational change between arrayed items");
9821 "The size of the geometry will determine the distance between arrayed items");
9853 "Index of the material used for generated strokes (0 keep original material)");
9864 prop,
"Use Object Offset",
"Add another object's transformation to the total offset");
9876 prop,
"Uniform Scale",
"Use the same random seed for each scale axis for a uniform scale");
9887 srna =
RNA_def_struct(brna,
"GreasePencilLatticeModifier",
"Modifier");
9889 srna,
"Grease Pencil Lattice Modifier",
"Deform strokes using a lattice object");
9895 srna,
"rna_GreasePencilLatticeModifier_material_filter_set");
9897 srna,
"rna_GreasePencilLatticeModifier_vertex_group_name_set");
9907 "rna_GreasePencilLatticeModifier_object_set",
9909 "rna_Lattice_object_poll");
9927 srna =
RNA_def_struct(brna,
"GreasePencilDashModifierSegment",
nullptr);
9935 prop,
nullptr,
nullptr,
"rna_GreasePencilDashModifierSegment_name_set");
9944 "The number of consecutive points from the original stroke to include in this segment");
9955 prop,
"Radius",
"The factor to apply to the original point's radius for the new points");
9961 prop,
"Opacity",
"The factor to apply to the original point's opacity for the new points");
9970 "Use this index on generated segment. -1 means using the existing material.");
9984 srna =
RNA_def_struct(brna,
"GreasePencilDashModifierData",
"Modifier");
9986 srna,
"Grease Pencil Dash Modifier",
"Create dot-dash effect for strokes");
9992 srna,
"rna_GreasePencilDashModifier_material_filter_set");
10002 "rna_GreasePencilDashModifier_segments_begin",
10003 "rna_iterator_array_next",
10004 "rna_iterator_array_end",
10005 "rna_iterator_array_get",
10020 "Offset into each stroke before the beginning of the dashed segment generation");
10032 {0,
"X", 0,
"X",
""},
10033 {1,
"Y", 0,
"Y",
""},
10034 {2,
"Z", 0,
"Z",
""},
10035 {0,
nullptr, 0,
nullptr,
nullptr},
10041 {0,
nullptr, 0,
nullptr,
nullptr},
10044 srna =
RNA_def_struct(brna,
"GreasePencilWeightAngleModifier",
"Modifier");
10051 srna,
"rna_GreasePencilWeightAngleModifier_material_filter_set");
10053 srna,
"rna_GreasePencilWeightAngleModifier_vertex_group_name_set");
10063 prop,
nullptr,
nullptr,
"rna_GreasePencilWeightAngleModifier_target_vgname_set");
10070 "Multiply Weights",
10071 "Multiply the calculated weights with the existing values in the vertex group");
10110 srna =
RNA_def_struct(brna,
"GreasePencilMultiplyModifier",
"Modifier");
10117 srna,
"rna_GreasePencilMultiModifier_material_filter_set");
10184 {0,
nullptr, 0,
nullptr,
nullptr},
10187 srna =
RNA_def_struct(brna,
"GreasePencilHookModifier",
"Modifier");
10189 srna,
"Hook Modifier",
"Hook modifier to modify the location of stroke points");
10195 srna,
"rna_GreasePencilHookModifier_material_filter_set");
10197 srna,
"rna_GreasePencilHookModifier_vertex_group_name_set");
10207 prop,
"Object",
"Parent Object for hook, also recalculates and clears offset");
10210 prop,
nullptr,
"rna_GreasePencilHookModifier_object_set",
nullptr,
nullptr);
10218 "Name of Parent Bone for hook (if applicable), also recalculates and clears offset");
10239 prop,
"Radius",
"If not zero, the distance from the hook where influence ends");
10251 prop,
"Matrix",
"Reverse the transformation between this object and its target");
10267 srna =
RNA_def_struct(brna,
"GreasePencilWeightProximityModifier",
"Modifier");
10274 srna,
"rna_GreasePencilWeightProximityModifier_material_filter_set");
10276 srna,
"rna_GreasePencilWeightProximityModifier_vertex_group_name_set");
10287 "Multiply Weights",
10288 "Multiply the calculated weights with the existing values in the vertex group");
10301 prop,
nullptr,
nullptr,
"rna_GreasePencilWeightProximityModifier_target_vgname_set");
10308 prop,
nullptr,
"rna_GreasePencilWeightProximityModifier_object_set",
nullptr,
nullptr);
10344 "Delete alternating vertices in the stroke, except extremes"},
10347 ICON_IPO_EASE_IN_OUT,
10349 "Use a Ramer-Douglas-Peucker algorithm to simplify the stroke preserving main shape"},
10352 ICON_IPO_EASE_IN_OUT,
10354 "Re-sample the stroke with segments of the specified length"},
10357 ICON_IPO_EASE_IN_OUT,
10359 "Simplify the stroke by merging vertices closer than a given distance"},
10360 {0,
nullptr, 0,
nullptr,
nullptr},
10363 srna =
RNA_def_struct(brna,
"GreasePencilSimplifyModifier",
"Modifier");
10370 srna,
"rna_GreasePencilSimplifyModifier_material_filter_set");
10372 srna,
"rna_GreasePencilSimplifyModifier_vertex_group_name_set");
10406 prop,
"Sharp Threshold",
"Preserve corners that have sharper angle than this threshold");
10424 srna =
RNA_def_struct(brna,
"GreasePencilArmatureModifier",
"Modifier");
10430 srna,
"rna_GreasePencilArmatureModifier_vertex_group_name_set");
10440 "rna_GreasePencilArmatureModifier_object_set",
10442 "rna_Armature_object_poll");
10459 prop,
"Preserve Volume",
"Deform rotation interpolation with quaternions");
10475 "Apply offset in usual animation direction"},
10480 "Apply offset in reverse animation direction"},
10485 "Loop back and forth"},
10486 {0,
nullptr, 0,
nullptr,
nullptr},
10489 srna =
RNA_def_struct(brna,
"GreasePencilTimeModifierSegment",
nullptr);
10497 prop,
nullptr,
nullptr,
"rna_GreasePencilTimeModifierSegment_name_set");
10533 "Apply offset in usual animation direction"},
10538 "Apply offset in reverse animation direction"},
10543 "Keep frame and do not change with time"},
10548 "Loop back and forth starting in reverse"},
10553 "List of chained animation segments"},
10554 {0,
nullptr, 0,
nullptr,
nullptr},
10557 srna =
RNA_def_struct(brna,
"GreasePencilTimeModifier",
"Modifier");
10573 "rna_GreasePencilTimeModifier_segments_begin",
10574 "rna_iterator_array_next",
10575 "rna_iterator_array_end",
10576 "rna_iterator_array_get",
10597 prop,
"Frame Offset",
"Number of frames to offset original keyframe number or frame to fix");
10610 prop,
nullptr,
"rna_GreasePencilTimeModifier_start_frame_set",
nullptr);
10626 prop,
"Keep Loop",
"Retiming end frames and move to start of animation to keep loop");
10632 prop,
"Custom Range",
"Define a custom range of frames to use in modifier");
10648 "Deform the stroke to best match the envelope shape"},
10653 "Add segments to create the envelope. Keep the original stroke."},
10658 "Add fill segments to create the envelope. Don't keep the original stroke."},
10659 {0,
nullptr, 0,
nullptr,
nullptr},
10662 srna =
RNA_def_struct(brna,
"GreasePencilEnvelopeModifier",
"Modifier");
10664 srna,
"Grease Pencil Envelope Modifier",
"Envelope stroke effect modifier");
10670 srna,
"rna_GreasePencilEnvelopeModifier_material_filter_set");
10672 srna,
"rna_GreasePencilEnvelopeModifier_vertex_group_name_set");
10688 prop,
"Spread Length",
"The number of points to skip to create straight segments");
10716 prop,
"Skip Segments",
"The number of generated segments to skip to reduce complexity");
10727 srna =
RNA_def_struct(brna,
"GreasePencilOutlineModifier",
"Modifier");
10734 srna,
"rna_GreasePencilOutlineModifier_material_filter_set");
10767 "rna_GreasePencilOutlineModifier_outline_material_set",
10769 "rna_GreasePencilModifier_material_poll");
10777 prop,
nullptr,
"rna_GreasePencilOutlineModifier_object_set",
nullptr,
nullptr);
10788 srna =
RNA_def_struct(brna,
"GreasePencilShrinkwrapModifier",
"Modifier");
10790 "Shrinkwrap Modifier",
10791 "Shrink wrapping modifier to shrink wrap an object to a target");
10797 srna,
"rna_GreasePencilShrinkwrapModifier_material_filter_set");
10799 srna,
"rna_GreasePencilShrinkwrapModifier_vertex_group_name_set");
10815 prop,
"Snap Mode",
"Select how vertices are constrained to the target surface");
10822 "rna_GreasePencilShrinkwrapModifier_face_cull_get",
10823 "rna_GreasePencilShrinkwrapModifier_face_cull_set",
10828 "Stop vertices from projecting to a face on the target when facing towards/away");
10835 "rna_GreasePencilShrinkwrapModifier_target_set",
10837 "rna_Mesh_object_poll");
10846 "rna_GreasePencilShrinkwrapModifier_aux_target_set",
10848 "rna_Mesh_object_poll");
10864 prop,
"Project Limit",
"Limit the distance used for projection (zero disables)");
10888 "Subdivision Levels",
10889 "Number of subdivisions that must be performed before extracting vertices' "
10890 "positions and normals");
10897 prop,
"Negative",
"Allow vertices to move in the negative direction of axis");
10904 prop,
"Positive",
"Allow vertices to move in the positive direction of axis");
10910 prop,
"Invert Cull",
"When projecting in the negative direction invert the face cull mode");
10923 prop,
"Steps",
"Number of times to apply smooth (high numbers can reduce FPS)");
10936 "Strokes appear/disappear one after the other, but only a single one changes at a time"},
10941 "Multiple strokes appear/disappear at once"},
10946 "Builds only new strokes (assuming 'additive' drawing)"},
10947 {0,
nullptr, 0,
nullptr,
nullptr},
10955 "Show points in the order they occur in each stroke "
10956 "(e.g. for animating lines being drawn)"},
10961 "Hide points from the end of each stroke to the start "
10962 "(e.g. for animating lines being erased)"},
10967 "Hide points in the order they occur in each stroke "
10968 "(e.g. for animating ink fading or vanishing after getting drawn)"},
10969 {0,
nullptr, 0,
nullptr,
nullptr},
10977 "All strokes start at same time (i.e. short strokes finish earlier)"},
10982 "All strokes end at same time (i.e. short strokes start later)"},
10983 {0,
nullptr, 0,
nullptr,
nullptr},
10989 srna =
RNA_def_struct(brna,
"GreasePencilBuildModifier",
"Modifier");
10996 srna,
"rna_GreasePencilBuildModifier_material_filter_set");
11013 prop,
"Transition",
"How are strokes animated (i.e. are they appearing or disappearing)");
11019 prop,
"Delay",
"Number of frames after each GP keyframe before the modifier has any effect");
11028 "Maximum number of frames that the build effect can run for "
11029 "(unless another GP keyframe occurs before this time has elapsed)");
11047 "Use drawing speed, a number of frames, or a manual factor to build strokes");
11070 prop,
"Restrict Frame Range",
"Only modify strokes during the specified frame range");
11078 prop,
"Restrict Visible Points",
"Use a percentage factor to determine the visible points");
11089 prop,
"Start Frame",
"Start Frame (when Restrict Frame Range is enabled)");
11114 prop,
nullptr,
nullptr,
"rna_GreasePencilBuildModifier_target_vgname_set");
11120 prop,
"Opacity Strength",
"How much strength fading applies on top of stroke opacity");
11127 prop,
"Thickness Strength",
"How much strength fading applies on top of stroke thickness");
11134 prop,
nullptr,
"rna_GreasePencilBuildModifier_object_set",
nullptr,
nullptr);
11151 "Keep the texture at a constant length regardless of the length of each stroke"},
11156 "Scale the texture to fit the length of each stroke"},
11157 {0,
nullptr, 0,
nullptr,
nullptr},
11165 "Manipulate only stroke texture coordinates"},
11170 "Manipulate only fill texture coordinates"},
11175 "Manipulate both stroke and fill texture coordinates"},
11176 {0,
nullptr, 0,
nullptr,
nullptr},
11179 srna =
RNA_def_struct(brna,
"GreasePencilTextureModifier",
"Modifier");
11181 srna,
"Grease Pencil Texture Modifier",
"Transform stroke texture coordinates Modifier");
11187 srna,
"rna_GreasePencilTextureModifier_material_filter_set");
11214 prop,
"Rotation",
"Additional rotation applied to dots and square strokes");
11306 prop,
"rna_Modifier_show_expanded_get",
"rna_Modifier_show_expanded_set");
11332 "is_override_data",
11334 "Override Modifier",
11335 "In a local override object, whether this modifier comes from the linked "
11336 "reference object, or is local to the override");
11346 "Apply this and all preceding deformation modifiers on splines' points rather than "
11347 "on filled curve/surface");
11356 "Time in seconds that the modifier took to evaluate. This is only set on evaluated objects. "
11357 "If multiple modifiers run in parallel, execution time is not a reliable metric.");
11364 "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.
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)
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)
void BKE_fluid_modifier_create_type_data(struct FluidModifierData *fmd)
void BKE_fluid_modifier_free(struct FluidModifierData *fmd)
Low-level operations for grease pencil.
void id_lib_extern(ID *id)
void id_us_plus_no_lib(ID *id)
General operations, lookup, etc. for materials.
int BKE_object_material_index_get(Object *ob, const Material *ma)
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
int BLI_findindex(const ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void * BLI_findlink(const ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
#define LISTBASE_FOREACH(type, var, list)
MINLINE int max_ii(int a, int b)
int BLI_sortutil_cmp_int(const void *a_, const void *b_)
#define SNPRINTF(dst, format,...)
char * STRNCPY(char(&dst)[N], const char *src)
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(blender::FunctionRef< bool(blender::StringRefNull)> unique_check, const char *defname, char delim, char *name, size_t name_maxncpy) ATTR_NONNULL(2
#define UNUSED_VARS_NDEBUG(...)
#define SET_FLAG_FROM_TEST(value, test, flag)
#define BLT_I18NCONTEXT_AMOUNT
#define BLT_I18NCONTEXT_MODIFIER
#define BLT_I18NCONTEXT_ID_SIMULATION
#define BLT_I18NCONTEXT_ID_ID
#define BLT_I18NCONTEXT_ID_CURVE_LEGACY
#define BLT_I18NCONTEXT_ID_GPENCIL
#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)
T * DEG_get_evaluated(const Depsgraph *depsgraph, T *id)
@ GP_WEIGHT_INVERT_OUTPUT
@ GP_WEIGHT_MULTIPLY_DATA
@ 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
@ GP_LENGTH_INVERT_CURVATURE
@ GP_LENGTH_USE_CURVATURE
@ MOD_SHRINKWRAP_ON_SURFACE
@ MOD_SHRINKWRAP_ABOVE_SURFACE
@ MOD_SHRINKWRAP_OUTSIDE_SURFACE
@ MOD_SHRINKWRAP_PROJECT_OVER_X_AXIS
@ MOD_SHRINKWRAP_PROJECT_OVER_Y_AXIS
@ MOD_SHRINKWRAP_PROJECT_OVER_Z_AXIS
@ DT_LAYERS_VGROUP_SRC_BONE_SELECT
@ DT_LAYERS_VGROUP_SRC_BONE_DEFORM
@ 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
#define MOD_SHRINKWRAP_CULL_TARGET_MASK
@ CDT_MIX_REPLACE_BELOW_THRESHOLD
@ CDT_MIX_REPLACE_ABOVE_THRESHOLD
@ MOD_SHRINKWRAP_TARGET_PROJECT
@ MOD_SHRINKWRAP_NEAREST_VERTEX
@ MOD_SHRINKWRAP_NEAREST_SURFACE
@ 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
@ GP_NOISE_RANDOM_KEYFRAME
@ DT_MULTILAYER_INDEX_MDEFORMVERT
@ DT_MULTILAYER_INDEX_VCOL_VERT
@ DT_MULTILAYER_INDEX_VCOL_LOOP
@ 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_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
@ MOD_MESHCACHE_INTERP_LINEAR
@ MOD_MESHCACHE_INTERP_NONE
@ eWarp_Falloff_InvSquare
@ MOD_EDGESPLIT_FROMANGLE
@ LINEART_SHADOW_FILTER_ILLUMINATED_ENCLOSED_SHAPES
@ LINEART_SHADOW_FILTER_NONE
@ LINEART_SHADOW_FILTER_SHADED
@ LINEART_SHADOW_FILTER_ILLUMINATED
@ 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
@ MOD_SCREW_SMOOTH_SHADING
@ MOD_SCREW_OBJECT_OFFSET
@ eMultiresModifierFlag_UseSculptBaseMesh
@ eMultiresModifierFlag_UseCrease
@ eMultiresModifierFlag_UseCustomNormals
@ eMultiresModifierFlag_ControlEdges
@ MOD_OCEAN_SPECTRUM_TEXEL_MARSEN_ARSLOE
@ MOD_OCEAN_SPECTRUM_JONSWAP
@ MOD_OCEAN_SPECTRUM_PHILLIPS
@ MOD_OCEAN_SPECTRUM_PIERSON_MOSKOWITZ
@ LINEART_GPENCIL_INTERSECTION_MATCH
@ LINEART_GPENCIL_MATERIAL_MASK_MATCH
@ LINEART_GPENCIL_MATERIAL_MASK_ENABLE
@ eModifierMode_ApplyOnSpline
@ GREASE_PENCIL_INFLUENCE_USE_LAYER_GROUP_FILTER
@ 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_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_ALL
@ MOD_WVG_PROXIMITY_GEOM_FACES
@ eBooleanModifierSolver_Float
@ eBooleanModifierSolver_Manifold
@ eBooleanModifierSolver_Mesh_Arr
@ MOD_SKIN_SMOOTH_SHADING
@ MOD_SOLIDIFY_MODE_NONMANIFOLD
@ MOD_SOLIDIFY_MODE_EXTRUDE
@ MOD_GREASE_PENCIL_WEIGHT_ANGLE_SPACE_WORLD
@ MOD_GREASE_PENCIL_WEIGHT_ANGLE_SPACE_LOCAL
@ MOD_MIR_BISECT_FLIP_AXIS_X
@ LINEART_SILHOUETTE_FILTER_NONE
@ LINEART_SILHOUETTE_FILTER_INDIVIDUAL
@ LINEART_SILHOUETTE_FILTER_GROUP
@ MOD_SOLIDIFY_NORMAL_CALC
@ MOD_SOLIDIFY_OFFSET_ANGLE_CLAMP
@ MOD_SOLIDIFY_NONMANIFOLD_FLAT_FACES
@ MOD_SOLIDIFY_VGROUP_INV
@ 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_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_EVEN
@ MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_FIXED
@ MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_CONSTRAINTS
@ MOD_OCEAN_GEOM_GENERATE
@ MOD_OCEAN_GEOM_SIM_ONLY
@ MOD_OCEAN_GEOM_DISPLACE
@ MOD_SIMPLEDEFORM_FLAG_INVERT_VGROUP
@ MOD_REMESH_SHARP_FEATURES
@ MOD_WELD_MODE_CONNECTED
@ eBooleanModifierMaterialMode_Index
@ eBooleanModifierMaterialMode_Transfer
@ MOD_GREASE_PENCIL_OPACITY_USE_WEIGHT_AS_FACTOR
@ MOD_GREASE_PENCIL_OPACITY_USE_UNIFORM_OPACITY
@ MOD_SIMPLEDEFORM_LOCK_AXIS_Z
@ MOD_SIMPLEDEFORM_LOCK_AXIS_X
@ MOD_SIMPLEDEFORM_LOCK_AXIS_Y
@ 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
@ MOD_WEIGHTEDNORMAL_MODE_FACE
@ MOD_WEIGHTEDNORMAL_MODE_FACE_ANGLE
@ MOD_WEIGHTEDNORMAL_MODE_ANGLE
@ SUBSURF_BOUNDARY_SMOOTH_ALL
@ SUBSURF_BOUNDARY_SMOOTH_PRESERVE_CORNERS
@ MOD_WEIGHTEDNORMAL_KEEP_SHARP
@ MOD_WEIGHTEDNORMAL_FACE_INFLUENCE
@ MOD_WEIGHTEDNORMAL_INVERT_VGROUP
@ MOD_NORMALEDIT_NO_POLYNORS_FIX
@ MOD_NORMALEDIT_INVERT_VGROUP
@ MOD_NORMALEDIT_USE_DIRECTION_PARALLEL
@ MOD_GREASE_PENCIL_BUILD_TIMEMODE_PERCENTAGE
@ MOD_GREASE_PENCIL_BUILD_TIMEMODE_DRAWSPEED
@ MOD_GREASE_PENCIL_BUILD_TIMEMODE_FRAMES
@ 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
@ 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_TRIANGULATE_NGON_BEAUTY
@ MOD_TRIANGULATE_NGON_EARCLIP
@ 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
@ 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_GREASE_PENCIL_TIME_KEEP_LOOP
@ MOD_GREASE_PENCIL_TIME_CUSTOM_RANGE
@ MOD_GREASE_PENCIL_BUILD_RESTRICT_TIME
@ MOD_GREASE_PENCIL_BUILD_USE_FADING
@ MOD_GREASE_PENCIL_DASH_USE_CYCLIC
@ MOD_NORMALEDIT_MODE_RADIAL
@ MOD_NORMALEDIT_MODE_DIRECTIONAL
@ MOD_BUILD_FLAG_RANDOMIZE
@ NODES_MODIFIER_PANEL_OPEN
@ MOD_MESHCACHE_FLIP_AXIS_X
@ MOD_MESHCACHE_TIME_FRAME
@ MOD_MESHCACHE_TIME_FACTOR
@ MOD_MESHCACHE_TIME_SECONDS
@ MOD_GREASE_PENCIL_TINT_UNIFORM
@ MOD_GREASE_PENCIL_TINT_GRADIENT
@ MOD_GREASE_PENCIL_OUTLINE_KEEP_SHAPE
@ NODES_MODIFIER_HIDE_DATABLOCK_SELECTOR
@ LINEART_SOURCE_COLLECTION
@ eBooleanModifierFlag_Collection
@ eBooleanModifierFlag_Self
@ eBooleanModifierFlag_HoleTolerant
@ eBooleanModifierFlag_Object
@ 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_CORRECTIVESMOOTH_SMOOTH_LENGTH_WEIGHT
@ MOD_CORRECTIVESMOOTH_SMOOTH_SIMPLE
@ MOD_WVG_EDIT_INVERT_VGROUP_MASK
@ MOD_WVG_EDIT_WEIGHTS_NORMALIZE
@ MOD_MESHSEQ_INTERPOLATE_VERTICES
@ MOD_MESHSEQ_READ_ATTRIBUTES
@ 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
@ eBooleanModifierBMeshFlag_BMesh_NoDissolve
@ eBooleanModifierBMeshFlag_BMesh_Separate
@ eBooleanModifierBMeshFlag_BMesh_NoConnectRegions
@ MOD_NORMALEDIT_MIX_COPY
@ LINEART_GPENCIL_INVERT_COLLECTION
@ LINEART_GPENCIL_OFFSET_TOWARDS_CUSTOM_CAMERA
@ LINEART_GPENCIL_INVERT_SILHOUETTE_FILTER
@ LINEART_GPENCIL_IS_BAKED
@ LINEART_GPENCIL_USE_CACHE
@ MOD_SMOOTH_INVERT_VGROUP
@ MOD_BEVEL_PROFILE_CUSTOM
@ MOD_BEVEL_PROFILE_SUPERELLIPSE
@ MOD_MESHCACHE_INVERT_VERTEX_GROUP
@ MOD_UVWARP_INVERT_VGROUP
@ 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
@ MOD_CURVE_INVERT_VGROUP
@ VOLUME_TO_MESH_USE_SMOOTH_SHADE
@ MOD_WVG_PROXIMITY_OBJECT
@ MOD_WVG_PROXIMITY_GEOMETRY
@ MOD_CORRECTIVESMOOTH_RESTSOURCE_ORCO
@ MOD_CORRECTIVESMOOTH_RESTSOURCE_BIND
@ eExplodeFlag_INVERT_VGROUP
@ MOD_WVG_MIX_INVERT_VGROUP_MASK
@ MOD_WVG_MIX_INVERT_VGROUP_B
@ MOD_WVG_MIX_WEIGHTS_NORMALIZE
@ MOD_WVG_MIX_INVERT_VGROUP_A
@ MOD_BEVEL_FACE_STRENGTH_NONE
@ MOD_BEVEL_FACE_STRENGTH_AFFECTED
@ MOD_BEVEL_FACE_STRENGTH_NEW
@ MOD_BEVEL_FACE_STRENGTH_ALL
@ MOD_TRIANGULATE_QUAD_SHORTEDGE
@ MOD_TRIANGULATE_QUAD_FIXED
@ MOD_TRIANGULATE_QUAD_LONGEDGE
@ MOD_TRIANGULATE_QUAD_BEAUTY
@ MOD_TRIANGULATE_QUAD_ALTERNATE
@ eSubsurfModifierFlag_UseRecursiveSubdivision
@ eSubsurfModifierFlag_UseCrease
@ eSubsurfModifierFlag_ControlEdges
@ eSubsurfModifierFlag_UseCustomNormals
@ MOD_OCEAN_GENERATE_NORMALS
@ MOD_OCEAN_GENERATE_FOAM
@ MOD_OCEAN_GENERATE_SPRAY
@ MOD_GREASE_PENCIL_TEXTURE_STROKE_AND_FILL
@ MOD_GREASE_PENCIL_TEXTURE_FILL
@ MOD_GREASE_PENCIL_TEXTURE_STROKE
@ MOD_BEVEL_HARDEN_NORMALS
@ MOD_BEVEL_INVERT_VGROUP
@ MOD_SIMPLEDEFORM_MODE_TAPER
@ MOD_SIMPLEDEFORM_MODE_STRETCH
@ MOD_SIMPLEDEFORM_MODE_BEND
@ MOD_SIMPLEDEFORM_MODE_TWIST
@ MOD_CAST_USE_OB_TRANSFORM
@ MOD_CAST_SIZE_FROM_RADIUS
@ 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_GREASE_PENCIL_WEIGHT_PROXIMITY_INVERT_OUTPUT
@ MOD_GREASE_PENCIL_WEIGHT_PROXIMITY_MULTIPLY_DATA
@ MOD_LAPLACIANDEFORM_BIND
@ MOD_LAPLACIANDEFORM_INVERT_VGROUP
@ MOD_MESHCACHE_PLAY_CFEA
@ MOD_MESHCACHE_PLAY_EVAL
@ 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_DECIM_FLAG_INVERT_VGROUP
@ MOD_DECIM_FLAG_SYMMETRY
@ MOD_DECIM_FLAG_TRIANGULATE
@ MOD_DECIM_FLAG_ALL_BOUNDARY_VERTS
@ MOD_LATTICE_INVERT_VGROUP
@ MOD_WIREFRAME_OFS_RELATIVE
@ MOD_WIREFRAME_INVERT_VGROUP
#define MOD_UVPROJECT_MAXPROJECTORS
@ MOD_WARP_VOLUME_PRESERVE
@ MOD_CORRECTIVESMOOTH_ONLY_SMOOTH
@ MOD_CORRECTIVESMOOTH_PIN_BOUNDARY
@ MOD_CORRECTIVESMOOTH_INVERT_VGROUP
@ MOD_GREASE_PENCIL_TEXTURE_FIT_STROKE
@ MOD_GREASE_PENCIL_TEXTURE_CONSTANT_LENGTH
@ eBooleanModifierOp_Intersect
@ eBooleanModifierOp_Union
@ eBooleanModifierOp_Difference
@ MOD_BEVEL_AFFECT_VERTICES
@ eParticleInstanceSpace_World
@ eParticleInstanceSpace_Local
@ MOD_MESHCACHE_DEFORM_INTEGRATE
@ MOD_MESHCACHE_DEFORM_OVERWRITE
@ MOD_GREASE_PENCIL_OFFSET_STROKE
@ MOD_GREASE_PENCIL_OFFSET_MATERIAL
@ MOD_GREASE_PENCIL_OFFSET_LAYER
@ MOD_GREASE_PENCIL_OFFSET_RANDOM
@ MOD_TRIANGULATE_KEEP_CUSTOMLOOP_NORMALS
@ MOD_DECIM_MODE_UNSUBDIV
@ MOD_DECIM_MODE_COLLAPSE
@ MOD_DECIM_MODE_DISSOLVE
@ 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_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_FLAT
@ MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_ROUND
@ MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_NONE
@ GEO_NODE_ASSET_MODIFIER
Object is a sort of wrapper for general info.
@ UI_PANEL_DATA_EXPAND_ROOT
void MOD_nodes_update_interface(Object *object, NodesModifierData *nmd)
#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
@ PROPOVERRIDE_NO_COMPARISON
@ PROP_PATH_SUPPORTS_BLEND_RELATIVE
#define RNA_ENUM_ITEM_HEADING(name, description)
BPy_StructRNA * depsgraph
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
const ComputeContextHash & hash() const
constexpr bool contains_ptr(const T *ptr) const
float length(VecOp< float, D >) RET
#define ID_IS_LINKED(_id)
#define MAX_CUSTOMDATA_LAYER_NAME_NO_PREFIX
void * MEM_malloc_arrayN(size_t len, size_t size, const char *str)
void MEM_freeN(void *vmemh)
Segment< FEdge *, Vec3r > segment
constexpr float LEGACY_RADIUS_CONVERSION_FACTOR
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[]
void rna_iterator_array_begin(CollectionPropertyIterator *iter, PointerRNA *ptr, void *data, int itemsize, int length, bool free_ptr, IteratorSkipFunc skip)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
const PointerRNA PointerRNA_NULL
PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop)
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_create_discrete(ID *id, StructRNA *type, void *data)
int RNA_enum_get(PointerRNA *ptr, const char *name)
PointerRNA RNA_pointer_create_with_parent(const PointerRNA &parent, StructRNA *type, void *data)
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_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
void RNA_def_struct_name_property(StructRNA *srna, PropertyRNA *prop)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, const int maxlen, const char *ui_name, const char *ui_description)
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_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_bitset_array_sdna(PropertyRNA *prop, const char *structname, const char *propname, const int64_t booleanbit, const int length)
void RNA_def_property_boolean_default(PropertyRNA *prop, bool value)
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set)
void RNA_def_property_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::@251313231040372062304153161337117373343066046335 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)