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:
authorLukas Tönne <lukas.toenne@gmail.com>2014-09-04 21:58:17 +0400
committerLukas Tönne <lukas.toenne@gmail.com>2015-01-20 11:29:58 +0300
commit396f7ea1582b89fa33af4b4ff0a5562534316f7b (patch)
tree65ed5a868a21164fc4d9cb8b4f6e8f548e8e44c3 /source/blender/blenkernel/intern/implicit.c
parentd1cb8b08bdcd4fbfef18960aa7ddee712d69d317 (diff)
Don't try to enforce a velocity change for pinned vertices; their
velocity is defined externally by hair root motion.
Diffstat (limited to 'source/blender/blenkernel/intern/implicit.c')
-rw-r--r--source/blender/blenkernel/intern/implicit.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/implicit.c b/source/blender/blenkernel/intern/implicit.c
index 0d4a7ec7e4a..227bd2aef93 100644
--- a/source/blender/blenkernel/intern/implicit.c
+++ b/source/blender/blenkernel/intern/implicit.c
@@ -1768,18 +1768,15 @@ static void setup_constraint_matrix(ClothModifierData *clmd, ColliderContacts *c
int numverts = clmd->clothObject->numverts;
int i, j, v;
- /* Clear matrix from old vertex constraints */
- for (v = 0; v < S[0].vcount; v++)
- S[v].c = S[v].r = 0;
-
- /* pinned vertex constraints */
for (v = 0; v < numverts; v++) {
S[v].c = S[v].r = v;
if (verts[v].flags & CLOTH_VERT_FLAG_PINNED) {
- negate_v3_v3(z[v], verts[v].v);
+ /* pinned vertex constraints */
+ zero_v3(z[v]); /* velocity is defined externally */
zero_m3(S[v].m);
}
else {
+ /* free vertex */
zero_v3(z[v]);
unit_m3(S[v].m);
}