|
Blender
V2.93
|
Go to the source code of this file.
Classes | |
| struct | CollPair |
| struct | EdgeCollPair |
| struct | FaceCollPair |
| struct | CollisionRelation |
| struct | ColliderCache |
Typedefs | |
| typedef struct CollPair | CollPair |
| typedef struct EdgeCollPair | EdgeCollPair |
| typedef struct FaceCollPair | FaceCollPair |
| typedef struct CollisionRelation | CollisionRelation |
| typedef struct ColliderCache | ColliderCache |
Enumerations | |
| enum | COLLISION_FLAGS { COLLISION_IN_FUTURE = (1 << 1) , COLLISION_INACTIVE = (1 << 4) } |
Functions | |
| struct BVHTree * | bvhtree_build_from_mvert (const struct MVert *mvert, const struct MVertTri *tri, int tri_num, float epsilon) |
| void | bvhtree_update_from_mvert (struct BVHTree *bvhtree, const struct MVert *mvert, const struct MVert *mvert_moving, const struct MVertTri *tri, int tri_num, bool moving) |
| void | collision_move_object (struct CollisionModifierData *collmd, const float step, const float prevstep, const bool moving_bvh) |
| void | collision_get_collider_velocity (float vel_old[3], float vel_new[3], struct CollisionModifierData *collmd, struct CollPair *collpair) |
| struct ListBase * | BKE_collision_relations_create (struct Depsgraph *depsgraph, struct Collection *collection, unsigned int modifier_type) |
| void | BKE_collision_relations_free (struct ListBase *relations) |
| struct Object ** | BKE_collision_objects_create (struct Depsgraph *depsgraph, struct Object *self, struct Collection *collection, unsigned int *numcollobj, unsigned int modifier_type) |
| void | BKE_collision_objects_free (struct Object **objects) |
| struct ListBase * | BKE_collider_cache_create (struct Depsgraph *depsgraph, struct Object *self, struct Collection *collection) |
| void | BKE_collider_cache_free (struct ListBase **colliders) |
| typedef struct ColliderCache ColliderCache |
| typedef struct CollisionRelation CollisionRelation |
| typedef struct EdgeCollPair EdgeCollPair |
| typedef struct FaceCollPair FaceCollPair |
| enum COLLISION_FLAGS |
| Enumerator | |
|---|---|
| COLLISION_IN_FUTURE | |
| COLLISION_INACTIVE | |
Definition at line 42 of file BKE_collision.h.
| struct ListBase* BKE_collider_cache_create | ( | struct Depsgraph * | depsgraph, |
| struct Object * | self, | ||
| struct Collection * | collection | ||
| ) |
Definition at line 1346 of file collision.c.
References BKE_modifiers_findby_type(), BLI_addtail(), CollisionModifierData::bvhtree, col, collision_move_object(), DEG_get_collision_relations(), DEG_get_evaluated_id(), depsgraph, eModifierType_Collision, LISTBASE_FOREACH, MEM_callocN, and NULL.
Referenced by dynamics_step(), and eff_calc_visibility().
| void BKE_collider_cache_free | ( | struct ListBase ** | colliders | ) |
Definition at line 1383 of file collision.c.
References BLI_freelistN(), MEM_freeN, and NULL.
Referenced by dynamics_step(), eff_calc_visibility(), and SCULPT_cloth_simulation_free().
| struct Object** BKE_collision_objects_create | ( | struct Depsgraph * | depsgraph, |
| struct Object * | self, | ||
| struct Collection * | collection, | ||
| unsigned int * | numcollobj, | ||
| unsigned int | modifier_type | ||
| ) |
Definition at line 1297 of file collision.c.
References BLI_listbase_count(), PartDeflect::deflect, DEG_get_collision_relations(), DEG_get_evaluated_id(), depsgraph, eModifierType_Collision, LISTBASE_FOREACH, MEM_callocN, MEM_freeN, NULL, and Object::pd.
Referenced by ccd_build_deflector_hash(), ccd_update_deflector_hash(), cloth_bvh_collision(), dynamicPaint_doStep(), query_external_colliders(), and surface_getBrushFlags().
| void BKE_collision_objects_free | ( | struct Object ** | objects | ) |
Definition at line 1337 of file collision.c.
References MEM_freeN.
Referenced by ccd_build_deflector_hash(), ccd_update_deflector_hash(), cloth_bvh_collision(), dynamicPaint_doStep(), query_external_colliders(), and surface_getBrushFlags().
| struct ListBase* BKE_collision_relations_create | ( | struct Depsgraph * | depsgraph, |
| struct Collection * | collection, | ||
| unsigned int | modifier_type | ||
| ) |
Definition at line 1267 of file collision.c.
References add_collision_object(), BASE_ENABLED_RENDER, BASE_ENABLED_VIEWPORT, BKE_collection_or_layer_objects(), DAG_EVAL_RENDER, DEG_get_input_view_layer(), DEG_get_mode(), depsgraph, Base::flag, MEM_callocN, Base::next, and Base::object.
Referenced by blender::deg::build_collision_relations().
| void BKE_collision_relations_free | ( | struct ListBase * | relations | ) |
Definition at line 1287 of file collision.c.
References BLI_freelistN(), and MEM_freeN.
Referenced by blender::deg::clear_physics_relations().
| struct BVHTree* bvhtree_build_from_mvert | ( | const struct MVert * | mvert, |
| const struct MVertTri * | tri, | ||
| int | tri_num, | ||
| float | epsilon | ||
| ) |
Referenced by deformVerts().
| void bvhtree_update_from_mvert | ( | struct BVHTree * | bvhtree, |
| const struct MVert * | mvert, | ||
| const struct MVert * | mvert_moving, | ||
| const struct MVertTri * | tri, | ||
| int | tri_num, | ||
| bool | moving | ||
| ) |
Referenced by deformVerts().
| void collision_get_collider_velocity | ( | float | vel_old[3], |
| float | vel_new[3], | ||
| struct CollisionModifierData * | collmd, | ||
| struct CollPair * | collpair | ||
| ) |
Definition at line 1740 of file collision.c.
References CollPair::bp1, CollPair::bp2, CollPair::bp3, MVert::co, collision_compute_barycentric(), collision_interpolateOnTriangle(), copy_v3_v3(), CollisionModifierData::current_v, CollisionModifierData::current_x, CollPair::pb, u1, and u2.
| void collision_move_object | ( | struct CollisionModifierData * | collmd, |
| const float | step, | ||
| const float | prevstep, | ||
| const bool | moving_bvh | ||
| ) |
Definition at line 82 of file collision.c.
References CollisionModifierData::bvhtree, bvhtree_update_from_mvert(), MVert::co, CollisionModifierData::current_v, CollisionModifierData::current_x, CollisionModifierData::current_xnew, interp_v3_v3v3(), CollisionModifierData::is_static, CollisionModifierData::mvert_num, sub_v3_v3v3(), CollisionModifierData::tri, CollisionModifierData::tri_num, CollisionModifierData::x, CollisionModifierData::xnew, and zero_v3().
Referenced by BKE_collider_cache_create(), cloth_brush_collider_cache_create(), and cloth_bvh_collision().