53 ICON_MOD_DATA_TRANSFER,
55 "Transfer several types of data (vertex groups, UV maps, vertex colors, custom normals) from "
56 "one mesh to another"},
61 "Deform the mesh using an external frame-by-frame vertex transform cache"},
63 "MESH_SEQUENCE_CACHE",
65 "Mesh Sequence Cache",
66 "Deform the mesh or curve using an external mesh cache in Alembic format"},
71 "Modify the direction of the surface normals"},
76 "Modify the direction of the surface normals using a weighting method"},
81 "Project the UV map coordinates from the negative Z axis of another object"},
86 "Transform the UV map using the difference between two objects"},
89 ICON_MOD_VERTEX_WEIGHT,
91 "Modify of the weights of a vertex group"},
94 ICON_MOD_VERTEX_WEIGHT,
96 "Mix the weights of two vertex groups"},
98 "VERTEX_WEIGHT_PROXIMITY",
99 ICON_MOD_VERTEX_WEIGHT,
100 "Vertex Weight Proximity",
101 "Set the vertex group weights based on the distance to another target object"},
108 "Create copies of the shape with offsets"},
113 "Generate sloped corners by adding geometry to the mesh's edges or vertices"},
118 "Use another shape to cut, combine or perform a difference operation"},
123 "Cause the faces of the mesh object to appear or disappear one after the other over time"},
128 "Reduce the geometry density"},
133 "Split away joined faces at the edges"},
139 "Dynamically hide vertices based on a vertex group or armature"},
144 "Mirror along the local X, Y and/or Z axes, over the object origin"},
154 "Subdivide the mesh in a way that allows editing the higher subdivision levels"},
159 "Generate new mesh topology based on the current shape"},
164 "Lathe around an axis, treating the input mesh as a profile"},
169 "Create a solid shape from vertices and edges, using the vertex radius to define the "
175 "Subdivision Surface",
176 "Split the faces into smaller parts, giving it a smoother appearance"},
179 ICON_MOD_TRIANGULATE,
181 "Convert all polygons to triangles"},
191 "Find groups of vertices closer than dist and merge them together"},
196 "Convert faces into thickened edges"},
203 "Deform the shape using an armature object"},
208 "Shift the shape towards a predefined primitive"},
209 {
eModifierType_Curve,
"CURVE", ICON_MOD_CURVE,
"Curve",
"Bend the mesh using a curve object"},
214 "Offset vertices based on a texture"},
215 {
eModifierType_Hook,
"HOOK", ICON_HOOK,
"Hook",
"Deform specific points using another object"},
220 "Deform based a series of anchor points"},
225 "Deform using the shape of a lattice object"},
230 "Deform using a different mesh, which acts as a deformation cage"},
235 "Project the shape onto another object"},
238 ICON_MOD_SIMPLEDEFORM,
240 "Deform the shape by twisting, bending, tapering or stretching"},
245 "Smooth the mesh by flattening the angles between adjacent faces"},
250 "Smooth the mesh while still preserving the volume"},
255 "Reduce the noise on a mesh surface with minimal changes to its shape"},
260 "Transfer motion from another mesh"},
265 "Warp parts of a mesh to a new location in a very flexible way thanks to 2 specified "
271 "Adds a ripple-like motion to an object's geometry"},
276 "Deform volume based on noise or other vector fields"},
286 "Break apart the mesh faces and let them follow particles"},
288 {
eModifierType_Ocean,
"OCEAN", ICON_MOD_OCEAN,
"Ocean",
"Generate a moving ocean surface"},
291 ICON_MOD_PARTICLE_INSTANCE,
298 "Spawn particles from the shape"},
309 "Split the quads in nice triangles, slower method"},
314 "Split the quads on the first and third vertices"},
319 "Split the quads on the 2nd and 4th vertices"},
324 "Split the quads along their shortest diagonal"},
329 "Split the quads along their longest diagonal"},
338 "Arrange the new triangles evenly (slow)"},
343 "Split the polygons with an ear clipping algorithm"},
352 "The point is constrained to the surface of the target object, "
353 "with distance offset towards the original point location"},
358 "The point is constrained to be inside the target object"},
363 "The point is constrained to be outside the target object"},
368 "The point is constrained to the surface of the target object, "
369 "with distance offset always to the outside, towards or away from the original location"},
374 "The point is constrained to the surface of the target object, "
375 "with distance offset applied exactly along the target normal"},
381 "NEAREST_SURFACEPOINT",
383 "Nearest Surface Point",
384 "Shrink the mesh to the nearest target surface"},
389 "Shrink the mesh to the nearest target surface along a given axis"},
394 "Shrink the mesh to the nearest target vertex"},
398 "Target Normal Project",
399 "Shrink the mesh to the nearest target surface "
400 "along the interpolated vertex normals of the target"},
405 {0,
"OFF", 0,
"Off",
"No culling"},
410 "No projection when in front of the face"},
439 "Nearest Edge Vertex",
440 "Copy from closest vertex of closest edge"},
442 "EDGEINTERP_NEAREST",
444 "Nearest Edge Interpolated",
445 "Copy from interpolated values of vertices from closest point on closest edge"},
449 "Nearest Face Vertex",
450 "Copy from closest vertex of closest face"},
452 "POLYINTERP_NEAREST",
454 "Nearest Face Interpolated",
455 "Copy from interpolated values of vertices from closest point on closest face"},
457 "POLYINTERP_VNORPROJ",
459 "Projected Face Interpolated",
460 "Copy from interpolated values of vertices from point on closest face hit by "
461 "normal-projection"},
471 "Copy from most similar edge (edge which vertices are the closest of destination edge's "
477 "Copy from closest edge (using midpoints)"},
482 "Copy from closest edge of closest face (using midpoints)"},
484 "EDGEINTERP_VNORPROJ",
486 "Projected Edge Interpolated",
487 "Interpolate all source edges hit by the projection of destination one along its own normal "
497 "Nearest Corner and Best Matching Normal",
498 "Copy from nearest corner which has the best matching normal"},
502 "Nearest Corner and Best Matching Face Normal",
503 "Copy from nearest corner which has the face with the best matching normal to destination "
504 "corner's face one"},
508 "Nearest Corner of Nearest Face",
509 "Copy from nearest corner of nearest polygon"},
511 "POLYINTERP_NEAREST",
513 "Nearest Face Interpolated",
514 "Copy from interpolated corners of the nearest source polygon"},
516 "POLYINTERP_LNORPROJ",
518 "Projected Face Interpolated",
519 "Copy from interpolated corners of the source polygon hit by corner normal projection"},
529 "Copy from nearest polygon (using center points)"},
533 "Best Normal-Matching",
534 "Copy from source polygon which normal is the closest to destination one"},
536 "POLYINTERP_PNORPROJ",
538 "Projected Face Interpolated",
539 "Interpolate all source polygons intersected by the projection of destination one along its "
545 {
CDT_MIX_TRANSFER,
"REPLACE", 0,
"Replace",
"Overwrite all elements' data"},
550 "Only replace destination elements where data is above given threshold (exact behavior "
551 "depends on data type)"},
556 "Only replace destination elements where data is below given threshold (exact behavior "
557 "depends on data type)"},
562 "Mix source value into destination one, using given threshold as factor"},
567 "Add source value to destination one, using given threshold as factor"},
572 "Subtract source value to destination one, using given threshold as factor"},
577 "Multiply source value to destination one, using given threshold as factor"},
588 "Selected Pose Bones",
589 "Transfer all vertex groups used by selected pose bones"},
594 "Transfer all vertex groups used by deform bones"},
600 {
DT_LAYERS_NAME_DST,
"NAME", 0,
"By Name",
"Match target data layers to affect by name"},
605 "Match target data layers to affect by order (indices)"},
610 {0,
"X", 0,
"X",
""},
611 {1,
"Y", 0,
"Y",
""},
616 {0,
"X", 0,
"X",
""},
617 {1,
"Y", 0,
"Y",
""},
618 {2,
"Z", 0,
"Z",
""},
623 {(1 << 0),
"X", 0,
"X",
""},
624 {(1 << 1),
"Y", 0,
"Y",
""},
625 {(1 << 2),
"Z", 0,
"Z",
""},
635 "UVs are smoothed, corners on discontinuous boundary are kept sharp"},
637 "PRESERVE_CORNERS_AND_JUNCTIONS",
639 "Keep Corners, Junctions",
640 "UVs are smoothed, corners on discontinuous boundary and "
641 "junctions of 3 or more regions are kept sharp"},
643 "PRESERVE_CORNERS_JUNCTIONS_AND_CONCAVE",
645 "Keep Corners, Junctions, Concave",
646 "UVs are smoothed, corners on discontinuous boundary, "
647 "junctions of 3 or more regions and darts and concave corners are kept sharp"},
649 "PRESERVE_BOUNDARIES",
652 "UVs are smoothed, boundaries are kept sharp"},
662 "Smooth boundaries, but corners are kept sharp"},
701 if (modifier_type !=
NULL) {
702 return modifier_type->
srna;
704 return &RNA_Modifier;
707 static void rna_Modifier_name_set(
PointerRNA *
ptr,
const char *value)
710 char oldname[
sizeof(md->
name)];
731 char name_esc[
sizeof(md->
name) * 2];
745 rna_Modifier_update(bmain,
scene,
ptr);
749 static void rna_Modifier_is_active_set(
PointerRNA *
ptr,
bool value)
769 # define RNA_MOD_VGROUP_NAME_SET(_type, _prop) \
770 static void rna_##_type##Modifier_##_prop##_set(PointerRNA *ptr, const char *value) \
772 _type##ModifierData *tmd = (_type##ModifierData *)ptr->data; \
773 rna_object_vgroup_name_set(ptr, value, tmd->_prop, sizeof(tmd->_prop)); \
776 RNA_MOD_VGROUP_NAME_SET(Armature, defgrp_name);
777 RNA_MOD_VGROUP_NAME_SET(
Bevel, defgrp_name);
778 RNA_MOD_VGROUP_NAME_SET(Cast, defgrp_name);
779 RNA_MOD_VGROUP_NAME_SET(
Curve, name);
780 RNA_MOD_VGROUP_NAME_SET(DataTransfer, defgrp_name);
781 RNA_MOD_VGROUP_NAME_SET(Decimate, defgrp_name);
782 RNA_MOD_VGROUP_NAME_SET(CorrectiveSmooth, defgrp_name);
783 RNA_MOD_VGROUP_NAME_SET(Displace, defgrp_name);
784 RNA_MOD_VGROUP_NAME_SET(Hook, name);
785 RNA_MOD_VGROUP_NAME_SET(LaplacianDeform, anchor_grp_name);
786 RNA_MOD_VGROUP_NAME_SET(LaplacianSmooth, defgrp_name);
787 RNA_MOD_VGROUP_NAME_SET(
Lattice, name);
788 RNA_MOD_VGROUP_NAME_SET(
Mask, vgroup);
789 RNA_MOD_VGROUP_NAME_SET(MeshCache, defgrp_name);
790 RNA_MOD_VGROUP_NAME_SET(MeshDeform, defgrp_name);
791 RNA_MOD_VGROUP_NAME_SET(NormalEdit, defgrp_name);
792 RNA_MOD_VGROUP_NAME_SET(Shrinkwrap, vgroup_name);
793 RNA_MOD_VGROUP_NAME_SET(SimpleDeform, vgroup_name);
794 RNA_MOD_VGROUP_NAME_SET(Smooth, defgrp_name);
795 RNA_MOD_VGROUP_NAME_SET(Solidify, defgrp_name);
796 RNA_MOD_VGROUP_NAME_SET(Solidify, shell_defgrp_name);
797 RNA_MOD_VGROUP_NAME_SET(Solidify, rim_defgrp_name);
798 RNA_MOD_VGROUP_NAME_SET(SurfaceDeform, defgrp_name);
799 RNA_MOD_VGROUP_NAME_SET(UVWarp, vgroup_name);
800 RNA_MOD_VGROUP_NAME_SET(Warp, defgrp_name);
801 RNA_MOD_VGROUP_NAME_SET(Wave, defgrp_name);
802 RNA_MOD_VGROUP_NAME_SET(WeightVGEdit, defgrp_name);
803 RNA_MOD_VGROUP_NAME_SET(WeightVGEdit, mask_defgrp_name);
804 RNA_MOD_VGROUP_NAME_SET(WeightVGMix, defgrp_name_a);
805 RNA_MOD_VGROUP_NAME_SET(WeightVGMix, defgrp_name_b);
806 RNA_MOD_VGROUP_NAME_SET(WeightVGMix, mask_defgrp_name);
807 RNA_MOD_VGROUP_NAME_SET(WeightVGProximity, defgrp_name);
808 RNA_MOD_VGROUP_NAME_SET(WeightVGProximity, mask_defgrp_name);
809 RNA_MOD_VGROUP_NAME_SET(WeightedNormal, defgrp_name);
810 RNA_MOD_VGROUP_NAME_SET(Weld, defgrp_name);
811 RNA_MOD_VGROUP_NAME_SET(
Wireframe, defgrp_name);
813 static void rna_ExplodeModifier_vgroup_get(
PointerRNA *
ptr,
char *value)
819 static int rna_ExplodeModifier_vgroup_length(
PointerRNA *
ptr)
825 static void rna_ExplodeModifier_vgroup_set(
PointerRNA *
ptr,
const char *value)
831 # undef RNA_MOD_VGROUP_NAME_SET
835 # define RNA_MOD_UVLAYER_NAME_SET(_type, _prop) \
836 static void rna_##_type##Modifier_##_prop##_set(PointerRNA *ptr, const char *value) \
838 _type##ModifierData *tmd = (_type##ModifierData *)ptr->data; \
839 rna_object_uvlayer_name_set(ptr, value, tmd->_prop, sizeof(tmd->_prop)); \
842 RNA_MOD_UVLAYER_NAME_SET(MappingInfo, uvlayer_name);
843 RNA_MOD_UVLAYER_NAME_SET(UVProject, uvlayer_name);
844 RNA_MOD_UVLAYER_NAME_SET(UVWarp, uvlayer_name);
845 RNA_MOD_UVLAYER_NAME_SET(WeightVGEdit, mask_tex_uvlayer_name);
846 RNA_MOD_UVLAYER_NAME_SET(WeightVGMix, mask_tex_uvlayer_name);
847 RNA_MOD_UVLAYER_NAME_SET(WeightVGProximity, mask_tex_uvlayer_name);
849 # undef RNA_MOD_UVLAYER_NAME_SET
857 if (!
self || ob !=
self) {
865 # define RNA_MOD_OBJECT_SET(_type, _prop, _obtype) \
866 static void rna_##_type##Modifier_##_prop##_set( \
867 PointerRNA *ptr, PointerRNA value, struct ReportList *UNUSED(reports)) \
869 _type##ModifierData *tmd = (_type##ModifierData *)ptr->data; \
870 modifier_object_set((Object *)ptr->owner_id, &tmd->_prop, _obtype, value); \
874 RNA_MOD_OBJECT_SET(Array, start_cap,
OB_MESH);
875 RNA_MOD_OBJECT_SET(Array, end_cap,
OB_MESH);
877 RNA_MOD_OBJECT_SET(Boolean,
object,
OB_MESH);
878 RNA_MOD_OBJECT_SET(Cast,
object,
OB_EMPTY);
880 RNA_MOD_OBJECT_SET(DataTransfer, ob_source,
OB_MESH);
883 RNA_MOD_OBJECT_SET(MeshDeform,
object,
OB_MESH);
884 RNA_MOD_OBJECT_SET(NormalEdit, target,
OB_EMPTY);
885 RNA_MOD_OBJECT_SET(Shrinkwrap, target,
OB_MESH);
886 RNA_MOD_OBJECT_SET(Shrinkwrap, auxTarget,
OB_MESH);
887 RNA_MOD_OBJECT_SET(SurfaceDeform, target,
OB_MESH);
902 static bool rna_HookModifier_object_override_apply(
Main *bmain,
911 const int len_storage,
917 BLI_assert(len_dst == len_src && (!ptr_storage || len_dst == len_storage) && len_dst == 0);
919 "Unsupported RNA override operation on Hook modifier target object pointer");
931 if (target_src == target_dst) {
936 if (target_src ==
NULL) {
944 static void rna_HookModifier_subtarget_set(
PointerRNA *
ptr,
const char *value)
953 static int rna_HookModifier_vertex_indices_get_length(
const PointerRNA *
ptr,
958 return (
length[0] = indexar_num);
961 static void rna_HookModifier_vertex_indices_get(
PointerRNA *
ptr,
int *values)
974 if (indices_len == 0) {
980 for (
int i = 0; i < indices_len; i++) {
988 size_t size =
sizeof(int) * indices_len;
995 for (
int i = 1; i < indices_len; i++) {
1026 # undef RNA_MOD_OBJECT_SET
1045 switch (fmd->
type) {
1057 rna_Modifier_dependency_update(bmain,
scene,
ptr);
1060 static void rna_MultiresModifier_level_range(
1069 static bool rna_MultiresModifier_external_get(
PointerRNA *
ptr)
1077 static void rna_MultiresModifier_filepath_get(
PointerRNA *
ptr,
char *value)
1082 BLI_strncpy(value, (external) ? external->filepath :
"",
sizeof(external->filepath));
1085 static void rna_MultiresModifier_filepath_set(
PointerRNA *
ptr,
const char *value)
1090 if (external && !
STREQ(external->filepath, value)) {
1091 BLI_strncpy(external->filepath, value,
sizeof(external->filepath));
1096 static int rna_MultiresModifier_filepath_length(
PointerRNA *
ptr)
1101 return strlen((external) ? external->filepath :
"");
1104 static int rna_ShrinkwrapModifier_face_cull_get(
PointerRNA *
ptr)
1110 static void rna_ShrinkwrapModifier_face_cull_set(
struct PointerRNA *
ptr,
int value)
1116 static bool rna_MeshDeformModifier_is_bound_get(
PointerRNA *
ptr)
1148 rna_Modifier_update(bmain,
scene,
ptr);
1151 static void rna_UVProjectModifier_num_projectors_set(
PointerRNA *
ptr,
int value)
1167 rna_Modifier_update(bmain,
scene,
ptr);
1170 static void rna_OceanModifier_ocean_chop_set(
PointerRNA *
ptr,
float value)
1177 if ((old_value == 0.0f && value > 0.0f) || (old_value > 0.0f && value == 0.0f)) {
1182 static bool rna_LaplacianDeformModifier_is_bind_get(
PointerRNA *
ptr)
1199 rna_Modifier_update(bmain,
scene,
ptr);
1212 rna_Modifier_update(bmain,
scene,
ptr);
1239 rna_Modifier_dependency_update(bmain,
scene,
ptr);
1260 rna_Modifier_dependency_update(bmain,
scene,
ptr);
1263 static void rna_DataTransferModifier_verts_data_types_set(
struct PointerRNA *
ptr,
int value)
1271 static void rna_DataTransferModifier_edges_data_types_set(
struct PointerRNA *
ptr,
int value)
1279 static void rna_DataTransferModifier_loops_data_types_set(
struct PointerRNA *
ptr,
int value)
1287 static void rna_DataTransferModifier_polys_data_types_set(
struct PointerRNA *
ptr,
int value)
1331 for (i = 0, dg = defbase->
first; dg; i++, dg = dg->
next) {
1333 tmp_item.identifier = tmp_item.name = dg->
name;
1359 for (i = 0; i < num_data; i++) {
1387 cdata = &me_eval->
vdata;
1391 cdata = &me_eval->
ldata;
1397 for (
int i = 0; i < 2; i++) {
1402 for (
int j = 0; j < num_data; j++) {
1403 tmp_item.value = idx++;
1448 for (i = 0, dg = defbase->
first; dg; i++, dg = dg->
next) {
1450 tmp_item.identifier = tmp_item.name = dg->
name;
1464 if (ob_dst && ob_dst->
data) {
1469 me_dst = ob_dst->
data;
1470 ldata = &me_dst->
ldata;
1475 for (i = 0; i < num_data; i++) {
1493 if (ob_dst && ob_dst->
data) {
1502 for (
int i = 0; i < 2; i++) {
1507 for (
int j = 0; j < num_data; j++) {
1508 tmp_item.value = idx++;
1532 bool support_advanced_mixing, support_threshold;
1541 dtmd->
data_types, &support_advanced_mixing, &support_threshold);
1543 if (support_threshold) {
1550 if (support_advanced_mixing) {
1570 rna_Modifier_update(bmain,
scene,
ptr);
1573 static void rna_CorrectiveSmoothModifier_rest_source_update(
Main *bmain,
1584 rna_CorrectiveSmoothModifier_update(bmain,
scene,
ptr);
1587 static bool rna_CorrectiveSmoothModifier_is_bind_get(
PointerRNA *
ptr)
1593 static bool rna_SurfaceDeformModifier_is_bound_get(
PointerRNA *
ptr)
1598 static bool rna_ParticleInstanceModifier_particle_system_poll(
PointerRNA *
ptr,
1627 static void rna_ParticleInstanceModifier_particle_system_set(
PointerRNA *
ptr,
1645 static void rna_Modifier_show_expanded_set(
PointerRNA *
ptr,
bool value)
1672 rna_Modifier_dependency_update(bmain,
scene,
ptr);
1700 prop,
"Quality",
"Accuracy of vertex positions, lower value is faster but less precise");
1751 prop,
"Render Levels",
"Number of subdivisions to perform when rendering");
1761 prop,
"Use Creases",
"Use mesh crease information to sharpen edges or corners");
1767 prop,
"Use Custom Normals",
"Interpolates existing custom normals to resulting mesh");
1774 "Use Limit Surface",
1775 "Place vertices at the surface that would be produced with infinite "
1776 "levels of subdivision (smoothest possible shape)");
1789 "Use the local coordinate system for the texture coordinates"},
1794 "Use the global coordinate system for the texture coordinates"},
1799 "Use the linked object's local coordinate system for the texture coordinates"},
1800 {
MOD_DISP_MAP_UV,
"UV", 0,
"UV",
"Use UV coordinates for the texture coordinates"},
1828 prop,
"Texture Coordinate Object",
"Object to set the texture coordinates");
1952 prop,
"Total Levels",
"Number of subdivisions for which displacements are stored");
1958 prop,
"External",
"Store multires displacements outside the .blend file, to save memory");
1962 "rna_MultiresModifier_filepath_get",
1963 "rna_MultiresModifier_filepath_length",
1964 "rna_MultiresModifier_filepath_set");
1971 prop,
"Optimal Display",
"Skip drawing/rendering of interior subdivided edges");
1977 prop,
"Use Creases",
"Use mesh crease information to sharpen edges or corners");
1983 prop,
"Use Custom Normals",
"Interpolates existing custom normals to resulting mesh");
1990 "Make Sculpt Mode tools deform the base mesh while previewing the "
1991 "displacement of higher subdivision levels");
2012 prop,
NULL,
"rna_LatticeModifier_object_set",
NULL,
"rna_Lattice_object_poll");
2021 "Name of Vertex Group which determines influence of modifier per point");
2064 prop,
NULL,
"rna_CurveModifier_object_set",
NULL,
"rna_Curve_object_poll");
2073 "Name of Vertex Group which determines influence of modifier per point");
2166 prop,
"Clip",
"Prevent vertices from going through the mirror during transform");
2182 prop,
"Mirror U",
"Mirror the U texture coordinate around the flip offset point");
2188 prop,
"Mirror V",
"Mirror the V texture coordinate around the flip offset point");
2194 prop,
"Mirror UDIM",
"Mirror the texture coordinate around each tile center");
2204 "Amount to offset mirrored UVs flipping point from the 0.5 on the U axis");
2214 "Amount to offset mirrored UVs flipping point from the 0.5 point on the V axis");
2236 prop,
"Merge Distance",
"Distance within which mirrored vertices are merged");
2244 prop,
"Bisect Distance",
"Distance from the bisect plane within which vertices are removed");
2265 "Dissolve geometry to form planar polygons"},
2301 prop,
"Iterations",
"Number of times reduce the geometry (unsubdivide only)");
2327 prop,
"Triangulate",
"Keep triangulated faces resulting from decimation (collapse only)");
2353 prop,
"All Boundaries",
"Dissolve all vertices in between face boundaries (planar only)");
2368 prop,
"Face Count",
"The current number of faces in the decimated mesh");
2426 "Either the starting frame (for positive speed) or ending frame (for negative speed.)");
2433 prop,
"Lifetime",
"Lifetime of the wave in frames, zero means infinite");
2440 prop,
"Damping Time",
"Number of frames in which the wave damps out after it dies");
2485 prop,
"Speed",
"Speed of the wave, towards the starting point when negative");
2507 "Distance between the top and the base of a wave, the higher the value, "
2508 "the more narrow the wave");
2531 prop,
NULL,
"rna_ArmatureModifier_object_set",
NULL,
"rna_Armature_object_poll");
2550 prop,
"Preserve Volume",
"Deform rotation interpolation with quaternions");
2558 "Use same input as previous modifier, and mix results using overall vgroup");
2566 "Name of Vertex Group which determines influence of modifier per point");
2587 srna,
"Hook Modifier",
"Hook modifier to modify the location of vertices");
2611 prop,
"Radius",
"If not zero, the distance from the hook where influence ends");
2622 prop,
"Hook Center",
"Center of the hook, used for falloff and display");
2629 prop,
"Matrix",
"Reverse the transformation between this object and its target");
2634 prop,
"Object",
"Parent Object for hook, also recalculates and clears offset");
2645 "Name of Parent Bone for hook (if applicable), also recalculates and clears offset");
2659 "Name of Vertex Group which determines influence of modifier per point");
2671 "Indices of vertices bound to the modifier. For bezier curves, "
2672 "handles count as additional vertices");
2674 func =
RNA_def_function(srna,
"vertex_indices_set",
"rna_HookModifier_vertex_indices_set");
2676 func,
"Validates and assigns the array of vertex indices bound to the modifier");
2679 func,
"indices", 1,
NULL, INT_MIN, INT_MAX,
"",
"Vertex Indices", 0, INT_MAX);
2724 "Use a mesh object as the operand for the Boolean operation"},
2729 "Use a collection of mesh objects as the operand for the Boolean operation"},
2738 "Keep the part of the mesh that is common between all operands"},
2744 "Combine meshes in a subtractive way"},
2753 "Simple solver for the best performance, without support for overlapping geometry"},
2768 prop,
NULL,
"rna_BooleanModifier_object_set",
NULL,
"rna_Mesh_object_poll");
2777 prop,
"Collection",
"Use mesh objects in this collection for Boolean operation");
2798 prop,
"Overlap Threshold",
"Threshold for checking overlapping geometry");
2824 "NO_CONNECT_REGIONS",
2826 "No Connect Regions",
2851 "Duplicate the object a certain number of times"},
2856 "Duplicate the object as many times as fits in a certain length"},
2857 {
MOD_ARR_FITCURVE,
"FIT_CURVE", 0,
"Fit Curve",
"Fit the duplicated objects to a curve"},
2891 prop,
NULL,
"rna_ArrayModifier_curve_ob_set",
NULL,
"rna_Curve_object_poll");
2904 prop,
"Constant Offset Displacement",
"Value for the distance between arrayed items");
2911 prop,
"Relative Offset",
"Add an offset relative to the object's bounding box");
2919 "Relative Offset Displacement",
2920 "The size of the geometry will determine the distance between arrayed items");
2932 prop,
"Merge End Vertices",
"Merge vertices in first and last duplicates");
2946 prop,
"Object Offset",
"Add another object's transformation to the total offset");
2954 "Use the location and rotation of another object to determine the distance and "
2955 "rotational change between arrayed items");
2963 prop,
NULL,
"rna_ArrayModifier_start_cap_set",
NULL,
"rna_Mesh_object_poll");
2970 prop,
NULL,
"rna_ArrayModifier_end_cap_set",
NULL,
"rna_Mesh_object_poll");
2998 srna,
"EdgeSplit Modifier",
"Edge splitting modifier to create sharp edges");
3033 "Use the texture's intensity value to displace in the X direction"},
3038 "Use the texture's intensity value to displace in the Y direction"},
3043 "Use the texture's intensity value to displace in the Z direction"},
3048 "Use the texture's intensity value to displace along the vertex normal"},
3053 "Use the texture's intensity value to displace along the (averaged) custom normal (falls "
3059 "Use the texture's RGB values to displace the mesh in the XYZ direction"},
3081 "Name of Vertex Group which determines influence of modifier per point");
3125 srna,
"UV Project Modifier",
"UV projection modifier to set UVs from a projector");
3147 "rna_UVProject_projectors_begin",
3148 "rna_iterator_array_next",
3149 "rna_iterator_array_end",
3150 "rna_iterator_array_get",
3163 prop,
"Aspect X",
"Horizontal aspect ratio (only used for camera projectors)");
3172 prop,
"Aspect Y",
"Vertical aspect ratio (only used for camera projectors)");
3197 prop,
"rna_UVProjector_object_get",
"rna_UVProjector_object_set",
NULL,
NULL);
3250 "Name of Vertex Group which determines influence of modifier per point");
3272 "Use the average of adjacent edge-vertices"},
3277 "Use the average of adjacent edge-vertices weighted by their length"},
3286 "Use base mesh vertex coords as the rest position"},
3291 "Use bind vertex coords for rest position"},
3295 srna =
RNA_def_struct(brna,
"CorrectiveSmoothModifier",
"Modifier");
3297 srna,
"Corrective Smooth Modifier",
"Correct distortion caused by deformation");
3345 "Name of Vertex Group which determines influence of modifier per point");
3358 prop,
"Only Smooth",
"Apply smoothing without reconstructing the surface");
3364 prop,
"Pin Boundaries",
"Excludes boundary vertices from being smoothed");
3375 srna =
RNA_def_struct(brna,
"LaplacianSmoothModifier",
"Modifier");
3432 "Name of Vertex Group which determines influence of modifier per point");
3473 "Control object: if available, its location determines the center of the effect");
3501 prop,
"Size from Radius",
"Use radius as size of projection shape (0 = auto)");
3507 prop,
"Use Transform",
"Use object transform to control projection shape");
3523 "Only deform vertices within this distance from the center of the effect "
3524 "(leave as 0 for infinite.)");
3548 {0,
"VOLUME", 0,
"Volume",
"Bind to volume inside cage mesh"},
3549 {1,
"SURFACE", 0,
"Surface",
"Bind to surface of cage mesh"},
3556 srna,
"MeshDeform Modifier",
"Mesh deformation modifier to deform with other meshes");
3565 prop,
NULL,
"rna_MeshDeformModifier_object_set",
NULL,
"rna_Mesh_object_poll");
3595 "Recompute binding dynamically on top of other deformers "
3596 "(slower and more memory consuming)");
3614 srna =
RNA_def_struct(brna,
"ParticleSystemModifier",
"Modifier");
3639 "Use offset from the particle object in the instance object"},
3644 "Use world space offset in the instance object"},
3648 srna =
RNA_def_struct(brna,
"ParticleInstanceModifier",
"Modifier");
3671 "rna_ParticleInstanceModifier_particle_system_get",
3672 "rna_ParticleInstanceModifier_particle_system_set",
3674 "rna_ParticleInstanceModifier_particle_system_poll");
3765 "Relative offset of particles to use for instancing, to avoid overlap "
3766 "of multiple instances");
3777 prop,
"Value Layer Name",
"Custom data layer name for the randomized value");
3790 srna,
"Explode Modifier",
"Explosion effect modifier based on a particle system");
3798 "rna_ExplodeModifier_vgroup_get",
3799 "rna_ExplodeModifier_vgroup_length",
3800 "rna_ExplodeModifier_vgroup_set");
3902 {0,
"NONE", 0,
"None",
""},
3974 "Collision Modifier",
3975 "Collision modifier defining modifier stack position used for collision");
3996 {0,
"NONE", 0,
"None",
"Bevel the entire mesh by a constant amount"},
4001 "Only bevel edges with sharp enough angles between faces"},
4006 "Use bevel weights to determine how much bevel is applied in edge mode"},
4011 "Use vertex group weights to select whether vertex or edge is beveled"},
4022 "Amount is perpendicular distance from original edge to bevel face"},
4027 "Amount is percent of adjacent edge length"},
4032 "Amount is absolute distance along adjacent edge"},
4041 "The profile can be a concave or convex curve"},
4046 "The profile can be any arbitrary path between its endpoints"},
4057 "Set face strength on new and affected faces only"},
4081 "A cut-off at the end of each profile before the intersection"},
4093 srna,
"Bevel Modifier",
"Bevel modifier to make edges and vertices more rounded");
4165 prop,
"Profile Type",
"The type of shape used to rebuild a beveled section");
4178 prop,
"Material Index",
"Material index of generated faces, -1 for automatic");
4205 prop,
"Face Strength",
"Whether to set face strength, and which faces to set it on");
4237 prop,
"Vertex Mesh Method",
"The method to use to create the mesh at intersections");
4250 "Shrinkwrap Modifier",
4251 "Shrink wrapping modifier to shrink wrap and object to a target");
4267 prop,
"Snap Mode",
"Select how vertices are constrained to the target surface");
4274 prop,
"rna_ShrinkwrapModifier_face_cull_get",
"rna_ShrinkwrapModifier_face_cull_set",
NULL);
4278 "Stop vertices from projecting to a face on the target when facing towards/away");
4284 prop,
NULL,
"rna_ShrinkwrapModifier_target_set",
NULL,
"rna_Mesh_object_poll");
4292 prop,
NULL,
"rna_ShrinkwrapModifier_auxTarget_set",
NULL,
"rna_Mesh_object_poll");
4314 prop,
"Project Limit",
"Limit the distance used for projection (zero disables)");
4338 "Subdivision Levels",
4339 "Number of subdivisions that must be performed before extracting vertices' "
4340 "positions and normals");
4346 prop,
"Negative",
"Allow vertices to move in the negative direction of axis");
4352 prop,
"Positive",
"Allow vertices to move in the positive direction of axis");
4358 prop,
"Invert Cull",
"When projecting in the negative direction invert the face cull mode");
4396 prop,
NULL,
"rna_MaskModifier_ob_arm_set",
NULL,
"rna_Armature_object_poll");
4414 prop,
"Smooth",
"Use vertex group weights to cut faces at the weight contour");
4437 "Rotate around the Z axis of the modifier space"},
4442 "Bend the mesh over the Z axis of the modifier space"},
4447 "Linearly scale along Z axis of the modifier space"},
4452 "Stretch the object along the Z axis of the modifier space"},
4459 "SimpleDeform Modifier",
4460 "Simple deformation modifier to apply effects such as twisting and bending");
4540 "Surface modifier defining modifier stack position used for surface fields");
4552 "Output a solidified version of a mesh by simple extrusion"},
4557 "Output a manifold mesh even if the base mesh is non-manifold, "
4558 "where edges have 3 or more connecting faces. "
4559 "This method is slower"},
4568 "Most basic thickness calculation"},
4573 "Even thickness calculation which takes the angle between faces into account"},
4578 "Thickness calculation using constraints, most advanced"},
4588 "Round open perimeter shape"},
4593 "Flat open perimeter shape"},
4602 srna,
"Solidify Modifier",
"Create a solid skin, compensating for sharp angles");
4638 prop,
"Vertex Group Factor",
"Thickness factor to use for zero vertex group influence");
4679 prop,
"Rim Material Offset",
"Offset material index of generated rim faces");
4691 "Shell Vertex Group",
4692 "Vertex group that the generated shell geometry will be weighted to");
4700 "Vertex group that the generated rim geometry will be weighted to");
4708 "Create edge loops between the inner and outer surfaces on face edges "
4709 "(slow, disable when not needed)");
4717 "Maintain thickness by adjusting for sharp corners (slow, disable when not needed)");
4724 "High Quality Normals",
4725 "Calculate normals which result in more even thickness (slow, disable when not needed)");
4737 "Make faces use the minimal vertex weight assigned to their vertices"
4738 "(ensures new faces remain parallel to their original ones, slow, "
4739 "disable when not needed)");
4769 prop,
"Merge Threshold",
"Distance within which degenerated geometry is merged");
4850 prop,
"Calculate Order",
"Calculate the order of edges (needed for meshes, but not curves)");
4856 prop,
"Object Screw",
"Use the distance between the objects to make a screw");
4863 prop,
"Merge Vertices",
"Merge adjacent vertices (screw offset must be zero)");
4869 prop,
"Smooth Shading",
"Output faces with smooth shading rather than flat shaded");
4875 prop,
"Stretch U",
"Stretch the U coordinates between 0 and 1 when UV's are present");
4881 prop,
"Stretch V",
"Stretch the V coordinates between 0 and 1 when UV's are present");
4888 prop,
"Object Angle",
"Use the angle between the objects rather than the fixed angle");
4983 const char *mask_flags,
4984 const int invert_vgroup_mask_flag,
4985 const char *mask_vgroup_setter,
4986 const char *mask_uvlayer_setter)
4995 "Use local generated coordinates of another object"},
5020 prop,
"Influence",
"Global influence of current modifications on vgroup");
5047 "Texture Coordinates",
5048 "Which texture coordinates "
5049 "to use for mapping");
5061 "Texture Coordinate Object",
5062 "Which object to take texture "
5063 "coordinates from");
5070 prop,
"Texture Coordinate Bone",
"Which bone to take texture coordinates from");
5090 "Map all values below 0.5 to 0.0, and all others to 1.0"},
5097 srna =
RNA_def_struct(brna,
"VertexWeightEditModifier",
"Modifier");
5099 srna,
"WeightVG Edit Modifier",
"Edit the weights of vertices in a group");
5127 "Normalize Weights",
5128 "Normalize the resulting weights (otherwise they are only clamped within 0.0 to 1.0 range)");
5140 "Add vertices with weight over threshold "
5148 "Remove vertices with weight below threshold "
5157 "Default weight a vertex will have if "
5158 "it is not in the vgroup");
5167 "Lower bound for a vertex's weight "
5168 "to be added to the vgroup");
5177 "Upper bound for a vertex's weight "
5178 "to be removed from the vgroup");
5188 "rna_WeightVGEditModifier_mask_defgrp_name_set",
5189 "rna_WeightVGEditModifier_mask_tex_uvlayer_name_set");
5195 {
MOD_WVG_MIX_SET,
"SET", 0,
"Replace",
"Replace VGroup A's weights by VGroup B's ones"},
5196 {
MOD_WVG_MIX_ADD,
"ADD", 0,
"Add",
"Add VGroup B's weights to VGroup A's ones"},
5197 {
MOD_WVG_MIX_SUB,
"SUB", 0,
"Subtract",
"Subtract VGroup B's weights from VGroup A's ones"},
5198 {
MOD_WVG_MIX_MUL,
"MUL", 0,
"Multiply",
"Multiply VGroup A's weights by VGroup B's ones"},
5199 {
MOD_WVG_MIX_DIV,
"DIV", 0,
"Divide",
"Divide VGroup A's weights by VGroup B's ones"},
5204 "Difference between VGroup A's and VGroup B's weights"},
5205 {
MOD_WVG_MIX_AVG,
"AVG", 0,
"Average",
"Average value of VGroup A's and VGroup B's weights"},
5206 {
MOD_WVG_MIX_MIN,
"MIN", 0,
"Minimum",
"Minimum of VGroup A's and VGroup B's weights"},
5207 {
MOD_WVG_MIX_MAX,
"MAX", 0,
"Maximum",
"Maximum of VGroup A's and VGroup B's weights"},
5212 {
MOD_WVG_SET_ALL,
"ALL", 0,
"All",
"Affect all vertices (might add some to VGroup A)"},
5213 {
MOD_WVG_SET_A,
"A", 0,
"VGroup A",
"Affect vertices in VGroup A"},
5218 "Affect vertices in VGroup B (might add some to VGroup A)"},
5223 "Affect vertices in at least one of both VGroups (might add some to VGroup A)"},
5224 {
MOD_WVG_SET_AND,
"AND", 0,
"VGroup A and B",
"Affect vertices in both groups"},
5231 srna =
RNA_def_struct(brna,
"VertexWeightMixModifier",
"Modifier");
5265 "Default weight a vertex will have if "
5266 "it is not in the first A vgroup");
5274 "Default weight a vertex will have if "
5275 "it is not in the second B vgroup");
5282 "How weights from vgroup B affect weights "
5295 "Normalize Weights",
5296 "Normalize the resulting weights (otherwise they are only clamped within 0.0 to 1.0 range)");
5306 "rna_WeightVGMixModifier_mask_defgrp_name_set",
5307 "rna_WeightVGMixModifier_mask_tex_uvlayer_name_set");
5317 "Use distance between affected and target objects"},
5322 "Use distance between affected object's vertices and target "
5323 "object, or target object's geometry"},
5346 "Map all values below 0.5 to 0.0, and all others to 1.0"},
5353 srna =
RNA_def_struct(brna,
"VertexWeightProximityModifier",
"Modifier");
5355 "WeightVG Proximity Modifier",
5356 "Set the weights of vertices in a group from a target object's "
5381 "Proximity Geometry",
5382 "Use the shortest computed distance to target object's geometry "
5421 "Normalize Weights",
5422 "Normalize the resulting weights (otherwise they are only clamped within 0.0 to 1.0 range)");
5437 "rna_WeightVGProximityModifier_mask_defgrp_name_set",
5438 "rna_WeightVGProximityModifier_mask_tex_uvlayer_name_set");
5444 {
MOD_REMESH_CENTROID,
"BLOCKS", 0,
"Blocks",
"Output a blocky surface with no smoothing"},
5449 "Output a smooth surface with no sharp-features detection"},
5454 "Output a surface that reproduces sharp edges and corners from the input mesh"},
5459 "Output a mesh corresponding to the volume of the original mesh"},
5470 "Generate a new surface with regular topology that follows the shape of the input mesh");
5485 prop,
"Scale",
"The ratio of the largest dimension of the model over the size of the grid");
5494 "If removing disconnected pieces, minimum size of components to preserve as a ratio "
5495 "of the number of polygons in the largest component");
5503 prop,
"Octree Depth",
"Resolution of the octree; higher values give finer details");
5512 "Tolerance for outliers; lower values filter noise while higher values will reproduce "
5513 "edges closer to the input");
5523 "Size of the voxel in object space used for volume evaluation. Lower "
5524 "values preserve finer details");
5533 "Reduces the final face count by simplifying geometry where detail is not needed, "
5534 "generating triangles. A value greater than 0 disables Fix Poles");
5545 prop,
"Smooth Shading",
"Output faces with smooth shading rather than flat shaded");
5561 "Generate ocean surface geometry at the specified resolution"},
5566 "Displace existing geometry according to simulation"},
5572 "Leaves geometry unchanged, but still runs simulation (to be used from texture)"},
5582 "Use for turbulent seas with foam"},
5584 "PIERSON_MOSKOWITZ",
5586 "Established Ocean",
5587 "Use for a large area, established ocean (Pierson-Moskowitz method)"},
5591 "Established Ocean (Sharp Peaks)",
5592 "Use for sharp peaks ('JONSWAP', Pierson-Moskowitz method) with peak sharpening"},
5594 "TEXEL_MARSEN_ARSLOE",
5597 "Use for shallow water ('JONSWAP', 'TMA' - Texel-Marsen-Arsloe method)"},
5617 prop,
"Size",
"Surface scale factor (does not affect the height of the waves)");
5643 "Output normals for bump mapping - disabling can speed up performance if its not needed");
5656 prop,
"Generate Spray Map",
"Generate map of spray direction as a vertex color channel");
5669 prop,
"Spray Map",
"Name of the vertex color layer used for the spray direction map");
5678 prop,
"Render Resolution",
"Resolution of the generated surface for rendering and baking");
5687 prop,
"Viewport Resolution",
"Viewport resolution of the generated surface");
5697 "Size of the simulation domain (in meters), and of the generated geometry (in BU)");
5710 prop,
"Damping",
"Damp reflected waves going in opposite direction to the wind");
5731 prop,
"Wave Direction",
"Main direction of the waves when they are (partially) aligned");
5755 prop,
"Foam Fade",
"How much foam accumulates over time (baked ocean only)");
5762 prop,
"Foam Layer Name",
"Name of the vertex color layer used for foam");
5770 "Choppiness of the wave's crest (adds some horizontal component to the displacement)");
5795 "This is the distance from a lee shore, "
5796 "called the fetch, or the distance over which the wind blows with constant velocity. "
5797 "Used by 'JONSWAP' and 'TMA' models");
5829 prop,
"Ocean is Cached",
"Whether the ocean is using cached data or simulating");
5860 prop,
"Smooth Shading",
"Output faces with smooth shading rather than flat shaded");
5911 "Triangulate only polygons with vertex count greater than or equal to this number");
5919 "Try to preserve custom normals.\n"
5920 "Warning: Depending on chosen triangulation method, "
5921 "shading may not be fully preserved, \"Fixed\" method usually gives the best result here");
5940 "Replace vertex coords with cached values"},
5945 "Integrate deformation from this modifiers input with the mesh-cache coords (useful for "
5964 "Control playback using a frame-number "
5965 "(ignoring time FPS and start frame from the file)"},
5973 "Control playback using a value between 0 and 1"},
6038 "Name of the Vertex Group which determines the influence of the modifier per point");
6110 srna =
RNA_def_struct(brna,
"MeshSequenceCacheModifier",
"Modifier");
6128 "Path to the object in the Alembic archive used to lookup geometric data");
6149 prop,
"Vertex Interpolation",
"Allow interpolation of vertex positions");
6158 "Multiplier used to control the magnitude of the velocity vectors for time effects");
6169 srna =
RNA_def_struct(brna,
"LaplacianDeformModifier",
"Modifier");
6179 prop,
"Anchor Weights",
"Name of Vertex Group which determines Anchors");
6181 prop,
NULL,
NULL,
"rna_LaplacianDeformModifier_anchor_grp_name_set");
6237 prop,
"Vertex Group",
"Vertex group name for selecting the affected areas");
6249 prop,
"Only Loose Edges",
"Collapse edges without faces, cloth sewing edges");
6279 prop,
"Vertex Group Factor",
"Thickness factor to use for zero vertex group influence");
6312 prop,
"Offset Relative",
"Crease hub edges for improved subdivision surface");
6331 prop,
"Vertex Group",
"Vertex group name for selecting the affected areas");
6353 "Transfer active or all vertex groups"},
6355 {
DT_TYPE_SHAPEKEY,
"SHAPEKEYS", 0,
"Shapekey(s)",
"Transfer active or all shape keys"},
6360 {
DT_TYPE_SKIN,
"SKIN", 0,
"Skin Weight",
"Transfer skin weights"},
6367 "Transfer color attributes"},
6373 {
DT_TYPE_SEAM,
"SEAM", 0,
"UV Seam",
"Transfer UV seam mark"},
6374 {
DT_TYPE_CREASE,
"CREASE", 0,
"Crease",
"Transfer subdivision crease values"},
6381 {
DT_TYPE_LNOR,
"CUSTOM_NORMAL", 0,
"Custom Normals",
"Transfer custom normals"},
6386 "Transfer color attributes"},
6387 {
DT_TYPE_UV,
"UV", 0,
"UVs",
"Transfer UV layers"},
6397 "Transfer Freestyle face mark"},
6403 srna,
"Data Transfer Modifier",
"Modifier transferring some data from a source mesh");
6414 prop,
NULL,
"rna_DataTransferModifier_ob_source_set",
NULL,
"rna_Mesh_object_poll");
6418 "use_object_transform",
6421 "Evaluate source and destination meshes in global space");
6427 srna,
"use_vert_data",
false,
"Vertex Data",
"Enable vertex data transfer");
6431 prop =
RNA_def_boolean(srna,
"use_edge_data",
false,
"Edge Data",
"Enable edge data transfer");
6436 srna,
"use_loop_data",
false,
"Face Corner Data",
"Enable face corner data transfer");
6440 prop =
RNA_def_boolean(srna,
"use_poly_data",
false,
"Face Data",
"Enable face data transfer");
6447 DT_layer_vert_items,
6449 "Vertex Data Types",
6450 "Which vertex data layers to transfer");
6458 DT_layer_edge_items,
6461 "Which edge data layers to transfer");
6469 DT_layer_loop_items,
6471 "Face Corner Data Types",
6472 "Which face corner data layers to transfer");
6480 DT_layer_poly_items,
6483 "Which poly data layers to transfer");
6495 "Method used to map source vertices to destination ones");
6504 "Method used to map source edges to destination ones");
6512 "Face Corner Mapping",
6513 "Method used to map source faces' corners to destination ones");
6522 "Method used to map source faces to destination ones");
6531 "Only Neighbor Geometry",
6532 "Source elements must be closer than given distance from destination one");
6543 "Maximum allowed distance between source and destination element, for non-topology mappings",
6557 "'Width' of rays (especially useful when raycasting against vertices or edges)",
6566 "islands_precision",
6570 "Islands Precision",
6571 "Factor controlling precision of islands handling "
6572 "(typically, 0.1 should be enough, higher values can make things really slow)",
6580 "layers_vgroup_select_src",
6583 "Source Layers Selection",
6584 "Which layers to transfer, in case of multi-layers types");
6587 prop,
NULL,
NULL,
"rna_DataTransferModifier_layers_select_src_itemf");
6592 "layers_shapekey_select_src",
6595 "Source Layers Selection",
6596 "Which layers to transfer, in case of multi-layers types");
6599 prop,
NULL,
NULL,
"rna_DataTransferModifier_layers_select_src_itemf");
6604 "layers_vcol_vert_select_src",
6607 "Source Layers Selection",
6608 "Which layers to transfer, in case of multi-layers types");
6611 prop,
NULL,
NULL,
"rna_DataTransferModifier_layers_select_src_itemf");
6615 "layers_vcol_loop_select_src",
6618 "Source Layers Selection",
6619 "Which layers to transfer, in case of multi-layers types");
6622 prop,
NULL,
NULL,
"rna_DataTransferModifier_layers_select_src_itemf");
6626 "layers_uv_select_src",
6629 "Source Layers Selection",
6630 "Which layers to transfer, in case of multi-layers types");
6633 prop,
NULL,
NULL,
"rna_DataTransferModifier_layers_select_src_itemf");
6637 "layers_vgroup_select_dst",
6640 "Destination Layers Matching",
6641 "How to match source and destination layers");
6644 prop,
NULL,
NULL,
"rna_DataTransferModifier_layers_select_dst_itemf");
6649 "layers_shapekey_select_dst",
6652 "Destination Layers Matching",
6653 "How to match source and destination layers");
6656 prop,
NULL,
NULL,
"rna_DataTransferModifier_layers_select_dst_itemf");
6661 "layers_vcol_vert_select_dst",
6664 "Destination Layers Matching",
6665 "How to match source and destination layers");
6668 prop,
NULL,
NULL,
"rna_DataTransferModifier_layers_select_dst_itemf");
6672 "layers_vcol_loop_select_dst",
6675 "Destination Layers Matching",
6676 "How to match source and destination layers");
6679 prop,
NULL,
NULL,
"rna_DataTransferModifier_layers_select_dst_itemf");
6683 "layers_uv_select_dst",
6686 "Destination Layers Matching",
6687 "How to match source and destination layers");
6690 prop,
NULL,
NULL,
"rna_DataTransferModifier_layers_select_dst_itemf");
6699 "How to affect destination elements with source values");
6710 "Factor to use when applying data to destination (exact behavior depends on mix mode, "
6711 "multiplied with weights from vertex group when defined)",
6721 "Vertex group name for selecting the affected areas");
6727 srna,
"invert_vertex_group",
false,
"Invert",
"Invert vertex group influence");
6744 "From an ellipsoid (shape defined by the boundbox's dimensions, target is optional)"},
6749 "Normals 'track' (point to) the target object"},
6761 "Copy product of old and new normals (not cross product)"},
6767 srna,
"Normal Edit Modifier",
"Modifier affecting/generating custom normals");
6785 "Offset from object's center",
6799 prop,
"Mix Factor",
"How much of generated normals to mix with exiting ones");
6811 "Lock Polygon Normals",
6812 "Do not flip polygons when their normals are not consistent "
6813 "with their newly computed custom vertex normals");
6819 prop,
"Vertex Group",
"Vertex group name for selecting/weighting the affected areas");
6839 "Use same direction for all normals, from origin to target's center "
6840 "(Directional mode only)");
6851 srna =
RNA_def_struct(brna,
"SurfaceDeformModifier",
"Modifier");
6861 prop,
NULL,
"rna_SurfaceDeformModifier_target_set",
NULL,
"rna_Mesh_object_poll");
6868 prop,
"Interpolation Falloff",
"Controls how much nearby polygons influence deformation");
6879 prop,
"Vertex Group",
"Vertex group name for selecting/weighting the affected areas");
6894 "Only record binding data for vertices matching the vertex group at the time of bind");
6916 "Generate face area weighted normals"},
6921 "Generate corner angle weighted normals"},
6923 "FACE_AREA_WITH_ANGLE",
6925 "Face Area And Angle",
6926 "Generated normals weighted by both face area and angle"},
6930 srna =
RNA_def_struct(brna,
"WeightedNormalModifier",
"Modifier");
6942 "Corrective factor applied to faces' weights, 50 is neutral, "
6943 "lower values increase weight of weak faces, "
6944 "higher values increase weight of strong faces");
6956 prop,
"Threshold",
"Threshold value for different weights to be considered equal");
6963 "Keep sharp edges as computed for default split normals, "
6964 "instead of setting a single weighted normal for each vertex");
6970 prop,
"Vertex Group",
"Vertex group name for modifying the selected areas");
7019 "Desired number of voxels along one axis"},
7024 "Desired voxel side length"},
7043 prop,
"Resolution Mode",
"Mode for how the desired voxel size is specified");
7048 prop,
"Voxel Size",
"Smaller values result in a higher resolution output");
7061 prop,
"Fill Volume",
"Initialize the density grid in every cell inside the enclosed volume");
7089 "Use the local coordinate system for the texture coordinates"},
7094 "Use the global coordinate system for the texture coordinates"},
7099 "Use the linked object's local coordinate system for the texture coordinates"},
7106 srna =
RNA_def_struct(brna,
"VolumeDisplaceModifier",
"Modifier");
7135 prop,
"Texture Mid Level",
"Subtracted from the texture color to get a displacement vector");
7143 "Texture Sample Radius",
7144 "Smaller values result in better performance but might cut off the volume");
7162 "Use resolution of the volume grid"},
7167 "Desired number of voxels along one axis"},
7172 "Desired voxel side length"},
7190 prop,
"Threshold",
"Voxels with a larger value are inside the generated mesh");
7199 "Reduces the final face count by simplifying geometry where detail is not needed");
7206 prop,
"Smooth Shading",
"Output faces with smooth shading rather than flat shaded");
7211 prop,
"Grid Name",
"Grid in the volume object that is converted to a mesh");
7217 prop,
"Resolution Mode",
"Mode for how the desired voxel size is specified");
7222 prop,
"Voxel Size",
"Smaller values result in a higher resolution output");
7292 prop,
"rna_Modifier_show_expanded_get",
"rna_Modifier_show_expanded_set");
7312 "Override Modifier",
7313 "In a local override object, whether this modifier comes from the linked "
7314 "reference object, or is local to the override");
7323 "Apply this and all preceding deformation modifiers on splines' points rather than "
7324 "on filled curve/surface");
void BKE_animdata_fix_paths_rename_all(struct ID *ref_id, const char *prefix, const char *oldName, const char *newName)
Generic geometry attributes built on CustomData.
struct Depsgraph * CTX_data_ensure_evaluated_depsgraph(const bContext *C)
struct Object * CTX_data_active_object(const bContext *C)
void BKE_curveprofile_init(struct CurveProfile *profile, short segments_len)
const char * CustomData_get_layer_name(const struct CustomData *data, int type, int n)
int CustomData_number_of_layers(const struct CustomData *data, int type)
const CustomData_MeshMasks CD_MASK_BAREMESH
bool CustomData_external_test(struct CustomData *data, int type)
@ CDT_MIX_REPLACE_BELOW_THRESHOLD
@ CDT_MIX_REPLACE_ABOVE_THRESHOLD
@ DT_MULTILAYER_INDEX_MDEFORMVERT
@ DT_MULTILAYER_INDEX_VCOL_VERT
@ DT_MULTILAYER_INDEX_VCOL_LOOP
@ DT_LAYERS_VGROUP_SRC_BONE_SELECT
@ DT_LAYERS_VGROUP_SRC_BONE_DEFORM
int BKE_object_data_transfer_get_dttypes_item_types(int dtdata_types)
bool BKE_object_data_transfer_get_dttypes_capacity(int dtdata_types, bool *r_advanced_mixing, bool *r_threshold)
void BKE_fluid_modifier_create_type_data(struct FluidModifierData *fmd)
void BKE_fluid_modifier_free(struct FluidModifierData *fmd)
void id_lib_extern(struct ID *id)
@ MREMAP_MODE_VERT_EDGE_NEAREST
@ MREMAP_MODE_LOOP_POLYINTERP_NEAREST
@ MREMAP_MODE_VERT_POLYINTERP_VNORPROJ
@ 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_VERT_POLY_NEAREST
@ MREMAP_MODE_POLY_NEAREST
@ MREMAP_MODE_VERT_POLYINTERP_NEAREST
struct Mesh * mesh_get_eval_final(struct Depsgraph *depsgraph, const struct Scene *scene, struct Object *ob, const struct CustomData_MeshMasks *dataMask)
const ModifierTypeInfo * BKE_modifier_get_info(ModifierType type)
bool BKE_modifier_unique_name(struct ListBase *modifiers, struct ModifierData *md)
void multires_force_external_reload(struct Object *object)
General operations, lookup, etc. for blender objects.
void BKE_object_modifier_hook_reset(struct Object *ob, struct HookModifierData *hmd)
struct Object * BKE_object_pose_armature_get(struct Object *ob)
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 struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE int max_ii(int a, int b)
int BLI_sortutil_cmp_int(const void *a_, const void *b_)
size_t size_t char * BLI_sprintfN(const char *__restrict format,...) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1) ATTR_MALLOC ATTR_PRINTF_FORMAT(1
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
size_t size_t char size_t BLI_str_escape(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL()
char * BLI_strncpy_utf8(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL(1
#define UNUSED_VARS_NDEBUG(...)
#define SET_FLAG_FROM_TEST(value, test, flag)
#define BLT_I18NCONTEXT_ID_CURVE_LEGACY
#define BLT_I18NCONTEXT_ID_PARTICLESETTINGS
struct Depsgraph Depsgraph
void DEG_id_tag_update(struct ID *id, int flag)
void DEG_relations_tag_update(struct Main *bmain)
struct Object * DEG_get_evaluated_object(const struct Depsgraph *depsgraph, struct Object *object)
struct Scene * DEG_get_evaluated_scene(const struct Depsgraph *graph)
@ IDOVERRIDE_LIBRARY_OP_REPLACE
#define MAX_CUSTOMDATA_LAYER_NAME
#define CD_MASK_COLOR_ALL
@ eModifierFlag_OverrideLibrary_Local
@ MOD_REMESH_SMOOTH_SHADING
@ MOD_OCEAN_GEOM_GENERATE
@ MOD_OCEAN_GEOM_SIM_ONLY
@ MOD_OCEAN_GEOM_DISPLACE
@ eWarp_Falloff_InvSquare
@ MOD_BEVEL_PROFILE_CUSTOM
@ MOD_BEVEL_PROFILE_SUPERELLIPSE
@ eMultiresModifierFlag_UseSculptBaseMesh
@ eMultiresModifierFlag_UseCrease
@ eMultiresModifierFlag_UseCustomNormals
@ eMultiresModifierFlag_ControlEdges
@ eModifierMode_ApplyOnSpline
@ MOD_LAPLACIANDEFORM_BIND
@ MOD_LAPLACIANDEFORM_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_WVG_EDIT_INVERT_VGROUP_MASK
@ MOD_WVG_EDIT_WEIGHTS_NORMALIZE
@ MOD_SOLIDIFY_MODE_NONMANIFOLD
@ MOD_SOLIDIFY_MODE_EXTRUDE
@ MOD_LATTICE_INVERT_VGROUP
@ eBooleanModifierSolver_Exact
@ eBooleanModifierSolver_Fast
@ MOD_WVG_MASK_TEX_USE_SAT
@ MOD_WVG_MASK_TEX_USE_BLUE
@ MOD_WVG_MASK_TEX_USE_INT
@ MOD_WVG_MASK_TEX_USE_ALPHA
@ MOD_WVG_MASK_TEX_USE_RED
@ MOD_WVG_MASK_TEX_USE_HUE
@ MOD_WVG_MASK_TEX_USE_VAL
@ MOD_WVG_MASK_TEX_USE_GREEN
@ MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_FLAT
@ MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_ROUND
@ MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_NONE
@ MOD_CORRECTIVESMOOTH_RESTSOURCE_ORCO
@ MOD_CORRECTIVESMOOTH_RESTSOURCE_BIND
@ eParticleInstanceFlag_Parents
@ eParticleInstanceFlag_Alive
@ eParticleInstanceFlag_Dead
@ eParticleInstanceFlag_Children
@ eParticleInstanceFlag_Unborn
@ eParticleInstanceFlag_Path
@ eParticleInstanceFlag_UseSize
@ eParticleInstanceFlag_KeepShape
@ eBooleanModifierFlag_Collection
@ eBooleanModifierFlag_Self
@ eBooleanModifierFlag_HoleTolerant
@ eBooleanModifierFlag_Object
@ SUBSURF_TYPE_CATMULL_CLARK
@ MOD_REMESH_SHARP_FEATURES
@ MOD_VOLUME_DISPLACE_MAP_GLOBAL
@ MOD_VOLUME_DISPLACE_MAP_LOCAL
@ MOD_VOLUME_DISPLACE_MAP_OBJECT
@ MOD_LAPLACIANSMOOTH_PRESERVE_VOLUME
@ MOD_LAPLACIANSMOOTH_NORMALIZED
@ MOD_LAPLACIANSMOOTH_INVERT_VGROUP
@ MOD_TRIANGULATE_NGON_BEAUTY
@ MOD_TRIANGULATE_NGON_EARCLIP
@ MOD_DECIM_FLAG_INVERT_VGROUP
@ MOD_DECIM_FLAG_SYMMETRY
@ MOD_DECIM_FLAG_TRIANGULATE
@ MOD_DECIM_FLAG_ALL_BOUNDARY_VERTS
#define MOD_SHRINKWRAP_CULL_TARGET_MASK
@ MOD_OCEAN_SPECTRUM_TEXEL_MARSEN_ARSLOE
@ MOD_OCEAN_SPECTRUM_JONSWAP
@ MOD_OCEAN_SPECTRUM_PHILLIPS
@ MOD_OCEAN_SPECTRUM_PIERSON_MOSKOWITZ
@ MOD_SHRINKWRAP_PROJECT_ALLOW_POS_DIR
@ MOD_SHRINKWRAP_CULL_TARGET_FRONTFACE
@ MOD_SHRINKWRAP_PROJECT_ALLOW_NEG_DIR
@ MOD_SHRINKWRAP_CULL_TARGET_BACKFACE
@ MOD_SHRINKWRAP_INVERT_VGROUP
@ MOD_SHRINKWRAP_INVERT_CULL_TARGET
@ MOD_BEVEL_HARDEN_NORMALS
@ MOD_BEVEL_INVERT_VGROUP
@ SUBSURF_BOUNDARY_SMOOTH_ALL
@ SUBSURF_BOUNDARY_SMOOTH_PRESERVE_CORNERS
@ MOD_OCEAN_GENERATE_NORMALS
@ MOD_OCEAN_GENERATE_FOAM
@ MOD_OCEAN_GENERATE_SPRAY
@ MOD_CORRECTIVESMOOTH_SMOOTH_LENGTH_WEIGHT
@ MOD_CORRECTIVESMOOTH_SMOOTH_SIMPLE
@ 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_DEFORM_INTEGRATE
@ MOD_MESHCACHE_DEFORM_OVERWRITE
@ MOD_BUILD_FLAG_RANDOMIZE
@ MOD_CAST_USE_OB_TRANSFORM
@ MOD_CAST_SIZE_FROM_RADIUS
@ MOD_CORRECTIVESMOOTH_ONLY_SMOOTH
@ MOD_CORRECTIVESMOOTH_PIN_BOUNDARY
@ MOD_CORRECTIVESMOOTH_INVERT_VGROUP
@ MOD_SMOOTH_INVERT_VGROUP
@ MOD_WVG_PROXIMITY_OBJECT
@ MOD_WVG_PROXIMITY_GEOMETRY
@ MOD_NORMALEDIT_NO_POLYNORS_FIX
@ MOD_NORMALEDIT_INVERT_VGROUP
@ MOD_NORMALEDIT_USE_DIRECTION_PARALLEL
@ MOD_SHRINKWRAP_TARGET_PROJECT
@ MOD_SHRINKWRAP_NEAREST_VERTEX
@ MOD_SHRINKWRAP_NEAREST_SURFACE
@ MOD_SCREW_SMOOTH_SHADING
@ MOD_SCREW_OBJECT_OFFSET
@ MOD_SIMPLEDEFORM_MODE_TAPER
@ MOD_SIMPLEDEFORM_MODE_STRETCH
@ MOD_SIMPLEDEFORM_MODE_BEND
@ MOD_SIMPLEDEFORM_MODE_TWIST
@ MOD_SHRINKWRAP_ON_SURFACE
@ MOD_SHRINKWRAP_ABOVE_SURFACE
@ MOD_SHRINKWRAP_OUTSIDE_SURFACE
@ MOD_TRIANGULATE_KEEP_CUSTOMLOOP_NORMALS
@ MOD_NORMALEDIT_MIX_COPY
@ MOD_SKIN_SMOOTH_SHADING
@ eModifierType_MeshToVolume
@ eModifierType_ParticleSystem
@ eModifierType_MeshDeform
@ eModifierType_LaplacianSmooth
@ eModifierType_WeightVGProximity
@ eModifierType_SimpleDeform
@ eModifierType_NormalEdit
@ eModifierType_VolumeToMesh
@ eModifierType_Shrinkwrap
@ eModifierType_MeshSequenceCache
@ eModifierType_EdgeSplit
@ eModifierType_Wireframe
@ eModifierType_WeightVGMix
@ eModifierType_VolumeDisplace
@ eModifierType_LaplacianDeform
@ eModifierType_DataTransfer
@ eModifierType_UVProject
@ eModifierType_SurfaceDeform
@ eModifierType_CorrectiveSmooth
@ eModifierType_ParticleInstance
@ eModifierType_Collision
@ eModifierType_DynamicPaint
@ eModifierType_MeshCache
@ eModifierType_WeightVGEdit
@ eModifierType_WeightedNormal
@ eModifierType_Triangulate
@ MOD_SHRINKWRAP_PROJECT_OVER_X_AXIS
@ MOD_SHRINKWRAP_PROJECT_OVER_Y_AXIS
@ MOD_SHRINKWRAP_PROJECT_OVER_Z_AXIS
@ MOD_MESHCACHE_INVERT_VERTEX_GROUP
@ MOD_MESHCACHE_INTERP_LINEAR
@ MOD_MESHCACHE_INTERP_NONE
@ MOD_SIMPLEDEFORM_FLAG_INVERT_VGROUP
@ MOD_MESHCACHE_TIME_FRAME
@ MOD_MESHCACHE_TIME_FACTOR
@ MOD_MESHCACHE_TIME_SECONDS
@ MOD_WIREFRAME_OFS_RELATIVE
@ MOD_WIREFRAME_INVERT_VGROUP
@ MOD_SIMPLEDEFORM_LOCK_AXIS_Z
@ MOD_SIMPLEDEFORM_LOCK_AXIS_X
@ MOD_SIMPLEDEFORM_LOCK_AXIS_Y
@ MOD_UVWARP_INVERT_VGROUP
@ MOD_MIR_BISECT_FLIP_AXIS_X
@ MOD_SOLIDIFY_NORMAL_CALC
@ MOD_SOLIDIFY_OFFSET_ANGLE_CLAMP
@ MOD_SOLIDIFY_NONMANIFOLD_FLAT_FACES
@ MOD_SOLIDIFY_VGROUP_INV
@ MOD_WELD_MODE_CONNECTED
@ MOD_MESHSEQ_INTERPOLATE_VERTICES
@ MOD_BEVEL_FACE_STRENGTH_NONE
@ MOD_BEVEL_FACE_STRENGTH_AFFECTED
@ MOD_BEVEL_FACE_STRENGTH_NEW
@ MOD_BEVEL_FACE_STRENGTH_ALL
@ VOLUME_TO_MESH_USE_SMOOTH_SHADE
@ eExplodeFlag_INVERT_VGROUP
@ eSubsurfModifierFlag_UseRecursiveSubdivision
@ eSubsurfModifierFlag_UseCrease
@ eSubsurfModifierFlag_ControlEdges
@ eSubsurfModifierFlag_UseCustomNormals
@ MOD_WEIGHTEDNORMAL_KEEP_SHARP
@ MOD_WEIGHTEDNORMAL_FACE_INFLUENCE
@ MOD_WEIGHTEDNORMAL_INVERT_VGROUP
@ MOD_WVG_PROXIMITY_WEIGHTS_NORMALIZE
@ MOD_WVG_PROXIMITY_INVERT_VGROUP_MASK
@ MOD_WVG_PROXIMITY_GEOM_VERTS
@ MOD_WVG_PROXIMITY_INVERT_FALLOFF
@ MOD_WVG_PROXIMITY_GEOM_EDGES
@ MOD_WVG_PROXIMITY_GEOM_FACES
@ MOD_NORMALEDIT_MODE_RADIAL
@ MOD_NORMALEDIT_MODE_DIRECTIONAL
@ 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_WARP_VOLUME_PRESERVE
@ MOD_MESHCACHE_PLAY_CFEA
@ MOD_MESHCACHE_PLAY_EVAL
@ MOD_DECIM_MODE_UNSUBDIV
@ MOD_DECIM_MODE_COLLAPSE
@ MOD_DECIM_MODE_DISSOLVE
@ MOD_EDGESPLIT_FROMANGLE
#define MOD_UVPROJECT_MAXPROJECTORS
@ eBooleanModifierOp_Intersect
@ eBooleanModifierOp_Union
@ eBooleanModifierOp_Difference
@ MOD_TRIANGULATE_QUAD_SHORTEDGE
@ MOD_TRIANGULATE_QUAD_FIXED
@ MOD_TRIANGULATE_QUAD_LONGEDGE
@ MOD_TRIANGULATE_QUAD_BEAUTY
@ MOD_TRIANGULATE_QUAD_ALTERNATE
@ MOD_CURVE_INVERT_VGROUP
@ eParticleInstanceSpace_World
@ eParticleInstanceSpace_Local
@ MOD_BEVEL_AFFECT_VERTICES
@ MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_EVEN
@ MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_FIXED
@ MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_CONSTRAINTS
@ MOD_WEIGHTEDNORMAL_MODE_FACE
@ MOD_WEIGHTEDNORMAL_MODE_FACE_ANGLE
@ MOD_WEIGHTEDNORMAL_MODE_ANGLE
@ eBooleanModifierBMeshFlag_BMesh_NoDissolve
@ eBooleanModifierBMeshFlag_BMesh_Separate
@ eBooleanModifierBMeshFlag_BMesh_NoConnectRegions
@ 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
Object is a sort of wrapper for general info.
@ UI_PANEL_DATA_EXPAND_ROOT
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Read Guarded memory(de)allocation.
void MOD_nodes_update_interface(Object *object, NodesModifierData *nmd)
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Sky Generate a procedural sky texture Noise Generate fractal Perlin noise Wave Generate procedural bands or rings with noise Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a or normal between and object coordinate space Combine Create a color from its and value channels Color Retrieve a color or the default fallback if none is specified Separate Split a vector into its and Z components Bevel
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Wireframe
#define RNA_MAX_ARRAY_LENGTH
#define RNA_MAX_ARRAY_DIMENSION
#define RNA_TRANSLATION_PREC_DEFAULT
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
#define RNA_ENUM_ITEM_HEADING(name, description)
return(oflags[bm->toolflag_index].f &oflag) !=0
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
const Depsgraph * depsgraph
ccl_global float * buffer
ccl_gpu_kernel_postfix int ccl_global int * indices
void(* MEM_freeN)(void *vmemh)
void *(* MEM_mallocN)(size_t len, const char *str)
T length(const vec_base< T, Size > &a)
static const EnumPropertyItem mode_items[]
void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr)
const char * RNA_property_identifier(const PropertyRNA *prop)
const PointerRNA PointerRNA_NULL
PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop)
void rna_iterator_array_begin(CollectionPropertyIterator *iter, void *ptr, int itemsize, int length, bool free_ptr, IteratorSkipFunc skip)
int RNA_int_get(PointerRNA *ptr, const char *name)
void RNA_property_update_main(Main *bmain, Scene *scene, PointerRNA *ptr, PropertyRNA *prop)
PointerRNA rna_pointer_inherit_refine(PointerRNA *ptr, StructRNA *type, void *data)
int RNA_enum_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_def_float(StructOrFunctionRNA *cont_, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_struct_refine_func(StructRNA *srna, const char *refine)
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)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
PropertyRNA * RNA_def_int_array(StructOrFunctionRNA *cont_, const char *identifier, int len, const int *default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
PropertyRNA * RNA_def_float_array(StructOrFunctionRNA *cont_, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_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_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)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_property_collection_funcs(PropertyRNA *prop, const char *begin, const char *next, const char *end, const char *get, const char *length, const char *lookupint, const char *lookupstring, const char *assignint)
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
void RNA_def_property_boolean_default(PropertyRNA *prop, bool value)
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set)
void RNA_def_property_dynamic_array_funcs(PropertyRNA *prop, const char *getlength)
void RNA_def_property_multi_array(PropertyRNA *prop, int dimension, const int length[])
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
void RNA_def_property_array(PropertyRNA *prop, int length)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
PropertyRNA * RNA_def_float_factor(StructOrFunctionRNA *cont_, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_string_maxlength(PropertyRNA *prop, int maxlength)
void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
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[]
void RNA_def_property_enum_funcs(PropertyRNA *prop, const char *get, const char *set, const char *item)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
void RNA_def_property_enum_bitflag_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_enum_item_end(EnumPropertyItem **items, int *totitem)
void RNA_def_struct_name_property(struct StructRNA *srna, struct PropertyRNA *prop)
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)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
void RNA_def_property_enum_sdna(PropertyRNA *prop, const char *structname, const char *propname)
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_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, 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_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)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
void RNA_def_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[]
void rna_object_vgroup_name_index_set(struct PointerRNA *ptr, const char *value, short *index)
void rna_object_vgroup_name_index_get(struct PointerRNA *ptr, char *value, int index)
int rna_object_vgroup_name_index_length(struct PointerRNA *ptr, 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_smooth(BlenderRNA *brna)
const EnumPropertyItem rna_enum_subdivision_uv_smooth_items[]
const EnumPropertyItem rna_enum_dt_method_loop_items[]
static void rna_def_modifier_screw(BlenderRNA *brna)
static void rna_def_modifier_uvproject(BlenderRNA *brna)
static void rna_def_modifier_particleinstance(BlenderRNA *brna)
static void rna_def_modifier_edgesplit(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_explode(BlenderRNA *brna)
const EnumPropertyItem rna_enum_axis_flag_xyz_items[]
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)
const EnumPropertyItem rna_enum_modifier_triangulate_ngon_method_items[]
static void rna_def_modifier_mirror(BlenderRNA *brna)
static void rna_def_modifier_weightvg_mask(BlenderRNA *UNUSED(brna), StructRNA *srna, const char *mask_flags, const int invert_vgroup_mask_flag, const char *mask_vgroup_setter, const char *mask_uvlayer_setter)
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_curve(BlenderRNA *brna)
static void rna_def_modifier_wireframe(BlenderRNA *brna)
static void rna_def_modifier_softbody(BlenderRNA *brna)
const EnumPropertyItem rna_enum_dt_layers_select_src_items[]
static void rna_def_modifier_subsurf(BlenderRNA *brna)
static void rna_def_modifier_volume_displace(BlenderRNA *brna)
const EnumPropertyItem rna_enum_shrinkwrap_type_items[]
static void rna_def_modifier_wave(BlenderRNA *brna)
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_property_subdivision_common(StructRNA *srna)
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_laplaciansmooth(BlenderRNA *brna)
static void rna_def_modifier_hook(BlenderRNA *brna)
static void rna_def_modifier_solidify(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_mesh_to_volume(BlenderRNA *brna)
const EnumPropertyItem rna_enum_dt_layers_select_dst_items[]
static void rna_def_modifier_boolean(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)
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 prop_solver_items[]
static const EnumPropertyItem prop_direction_items[]
struct CurveProfile * custom_profile
unsigned int bind_coords_num
CorrectiveSmoothDeltaCache delta_cache
struct Object * ob_source
struct FluidDomainSettings * domain
struct ModifierData * next
struct ModifierData * prev
struct NodesModifierSettings settings
struct IDProperty * properties
struct PointCache * pointcache
struct SoftBody_Shared * shared
struct Object * projectors[10]
void WM_main_add_notifier(unsigned int type, void *reference)