|
Blender
V2.93
|
API for Blender-side Rigid Body stuff. More...
Go to the source code of this file.
Macros | |
| #define | RBO_GET_MASS(rbo) |
| #define | RBO_GET_MARGIN(rbo) |
Typedefs | |
| typedef void(* | RigidbodyWorldIDFunc) (struct RigidBodyWorld *rbw, struct ID **idpoin, void *userdata, int cb_flag) |
API for Blender-side Rigid Body stuff.
Definition in file BKE_rigidbody.h.
| #define RBO_GET_MARGIN | ( | rbo | ) |
Definition at line 129 of file BKE_rigidbody.h.
| #define RBO_GET_MASS | ( | rbo | ) |
Definition at line 122 of file BKE_rigidbody.h.
| typedef void(* RigidbodyWorldIDFunc) (struct RigidBodyWorld *rbw, struct ID **idpoin, void *userdata, int cb_flag) |
Definition at line 56 of file BKE_rigidbody.h.
| bool BKE_rigidbody_add_object | ( | struct Main * | bmain, |
| struct Scene * | scene, | ||
| struct Object * | ob, | ||
| int | type, | ||
| struct ReportList * | reports | ||
| ) |
Definition at line 2316 of file rigidbody.c.
References BKE_report(), and RPT_ERROR.
Referenced by ED_rigidbody_object_add().
| void BKE_rigidbody_aftertrans_update | ( | struct Object * | ob, |
| float | loc[3], | ||
| float | rot[3], | ||
| float | quat[4], | ||
| float | rotAxis[3], | ||
| float | rotAngle | ||
| ) |
Definition at line 2331 of file rigidbody.c.
Referenced by special_aftertrans_update__object().
| void BKE_rigidbody_cache_reset | ( | struct RigidBodyWorld * | rbw | ) |
Definition at line 2339 of file rigidbody.c.
Definition at line 2279 of file rigidbody.c.
References zero_v3().
Definition at line 2273 of file rigidbody.c.
Referenced by rigidbody_objects_calc_mass_exec().
| bool BKE_rigidbody_check_sim_running | ( | struct RigidBodyWorld * | rbw, |
| float | ctime | ||
| ) |
Definition at line 2335 of file rigidbody.c.
Referenced by ObjectToTransData(), and special_aftertrans_update__object().
| void BKE_rigidbody_constraints_collection_validate | ( | struct Scene * | scene, |
| struct RigidBodyWorld * | rbw | ||
| ) |
Definition at line 2351 of file rigidbody.c.
Referenced by do_versions_after_linking_280().
| struct RigidBodyCon* BKE_rigidbody_create_constraint | ( | struct Scene * | scene, |
| struct Object * | ob, | ||
| short | type | ||
| ) |
Definition at line 2303 of file rigidbody.c.
References NULL.
Referenced by ED_rigidbody_constraint_add().
| struct RigidBodyOb* BKE_rigidbody_create_object | ( | struct Scene * | scene, |
| struct Object * | ob, | ||
| short | type | ||
| ) |
Definition at line 2299 of file rigidbody.c.
References NULL.
| struct RigidBodyWorld* BKE_rigidbody_create_world | ( | struct Scene * | scene | ) |
Definition at line 2283 of file rigidbody.c.
References NULL.
Referenced by rigidbody_world_add_exec().
| void BKE_rigidbody_do_simulation | ( | struct Depsgraph * | depsgraph, |
| struct Scene * | scene, | ||
| float | ctime | ||
| ) |
Definition at line 2345 of file rigidbody.c.
Referenced by BKE_rigidbody_eval_simulation().
Definition at line 2312 of file rigidbody.c.
Referenced by BKE_library_make_local().
Definition at line 2377 of file rigidbody.c.
References BKE_rigidbody_do_simulation(), BKE_scene_check_rigidbody_active(), DEG_debug_print_eval_time(), DEG_get_ctime(), depsgraph, Scene::id, ID::name, and scene.
| void BKE_rigidbody_free_constraint | ( | struct Object * | ob | ) |
Definition at line 212 of file rigidbody.c.
References if(), MEM_freeN, NULL, RigidBodyCon::physics_constraint, RB_constraint_delete(), and Object::rigidbody_constraint.
Referenced by object_free_data().
| void BKE_rigidbody_free_object | ( | struct Object * | ob, |
| struct RigidBodyWorld * | rbw | ||
| ) |
Definition at line 164 of file rigidbody.c.
References G_MAIN, Object::id, Scene::id, LIB_TAG_COPIED_ON_WRITE, MEM_freeN, ID::next, NULL, RigidBodyOb_Shared::physics_object, RigidBodyOb_Shared::physics_shape, RigidBodyWorld_Shared::physics_world, RB_body_delete(), RB_dworld_remove_body(), RB_shape_delete(), Object::rigidbody_object, Scene::rigidbody_world, scene, RigidBodyWorld::shared, RigidBodyOb::shared, and ID::tag.
Referenced by BKE_rigidbody_free_world(), and object_free_data().
| void BKE_rigidbody_free_world | ( | struct Scene * | scene | ) |
Definition at line 107 of file rigidbody.c.
References BKE_ptcache_free_list(), BKE_rigidbody_free_object(), RigidBodyWorld::constraints, RigidBodyWorld::effector_weights, FOREACH_COLLECTION_OBJECT_RECURSIVE_BEGIN, FOREACH_COLLECTION_OBJECT_RECURSIVE_END, free(), RigidBodyWorld::group, Scene::id, LIB_TAG_COPIED_ON_WRITE, MEM_freeN, NULL, RigidBodyWorld::objects, RigidBodyCon::physics_constraint, RigidBodyWorld_Shared::physics_world, RigidBodyWorld_Shared::pointcache, RigidBodyWorld_Shared::ptcaches, RB_dworld_delete(), RB_dworld_remove_constraint(), Scene::rigidbody_world, scene, RigidBodyWorld::shared, and ID::tag.
Referenced by rigidbody_world_remove_exec(), and scene_free_data().
| struct RigidBodyWorld* BKE_rigidbody_get_world | ( | struct Scene * | scene | ) |
Definition at line 2307 of file rigidbody.c.
References NULL.
Referenced by ED_rigidbody_constraint_add(), and rigidbody_con_add_exec().
| bool BKE_rigidbody_is_affected_by_simulation | ( | struct Object * | ob | ) |
Definition at line 232 of file rigidbody.c.
References RigidBodyOb::flag, NULL, Object::parent, RB_SHAPE_COMPOUND, RBO_FLAG_KINEMATIC, RBO_TYPE_PASSIVE, Object::rigidbody_object, RigidBodyOb::shape, and RigidBodyOb::type.
| void BKE_rigidbody_main_collection_object_add | ( | struct Main * | bmain, |
| struct Collection * | collection, | ||
| struct Object * | object | ||
| ) |
Definition at line 2354 of file rigidbody.c.
Referenced by collection_object_add().
| void BKE_rigidbody_object_copy | ( | struct Main * | bmain, |
| struct Object * | ob_dst, | ||
| const struct Object * | ob_src, | ||
| const int | flag | ||
| ) |
Referenced by object_copy_data().
| void BKE_rigidbody_object_sync_transforms | ( | struct Depsgraph * | depsgraph, |
| struct Scene * | scene, | ||
| struct Object * | ob | ||
| ) |
Definition at line 2389 of file rigidbody.c.
References BKE_rigidbody_sync_transforms(), DEG_debug_print_eval_time(), DEG_get_ctime(), depsgraph, Object::id, ID::name, Scene::rigidbody_world, and scene.
| void BKE_rigidbody_objects_collection_validate | ( | struct Scene * | scene, |
| struct RigidBodyWorld * | rbw | ||
| ) |
Definition at line 2348 of file rigidbody.c.
Referenced by do_versions_after_linking_280().
Definition at line 2367 of file rigidbody.c.
References BKE_rigidbody_rebuild_world(), BKE_scene_check_rigidbody_active(), DEG_debug_print_eval_time(), DEG_get_ctime(), depsgraph, Scene::id, ID::name, and scene.
| void BKE_rigidbody_rebuild_world | ( | struct Depsgraph * | depsgraph, |
| struct Scene * | scene, | ||
| float | ctime | ||
| ) |
Definition at line 2342 of file rigidbody.c.
Referenced by BKE_rigidbody_rebuild_sim().
| void BKE_rigidbody_remove_constraint | ( | struct Main * | bmain, |
| struct Scene * | scene, | ||
| struct Object * | ob, | ||
| const bool | free_us | ||
| ) |
Definition at line 2325 of file rigidbody.c.
Referenced by BKE_scene_remove_rigidbody_object(), and ED_rigidbody_constraint_remove().
| void BKE_rigidbody_remove_object | ( | struct Main * | bmain, |
| struct Scene * | scene, | ||
| struct Object * | ob, | ||
| const bool | free_us | ||
| ) |
Definition at line 2322 of file rigidbody.c.
Referenced by BKE_scene_remove_rigidbody_object(), and ED_rigidbody_object_remove().
| void BKE_rigidbody_sync_transforms | ( | struct RigidBodyWorld * | rbw, |
| struct Object * | ob, | ||
| float | ctime | ||
| ) |
Definition at line 2328 of file rigidbody.c.
Referenced by BKE_rigidbody_object_sync_transforms(), and object_where_is_calc_ex().
| void BKE_rigidbody_validate_sim_world | ( | struct Scene * | scene, |
| struct RigidBodyWorld * | rbw, | ||
| bool | rebuild | ||
| ) |
Definition at line 2270 of file rigidbody.c.
| struct RigidBodyWorld* BKE_rigidbody_world_copy | ( | struct RigidBodyWorld * | rbw, |
| const int | flag | ||
| ) |
| void BKE_rigidbody_world_groups_relink | ( | struct RigidBodyWorld * | rbw | ) |
Definition at line 2291 of file rigidbody.c.
Referenced by BKE_scene_groups_relink().
| void BKE_rigidbody_world_id_loop | ( | struct RigidBodyWorld * | rbw, |
| RigidbodyWorldIDFunc | func, | ||
| void * | userdata | ||
| ) |
Definition at line 2294 of file rigidbody.c.
Referenced by scene_foreach_id().