Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIsh Bosamiya <ish_bosamiya>2020-03-02 16:52:58 +0300
committerGermano Cavalcante <germano.costa@ig.com.br>2020-03-02 17:02:26 +0300
commit5afa4b1dc8aacdd17f72a2bcaccd53838107c229 (patch)
tree5c57184327e0dc9c27b5af0451f0014f9502908d /source/blender/blenkernel/BKE_cloth.h
parent1648a7903672604dca096d49b282cf737dd9e661 (diff)
Fix T65568: sewing and self collision issue
As explained in T65568 by @LucaRood, the self collision system should exclude triangles that are connected by sewing springs. Differential Revision: https://developer.blender.org/D6911
Diffstat (limited to 'source/blender/blenkernel/BKE_cloth.h')
-rw-r--r--source/blender/blenkernel/BKE_cloth.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/blenkernel/BKE_cloth.h b/source/blender/blenkernel/BKE_cloth.h
index 039104cf377..883f4a137e7 100644
--- a/source/blender/blenkernel/BKE_cloth.h
+++ b/source/blender/blenkernel/BKE_cloth.h
@@ -32,6 +32,7 @@ struct Depsgraph;
struct Mesh;
struct Object;
struct Scene;
+struct GHash;
#define DO_INLINE MALWAYS_INLINE
@@ -44,8 +45,8 @@ struct Scene;
/* Bits to or into the ClothVertex.flags. */
typedef enum eClothVertexFlag {
- CLOTH_VERT_FLAG_PINNED = 1,
- CLOTH_VERT_FLAG_NOSELFCOLL = 2, /* vertex NOT used for self collisions */
+ CLOTH_VERT_FLAG_PINNED = (1 << 0),
+ CLOTH_VERT_FLAG_NOSELFCOLL = (1 << 1), /* vertex NOT used for self collisions */
} eClothVertexFlag;
typedef struct ClothHairData {
@@ -88,8 +89,9 @@ typedef struct Cloth {
struct Implicit_Data *implicit; /* our implicit solver connects to this pointer */
struct EdgeSet *edgeset; /* used for selfcollisions */
int last_frame;
- float initial_mesh_volume; /* Initial volume of the mesh. Used for pressure */
- struct MEdge *edges; /* Used for hair collisions. */
+ float initial_mesh_volume; /* Initial volume of the mesh. Used for pressure */
+ struct MEdge *edges; /* Used for hair collisions. */
+ struct GHash *sew_edge_graph; /* Sewing edges represented using a GHash */
} Cloth;
/**