29 {
PFIELD_SHAPE_LINE,
"LINE", 0,
"Line",
"Field originates from the local Z axis of the object"},
34 "Field originates from the local XY plane of the object"},
39 "Field originates from the surface of the object"},
44 "Field originates from all of the vertices of the object"},
57 {
PFIELD_SHAPE_LINE,
"LINE", 0,
"Line",
"Field originates from the local Z axis of the object"},
62 "Field originates from the local XY plane of the object"},
69 {
PFIELD_SHAPE_LINE,
"LINE", 0,
"Line",
"Field originates from the local Z axis of the object"},
74 "Field originates from the local XY plane of the object"},
125 "Trying to get PTCacheID from an invalid ID type "
126 "(Only scenes and objects are supported).");
146 char name_esc[
sizeof(md->
name) * 2];
153 return BLI_sprintfN(
"modifiers[\"%s\"].particle_system.point_cache", name_esc);
162 if (
surface->pointcache == cache) {
163 char name_surface_esc[
sizeof(
surface->name) * 2];
166 "modifiers[\"%s\"].canvas_settings.canvas_surfaces[\"%s\"].point_cache",
177 return BLI_sprintfN(
"modifiers[\"%s\"].point_cache", name_esc);
184 return BLI_sprintfN(
"modifiers[\"%s\"].point_cache", name_esc);
189 return BLI_sprintfN(
"modifiers[\"%s\"].point_cache", name_esc);
201 if (!rna_Cache_get_valid_owner_ID(
ptr, &ob, &
scene)) {
227 if (!rna_Cache_get_valid_owner_ID(
ptr, &ob, &
scene)) {
244 bool rna_Cache_use_disk_cache_override_apply(
Main *
UNUSED(bmain),
251 const int UNUSED(len_dst),
252 const int UNUSED(len_src),
253 const int UNUSED(len_storage),
276 if (!rna_Cache_get_valid_owner_ID(
ptr, &ob, &
scene)) {
281 bool use_new_name =
true;
301 for (pid = pidlist.
first; pid; pid = pid->
next) {
302 if (pid->
cache == cache) {
308 use_new_name =
false;
337 while (cache->
prev) {
346 static void rna_Cache_active_point_cache_index_range(
355 if (!rna_Cache_get_valid_owner_ID(
ptr, &ob, &
scene)) {
367 static int rna_Cache_active_point_cache_index_get(
PointerRNA *
ptr)
374 if (!rna_Cache_get_valid_owner_ID(
ptr, &ob, &
scene)) {
388 static void rna_Cache_active_point_cache_index_set(
struct PointerRNA *
ptr,
int value)
393 if (!rna_Cache_get_valid_owner_ID(
ptr, &ob, &
scene)) {
405 static void rna_PointCache_frame_step_range(
414 if (!rna_Cache_get_valid_owner_ID(
ptr, &ob, &
scene)) {
431 if (!rna_Cache_get_valid_owner_ID(
ptr, &ob, &
scene)) {
443 return (
int)strlen(cache->
info);
454 char name_esc[
sizeof(md->
name) * 2];
457 return BLI_sprintfN(
"modifiers[\"%s\"].settings", name_esc);
468 static bool rna_SoftBodySettings_use_edges_get(
PointerRNA *
ptr)
474 static void rna_SoftBodySettings_use_edges_set(
PointerRNA *
ptr,
bool value)
485 static bool rna_SoftBodySettings_use_goal_get(
PointerRNA *
ptr)
491 static void rna_SoftBodySettings_use_goal_set(
PointerRNA *
ptr,
bool value)
502 static bool rna_SoftBodySettings_stiff_quads_get(
PointerRNA *
ptr)
508 static void rna_SoftBodySettings_stiff_quads_set(
PointerRNA *
ptr,
bool value)
519 static bool rna_SoftBodySettings_self_collision_get(
PointerRNA *
ptr)
525 static void rna_SoftBodySettings_self_collision_set(
PointerRNA *
ptr,
bool value)
536 static int rna_SoftBodySettings_new_aero_get(
PointerRNA *
ptr)
547 static void rna_SoftBodySettings_new_aero_set(
PointerRNA *
ptr,
int value)
558 static bool rna_SoftBodySettings_face_collision_get(
PointerRNA *
ptr)
564 static void rna_SoftBodySettings_face_collision_set(
PointerRNA *
ptr,
bool value)
575 static bool rna_SoftBodySettings_edge_collision_get(
PointerRNA *
ptr)
581 static void rna_SoftBodySettings_edge_collision_set(
PointerRNA *
ptr,
bool value)
592 static void rna_SoftBodySettings_goal_vgroup_get(
PointerRNA *
ptr,
char *value)
598 static int rna_SoftBodySettings_goal_vgroup_length(
PointerRNA *
ptr)
604 static void rna_SoftBodySettings_goal_vgroup_set(
PointerRNA *
ptr,
const char *value)
610 static void rna_SoftBodySettings_mass_vgroup_set(
PointerRNA *
ptr,
const char *value)
616 static void rna_SoftBodySettings_spring_vgroup_set(
PointerRNA *
ptr,
const char *value)
622 static char *rna_SoftBodySettings_path(
const PointerRNA *
ptr)
626 char name_esc[
sizeof(md->
name) * 2];
629 return BLI_sprintfN(
"modifiers[\"%s\"].settings", name_esc);
641 if (particle_id_check(
ptr)) {
681 if (!particle_id_check(
ptr)) {
691 static void rna_FieldSettings_type_set(
PointerRNA *
ptr,
int value)
697 if (!particle_id_check(
ptr)) {
713 if (particle_id_check(
ptr)) {
721 rna_FieldSettings_shape_update(bmain,
scene,
ptr);
740 if (particle_id_check(
ptr)) {
744 if (part->
pd == pd) {
747 else if (part->
pd2 == pd) {
779 static void rna_EffectorWeight_dependency_update(
Main *bmain,
795 if (particle_id_check(
ptr)) {
811 return BLI_strdup(
"rigidbody_world.effector_weights");
823 char name_esc[
sizeof(md->
name) * 2];
825 return BLI_sprintfN(
"modifiers[\"%s\"].settings.effector_weights", name_esc);
834 char name_esc[
sizeof(md->
name) * 2];
836 return BLI_sprintfN(
"modifiers[\"%s\"].settings.effector_weights", name_esc);
846 char name_esc[
sizeof(md->
name) * 2];
848 return BLI_sprintfN(
"modifiers[\"%s\"].domain_settings.effector_weights", name_esc);
861 if (
surface->effector_weights == ew) {
862 char name_esc[
sizeof(md->
name) * 2];
863 char name_esc_surface[
sizeof(
surface->name) * 2];
868 "modifiers[\"%s\"].canvas_settings.canvas_surfaces[\"%s\"]"
894 static void rna_CollisionSettings_update(
Main *
UNUSED(bmain),
915 rna_softbody_update(bmain,
scene,
ptr);
925 if (particle_id_check(
ptr)) {
926 return empty_shape_items;
933 return curve_vortex_shape_items;
936 return curve_shape_items;
940 return vortex_shape_items;
947 return empty_vortex_shape_items;
950 return empty_shape_items;
1013 prop,
"Disk Cache",
"Save cache files to disk (.blend file must be saved first)");
1067 "Use this file's path for the disk cache when library linked into another file "
1068 "(for local bakes per scene file, disable this option)");
1089 "rna_Cache_active_point_cache_index_get",
1090 "rna_Cache_active_point_cache_index_set",
1091 "rna_Cache_active_point_cache_index_range");
1123 "rna_Cache_list_begin",
1124 "rna_iterator_listbase_next",
1125 "rna_iterator_listbase_end",
1126 "rna_iterator_listbase_get",
1146 srna,
"Collision Settings",
"Collision settings for object in physics simulation");
1153 prop,
"Enabled",
"Enable this objects as a collider for physics systems");
1174 prop,
"Friction Factor",
"Amount of friction during particle collision");
1187 prop,
"Permeability",
"Chance that the particle will pass through the mesh");
1207 prop,
"Inner Thickness",
"Inner face thickness (only used by softbodies)");
1228 "How much of effector force gets lost during collision with this object (in percent)");
1242 "Cloth collision acts with respect to the collider normals (improves penetration recovery)");
1249 "Cloth collision impulses act in the direction of the collider normals "
1250 "(more reliable in some cases)");
1398 {0,
"NONE", ICON_BLANK1,
"None",
""},
1403 "Create a force that acts as a boid's predators or target"},
1408 "Spherical forcefield based on the charge of particles, "
1409 "only influences other charge force fields"},
1414 "Create a force along a curve object"},
1415 {
PFIELD_DRAG,
"DRAG", ICON_FORCE_DRAG,
"Drag",
"Create a force that dampens motion"},
1418 ICON_FORCE_FLUIDFLOW,
1420 "Create a force based on fluid simulation velocities"},
1425 "Radial field toward the center of object"},
1428 ICON_FORCE_HARMONIC,
1430 "The source of this force field is the zero point of a harmonic oscillator"},
1433 ICON_FORCE_LENNARDJONES,
1435 "Forcefield based on the Lennard-Jones potential"},
1438 ICON_FORCE_MAGNETIC,
1440 "Forcefield depends on the speed of the particles"},
1441 {
PFIELD_TEXTURE,
"TEXTURE", ICON_FORCE_TEXTURE,
"Texture",
"Force field based on a texture"},
1444 ICON_FORCE_TURBULENCE,
1446 "Create turbulence with a noise field"},
1451 "Spiraling force that twists the force object's local Z axis"},
1456 "Constant force along the force object's local Z axis"},
1482 {0,
"NONE", 0,
"None",
""},
1483 {4,
"BRAID", 0,
"Braid",
""},
1484 {1,
"CURL", 0,
"Curl",
""},
1485 {2,
"RADIAL", 0,
"Radial",
""},
1486 {6,
"ROLL", 0,
"Roll",
""},
1487 {5,
"ROTATION", 0,
"Rotation",
""},
1488 {3,
"WAVE", 0,
"Wave",
""},
1496 srna,
"Field Settings",
"Field settings for an object in physics simulation");
1514 prop,
"Shape",
"Which direction is used to calculate the effector force");
1529 "How the texture effect is calculated (RGB and Curl need a RGB texture, "
1530 "else Gradient will be used instead)");
1537 prop,
"Z Direction",
"Effect in full or only positive/negative Z direction");
1566 prop,
"Quadratic Drag",
"Drag component proportional to the square of velocity");
1581 "How much the force is reduced when acting parallel to a surface, e.g. cloth");
1609 prop,
"Falloff Power",
"How quickly strength falls off with distance from the force field");
1629 prop,
"Minimum Radial Distance",
"Minimum radial distance for the field's fall-off");
1636 prop,
"Maximum Radial Distance",
"Maximum radial distance for the field to work");
1643 prop,
"Radial Falloff Power",
"Radial falloff power (real gravitational falloff = 2)");
1650 prop,
"Nabla",
"Defines size of derivative offset used for calculating gradient and curl");
1679 prop,
"Use Min",
"Use a minimum radial distance for the field's fall-off");
1697 prop,
"Use Global Coordinates",
"Use effector/global coordinates for turbulence");
1708 prop,
"Root Texture Coordinates",
"Texture coordinates from root particle locations");
1729 prop,
"Multiple Springs",
"Every point is effected by multiple springs");
1761 prop,
"Minimum Distance",
"The distance from which particles are affected fully");
1773 prop,
"Additive",
"Based on distance/falloff it adds a portion of the entire path");
1779 prop,
"Weights",
"Use curve weights to influence the particle influence along the curve");
1841 {
SBC_MODE_AVG,
"AVERAGE", 0,
"Average",
"Average Spring length * Ball Size"},
1842 {
SBC_MODE_MIN,
"MINIMAL", 0,
"Minimal",
"Minimal Spring length * Ball Size"},
1843 {
SBC_MODE_MAX,
"MAXIMAL", 0,
"Maximal",
"Maximal Spring length * Ball Size"},
1849 {0,
"SIMPLE", 0,
"Simple",
"Edges receive a drag force from surrounding media"},
1854 "Edges receive a lift force when passing through surrounding media"},
1862 srna,
"Soft Body Settings",
"Soft body simulation settings for an object");
1895 prop,
"Speed",
"Tweak timing for physics to control frequency and speed");
1904 "rna_SoftBodySettings_goal_vgroup_get",
1905 "rna_SoftBodySettings_goal_vgroup_length",
1906 "rna_SoftBodySettings_goal_vgroup_set");
1913 prop,
"Goal Minimum",
"Goal minimum, vertex weights are scaled to match this range");
1920 prop,
"Goal Maximum",
"Goal maximum, vertex weights are scaled to match this range");
1934 prop,
"Goal Stiffness",
"Goal (vertex target position) spring stiffness");
1967 prop,
"View Layer",
"Alter spring length to shrink/blow up (unit %) 0 to disable");
2013 prop,
"Ball Size",
"Absolute ball size or factor if not manually adjusted");
2036 "The Runge-Kutta ODE solver error limit, low value gives more precision, "
2037 "high values speed");
2064 "Fuzziness while on collision, high values make collision handling faster "
2076 prop,
"Print Performance to Console",
"Turn on SB diagnose console prints");
2081 prop,
"Estimate Transforms",
"Store the estimated transforms in the soft body settings");
2109 prop,
"rna_SoftBodySettings_use_goal_get",
"rna_SoftBodySettings_use_goal_set");
2112 prop,
"Use Goal",
"Define forces for vertices to stick to animated position");
2117 prop,
"rna_SoftBodySettings_use_edges_get",
"rna_SoftBodySettings_use_edges_set");
2124 prop,
"rna_SoftBodySettings_stiff_quads_get",
"rna_SoftBodySettings_stiff_quads_set");
2131 prop,
"rna_SoftBodySettings_edge_collision_get",
"rna_SoftBodySettings_edge_collision_set");
2137 prop,
"rna_SoftBodySettings_face_collision_get",
"rna_SoftBodySettings_face_collision_set");
2144 prop,
"rna_SoftBodySettings_new_aero_get",
"rna_SoftBodySettings_new_aero_set",
NULL);
2146 prop,
"Aerodynamics Type",
"Method of calculating aerodynamic interaction");
2151 prop,
"rna_SoftBodySettings_self_collision_get",
"rna_SoftBodySettings_self_collision_set");
#define FOREACH_SCENE_OBJECT_END
#define FOREACH_SCENE_OBJECT_BEGIN(scene, _instance)
void id_us_min(struct ID *id)
const ModifierTypeInfo * BKE_modifier_get_info(ModifierType type)
@ eModifierTypeFlag_UsesPointCache
struct ModifierData * BKE_modifiers_findby_type(const struct Object *ob, ModifierType type)
void BKE_ptcache_ids_from_object(struct ListBase *lb, struct Object *ob, struct Scene *scene, int duplis)
void BKE_ptcache_update_info(PTCacheID *pid)
void BKE_ptcache_toggle_disk_cache(struct PTCacheID *pid)
void BKE_ptcache_load_external(struct PTCacheID *pid)
PTCacheID BKE_ptcache_id_find(struct Object *ob, struct Scene *scene, struct PointCache *cache)
#define PTCACHE_TYPE_SMOKE_DOMAIN
int BKE_ptcache_object_reset(struct Scene *scene, struct Object *ob, int mode)
#define PTCACHE_RESET_DEPSGRAPH
void BKE_ptcache_disk_cache_rename(struct PTCacheID *pid, const char *name_src, const char *name_dst)
#define BLI_assert_msg(a, msg)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
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)
int BLI_listbase_count(const struct ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE int max_ii(int a, int b)
bool BLI_filename_make_safe(char *fname) ATTR_NONNULL(1)
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_strdup(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() ATTR_MALLOC
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()
#define UNUSED_VARS_NDEBUG(...)
void DEG_id_tag_update(struct ID *id, int flag)
void DEG_relations_tag_update(struct Main *bmain)
@ IDOVERRIDE_LIBRARY_OP_REPLACE
@ eModifierType_ParticleSystem
@ eModifierType_Collision
@ eModifierType_DynamicPaint
#define PFIELD_SHAPE_LINE
#define PFIELD_SHAPE_SURFACE
#define EFF_WEIGHT_DO_HAIR
#define PFIELD_VISIBILITY
#define PFIELD_SHAPE_POINT
#define PFIELD_SHAPE_PLANE
#define PFIELD_GUIDE_PATH_ADD
#define PFIELD_SHAPE_POINTS
#define PFIELD_CLOTH_USE_NORMAL
#define PFIELD_MULTIPLE_SPRINGS
#define SBC_MODE_AVGMINMAX
#define PFIELD_DO_LOCATION
#define PFIELD_TEX_OBJECT
#define PFIELD_DO_ROTATION
#define PFIELD_CLOTH_USE_CULLING
#define PFIELD_TEX_ROOTCO
#define PFIELD_FALL_SPHERE
#define PFIELD_SMOKE_DENSITY
#define PFIELD_GUIDE_PATH_WEIGHT
#define PFIELD_GRAVITATION
Object is a sort of wrapper for general info.
#define PTCACHE_COMPRESS_NO
@ PTCACHE_FLAG_INFO_DIRTY
#define PTCACHE_COMPRESS_LZO
#define PTCACHE_COMPRESS_LZMA
Types and defines for representing Rigid Body entities.
struct ModifierData * ED_object_modifier_add(struct ReportList *reports, struct Main *bmain, struct Scene *scene, struct Object *ob, const char *name, int type)
void ED_object_check_force_modifiers(struct Main *bmain, struct Scene *scene, struct Object *object)
Read Guarded memory(de)allocation.
#define RNA_TRANSLATION_PREC_DEFAULT
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
@ PROPOVERRIDE_NO_COMPARISON
struct @211::@212 surface
static const EnumPropertyItem field_type_items[]
PropertyType RNA_property_type(PropertyRNA *prop)
void rna_iterator_listbase_begin(CollectionPropertyIterator *iter, ListBase *lb, IteratorSkipFunc skip)
bool RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop)
void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, bool value)
void RNA_def_property_pointer_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_define_lib_overridable(const bool make_overridable)
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
void RNA_def_property_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_srna(PropertyRNA *prop, const char *type)
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_funcs(PropertyRNA *prop, const char *get, const char *set)
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_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_update(PropertyRNA *prop, int noteflag, const char *func)
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_struct_name_property(struct StructRNA *srna, struct PropertyRNA *prop)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
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_int_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
const int rna_matrix_dimsize_3x3[]
void RNA_def_struct_ui_icon(StructRNA *srna, int icon)
void RNA_def_property_override_funcs(PropertyRNA *prop, const char *diff, const char *store, const char *apply)
void RNA_def_property_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_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_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)
void rna_object_vgroup_name_set(struct PointerRNA *ptr, const char *value, char *result, int maxlen)
const EnumPropertyItem rna_enum_axis_xyz_items[]
static void rna_def_pointcache_common(StructRNA *srna)
static const EnumPropertyItem effector_shape_items[]
static void rna_def_pointcache_active(BlenderRNA *brna)
static void rna_def_collision(BlenderRNA *brna)
static void rna_def_softbody(BlenderRNA *brna)
static void rna_def_ptcache_point_caches(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_object_force(BlenderRNA *brna)
static void rna_def_effector_weight(BlenderRNA *brna)
static void rna_def_field(BlenderRNA *brna)
struct PointCache * point_cache
struct ClothSimSettings * sim_parms
struct EffectorWeights * effector_weights
struct DynamicPaintCanvasSettings * canvas
struct EffectorWeights * effector_weights
struct FluidDomainSettings * domain
struct ModifierData * next
struct PointCache ** cache_ptr
struct ListBase * ptcaches
struct PointCache * cache
struct EffectorWeights * effector_weights
struct ParticleSystem * psys
struct PointCache * pointcache
struct EffectorWeights * effector_weights
struct RigidBodyWorld * rigidbody_world
struct PointCache * pointcache
struct SoftBody_Shared * shared
struct EffectorWeights * effector_weights
char namedVG_Spring_K[64]
void WM_main_add_notifier(unsigned int type, void *reference)