75 static void rna_ClothSettings_bending_set(
struct PointerRNA *
ptr,
float value)
87 static void rna_ClothSettings_max_bend_set(
struct PointerRNA *
ptr,
float value)
92 if (value < settings->bending) {
99 static void rna_ClothSettings_tension_set(
struct PointerRNA *
ptr,
float value)
111 static void rna_ClothSettings_max_tension_set(
struct PointerRNA *
ptr,
float value)
116 if (value < settings->tension) {
123 static void rna_ClothSettings_compression_set(
struct PointerRNA *
ptr,
float value)
135 static void rna_ClothSettings_max_compression_set(
struct PointerRNA *
ptr,
float value)
140 if (value < settings->compression) {
147 static void rna_ClothSettings_shear_set(
struct PointerRNA *
ptr,
float value)
151 settings->
shear = value;
159 static void rna_ClothSettings_max_shear_set(
struct PointerRNA *
ptr,
float value)
164 if (value < settings->shear) {
165 value = settings->
shear;
171 static void rna_ClothSettings_max_sewing_set(
struct PointerRNA *
ptr,
float value)
183 static void rna_ClothSettings_shrink_min_set(
struct PointerRNA *
ptr,
float value)
195 static void rna_ClothSettings_shrink_max_set(
struct PointerRNA *
ptr,
float value)
200 if (value < settings->shrink_min) {
207 static void rna_ClothSettings_internal_tension_set(
struct PointerRNA *
ptr,
float value)
219 static void rna_ClothSettings_max_internal_tension_set(
struct PointerRNA *
ptr,
float value)
224 if (value < settings->internal_tension) {
231 static void rna_ClothSettings_internal_compression_set(
struct PointerRNA *
ptr,
float value)
243 static void rna_ClothSettings_max_internal_compression_set(
struct PointerRNA *
ptr,
float value)
248 if (value < settings->internal_compression) {
255 static void rna_ClothSettings_mass_vgroup_get(
PointerRNA *
ptr,
char *value)
261 static int rna_ClothSettings_mass_vgroup_length(
PointerRNA *
ptr)
267 static void rna_ClothSettings_mass_vgroup_set(
PointerRNA *
ptr,
const char *value)
273 static void rna_ClothSettings_shrink_vgroup_get(
PointerRNA *
ptr,
char *value)
279 static int rna_ClothSettings_shrink_vgroup_length(
PointerRNA *
ptr)
285 static void rna_ClothSettings_shrink_vgroup_set(
PointerRNA *
ptr,
const char *value)
291 static void rna_ClothSettings_struct_vgroup_get(
PointerRNA *
ptr,
char *value)
297 static int rna_ClothSettings_struct_vgroup_length(
PointerRNA *
ptr)
303 static void rna_ClothSettings_struct_vgroup_set(
PointerRNA *
ptr,
const char *value)
309 static void rna_ClothSettings_shear_vgroup_get(
PointerRNA *
ptr,
char *value)
315 static int rna_ClothSettings_shear_vgroup_length(
PointerRNA *
ptr)
321 static void rna_ClothSettings_shear_vgroup_set(
PointerRNA *
ptr,
const char *value)
327 static void rna_ClothSettings_bend_vgroup_get(
PointerRNA *
ptr,
char *value)
333 static int rna_ClothSettings_bend_vgroup_length(
PointerRNA *
ptr)
339 static void rna_ClothSettings_bend_vgroup_set(
PointerRNA *
ptr,
const char *value)
345 static void rna_ClothSettings_internal_vgroup_get(
PointerRNA *
ptr,
char *value)
351 static int rna_ClothSettings_internal_vgroup_length(
PointerRNA *
ptr)
357 static void rna_ClothSettings_internal_vgroup_set(
PointerRNA *
ptr,
const char *value)
363 static void rna_ClothSettings_pressure_vgroup_get(
PointerRNA *
ptr,
char *value)
369 static int rna_ClothSettings_pressure_vgroup_length(
PointerRNA *
ptr)
375 static void rna_ClothSettings_pressure_vgroup_set(
PointerRNA *
ptr,
const char *value)
381 static void rna_CollSettings_selfcol_vgroup_get(
PointerRNA *
ptr,
char *value)
387 static int rna_CollSettings_selfcol_vgroup_length(
PointerRNA *
ptr)
393 static void rna_CollSettings_selfcol_vgroup_set(
PointerRNA *
ptr,
const char *value)
399 static void rna_CollSettings_objcol_vgroup_get(
PointerRNA *
ptr,
char *value)
405 static int rna_CollSettings_objcol_vgroup_length(
PointerRNA *
ptr)
411 static void rna_CollSettings_objcol_vgroup_set(
PointerRNA *
ptr,
const char *value)
425 static void rna_ClothSettings_rest_shape_key_set(
PointerRNA *
ptr,
435 static void rna_ClothSettings_gravity_get(
PointerRNA *
ptr,
float *values)
444 static void rna_ClothSettings_gravity_set(
PointerRNA *
ptr,
const float *values)
459 char name_esc[
sizeof(md->name) * 2];
461 return BLI_sprintfN(
"modifiers[\"%s\"].settings", name_esc);
468 static char *rna_ClothCollisionSettings_path(
PointerRNA *
ptr)
474 char name_esc[
sizeof(md->name) * 2];
476 return BLI_sprintfN(
"modifiers[\"%s\"].collision_settings", name_esc);
483 static int rna_ClothSettings_internal_editable(
struct PointerRNA *
ptr,
const char **r_info)
488 *r_info =
"Only available with angular bending springs.";
508 "The provided data did not satisfy the prerequisites"},
513 "Iterative procedure did not converge"},
518 "The inputs are invalid, or the algorithm has been improperly called"},
578 "Cloth model with linear bending springs (legacy)"},
593 prop,
"Goal Minimum",
"Goal minimum, vertex group weights are scaled to match this range");
600 prop,
"Goal Maximum",
"Goal maximum, vertex group weights are scaled to match this range");
609 "Default Goal (vertex target position) value, when no Vertex Group used");
616 prop,
"Goal Stiffness",
"Goal (vertex target position) spring stiffness");
647 prop,
"Target Density Strength",
"Influence of target density on the simulation");
660 "rna_ClothSettings_mass_vgroup_get",
661 "rna_ClothSettings_mass_vgroup_length",
662 "rna_ClothSettings_mass_vgroup_set");
670 prop,
"rna_ClothSettings_gravity_get",
"rna_ClothSettings_gravity_set",
NULL);
680 prop,
"Air Damping",
"Air has normally some thickness which slows falling things down");
696 "Quality of the simulation in steps per frame (higher is better quality but slower)");
708 "rna_ClothSettings_shrink_vgroup_get",
709 "rna_ClothSettings_shrink_vgroup_length",
710 "rna_ClothSettings_shrink_vgroup_set");
734 prop,
"Voxel Grid Cell Size",
"Size of the voxel grid cells for interaction effects");
742 prop,
"Tension Spring Damping",
"Amount of damping in stretching behavior");
749 prop,
"Compression Spring Damping",
"Amount of damping in compression behavior");
777 prop,
"Compression Stiffness",
"How much the material resists compression");
785 prop,
"Compression Stiffness Maximum",
"Maximum compression stiffness value");
811 "rna_ClothSettings_struct_vgroup_get",
812 "rna_ClothSettings_struct_vgroup_length",
813 "rna_ClothSettings_struct_vgroup_set");
815 "Structural Stiffness Vertex Group",
816 "Vertex group for fine control over structural stiffness");
821 "rna_ClothSettings_shear_vgroup_get",
822 "rna_ClothSettings_shear_vgroup_length",
823 "rna_ClothSettings_shear_vgroup_set");
825 prop,
"Shear Stiffness Vertex Group",
"Vertex group for fine control over shear stiffness");
846 prop,
"Bending Spring Damping",
"Amount of damping in bending behavior");
857 "rna_ClothSettings_bend_vgroup_get",
858 "rna_ClothSettings_bend_vgroup_length",
859 "rna_ClothSettings_bend_vgroup_set");
861 "Bending Stiffness Vertex Group",
862 "Vertex group for fine control over bending stiffness");
874 "rna_ClothSettings_rest_shape_key_get",
875 "rna_ClothSettings_rest_shape_key_set",
879 prop,
"Rest Shape Key",
"Shape key to use the rest spring lengths from");
885 prop,
"Dynamic Base Mesh",
"Make simulation respect deformations in the base mesh");
899 "Create Internal Springs",
900 "Simulate an internal volume structure by creating springs connecting "
901 "the opposite sides of the mesh");
909 "Check Internal Spring Normals",
910 "Require the points the internal springs connect to have opposite "
911 "normal directions");
921 "Internal Spring Max Length",
922 "The maximum length an internal spring can have during creation. If the distance between "
923 "internal points is greater than this, no internal spring will be created between these "
925 "A length of zero means that there is no length limit");
934 "Internal Spring Max Diversion",
935 "How much the rays used to connect the internal points can diverge "
936 "from the vertex normal");
962 prop,
"Compression Stiffness",
"How much the material resists compression");
971 prop,
"Compression Stiffness Maximum",
"Maximum compression stiffness value");
977 "rna_ClothSettings_internal_vgroup_get",
978 "rna_ClothSettings_internal_vgroup_length",
979 "rna_ClothSettings_internal_vgroup_set");
981 "Internal Springs Vertex Group",
982 "Vertex group for fine control over the internal spring stiffness");
998 "Use the Target Volume parameter as the initial volume, instead "
999 "of calculating it from the mesh itself");
1009 "The uniform pressure that is constantly applied to the mesh, in units "
1010 "of Pressure Scale. Can be negative");
1019 "The mesh volume where the inner/outer pressure will be the same. If "
1020 "set to zero the change in volume will not affect pressure");
1028 "Ambient pressure (kPa) that balances out between the inside and "
1029 "outside of the object when it has the target volume");
1038 "Density (kg/l) of the fluid contained inside the object, used to create "
1039 "a hydrostatic pressure gradient simulating the weight of the internal fluid, "
1040 "or buoyancy from the surrounding fluid if negative");
1045 "rna_ClothSettings_pressure_vgroup_get",
1046 "rna_ClothSettings_pressure_vgroup_length",
1047 "rna_ClothSettings_pressure_vgroup_set");
1050 "Pressure Vertex Group",
1051 "Vertex Group for where to apply pressure. Zero weight means no "
1052 "pressure while a weight of one means full pressure. Faces with a vertex "
1053 "that has zero weight will be excluded from the volume calculation");
1084 prop,
"Maximum Spring Extension",
"Maximum extension before spring gets cut");
1096 "Cloth Collision Settings",
1097 "Cloth simulation settings for self collision and collision with other objects");
1114 "Minimum distance between collision objects before collision response takes effect");
1120 prop,
"Friction",
"Friction force if a collision happened (higher = less movement)");
1136 "Collision Quality",
1137 "How many collision iterations should be done. (higher is better quality but slower)");
1146 "Clamp collision impulses to avoid instability (0.0 to disable clamping)");
1161 "Self Minimum Distance",
1162 "Minimum distance between cloth faces before collision response takes effect");
1179 "rna_CollSettings_selfcol_vgroup_get",
1180 "rna_CollSettings_selfcol_vgroup_length",
1181 "rna_CollSettings_selfcol_vgroup_set");
1184 "Selfcollision Vertex Group",
1185 "Triangles with all vertices in this group are not used during self collisions");
1190 "rna_CollSettings_objcol_vgroup_get",
1191 "rna_CollSettings_objcol_vgroup_length",
1192 "rna_CollSettings_objcol_vgroup_set");
1195 "Collision Vertex Group",
1196 "Triangles with all vertices in this group are not used during object collisions");
1205 "Clamp collision impulses to avoid instability (0.0 to disable clamping)");
void cloth_free_modifier(struct ClothModifierData *clmd)
struct ModifierData * BKE_modifiers_findby_type(const struct Object *ob, ModifierType type)
size_t size_t char * BLI_sprintfN(const char *__restrict format,...) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1) ATTR_MALLOC ATTR_PRINTF_FORMAT(1
size_t size_t char size_t BLI_str_escape(char *__restrict dst, const char *__restrict src, const size_t dst_maxncpy) ATTR_NONNULL()
void DEG_id_tag_update(struct ID *id, int flag)
void DEG_relations_tag_update(struct Main *bmain)
@ CLOTH_COLLSETTINGS_FLAG_ENABLED
@ CLOTH_COLLSETTINGS_FLAG_SELF
@ CLOTH_SIMSETTINGS_FLAG_DYNAMIC_BASEMESH
@ CLOTH_SIMSETTINGS_FLAG_INTERNAL_SPRINGS_NORMAL
@ CLOTH_SIMSETTINGS_FLAG_PRESSURE_VOL
@ CLOTH_SIMSETTINGS_FLAG_SEW
@ CLOTH_SIMSETTINGS_FLAG_PRESSURE
@ CLOTH_SIMSETTINGS_FLAG_TEARING
@ CLOTH_SIMSETTINGS_FLAG_INTERNAL_SPRINGS
Object is a sort of wrapper for general info.
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
@ SIM_SOLVER_INVALID_INPUT
@ SIM_SOLVER_NUMERICAL_ISSUE
@ SIM_SOLVER_NO_CONVERGENCE
static void rna_def_cloth_collision_settings(BlenderRNA *brna)
void RNA_def_cloth(BlenderRNA *brna)
static void rna_def_cloth_sim_settings(BlenderRNA *brna)
static void rna_def_cloth_solver_result(BlenderRNA *brna)
void RNA_def_property_pointer_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
void RNA_def_property_float_default(PropertyRNA *prop, float value)
void RNA_def_property_float_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_define_verify_sdna(bool verify)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
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)
void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *func)
void RNA_def_property_editable_func(PropertyRNA *prop, const char *editable)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
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_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_float_sdna(PropertyRNA *prop, const char *structname, const char *propname)
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_override_flag(PropertyRNA *prop, PropertyOverrideFlag flag)
int rna_object_shapekey_index_set(struct ID *id, PointerRNA value, int current)
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)
PointerRNA rna_object_shapekey_index_get(struct ID *id, int value)
int rna_object_vgroup_name_index_length(struct PointerRNA *ptr, int index)
float max_internal_tension
float max_internal_compression
float internal_compression
void WM_main_add_notifier(unsigned int type, void *reference)