diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2014-09-04 16:22:22 +0400 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2015-01-20 11:29:57 +0300 |
commit | 27ecda9995725f7e4b02211108be730b02530769 (patch) | |
tree | 95bbb8aca34ad74c1ae2b5361494dd5c1695fe2d /source/blender/blenkernel/BKE_cloth.h | |
parent | 02ab74eb5563a9ba18e3ebd947deffe81cb88409 (diff) |
Use the S matrix of the modifier CG algorithm for implementing collision
responses.
The S matrix together with the z Vector encodes the degrees of freedom
of a colliding hair point and the target velocity change. In a collision
the hair vertex is restricted in the normal direction (when moving
toward the collider) and the collision dynamics define target velocity.
Diffstat (limited to 'source/blender/blenkernel/BKE_cloth.h')
-rw-r--r-- | source/blender/blenkernel/BKE_cloth.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_cloth.h b/source/blender/blenkernel/BKE_cloth.h index 151a2b58ad3..df118276809 100644 --- a/source/blender/blenkernel/BKE_cloth.h +++ b/source/blender/blenkernel/BKE_cloth.h @@ -44,6 +44,7 @@ struct ClothModifierData; struct CollisionModifierData; struct CollisionTree; struct VoxelData; +struct PartDeflect; #define DO_INLINE MALWAYS_INLINE @@ -201,6 +202,9 @@ void cloth_find_point_contacts(struct Object *ob, struct ClothModifierData *clmd ColliderContacts **r_collider_contacts, int *r_totcolliders); void cloth_free_contacts(ColliderContacts *collider_contacts, int totcolliders); +bool cloth_points_collpair_response(struct ClothModifierData *clmd, struct CollisionModifierData *collmd, struct PartDeflect *pd, + struct CollPair *collpair, float dt, float r_impulse[3]); + //////////////////////////////////////////////// |