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:
authorover0219 <over0219@umn.edu>2020-07-01 06:42:14 +0300
committerover0219 <over0219@umn.edu>2020-07-01 06:42:14 +0300
commite0a76a48eb80f85026c503206ddc3a82d7af0ddb (patch)
tree5e446f0b35231def45327113266874fd2044917d /extern/softbody/src/admmpd_collision.cpp
parent8af51750b24ea037c5ad64641d79b05a60448d11 (diff)
improved lattice gen
Diffstat (limited to 'extern/softbody/src/admmpd_collision.cpp')
-rw-r--r--extern/softbody/src/admmpd_collision.cpp34
1 files changed, 22 insertions, 12 deletions
diff --git a/extern/softbody/src/admmpd_collision.cpp b/extern/softbody/src/admmpd_collision.cpp
index b7e835a9185..289af9fc68b 100644
--- a/extern/softbody/src/admmpd_collision.cpp
+++ b/extern/softbody/src/admmpd_collision.cpp
@@ -78,18 +78,6 @@ void Collision::detect_discrete_vf(
double floor_z,
std::vector<VFCollisionPair> *pairs)
{
- // Special case, check if we are below the floor
- if (pt[2] < floor_z)
- {
- pairs->emplace_back();
- VFCollisionPair &pair = pairs->back();
- pair.p_idx = pt_idx;
- pair.p_is_obs = pt_is_obs;
- pair.q_idx = -1;
- pair.q_is_obs = 1;
- pair.pt_on_q = Vector3d(pt[0],pt[1],floor_z);
- }
-
// Any faces to detect against?
if (mesh_tris->rows()==0)
return;
@@ -191,6 +179,19 @@ static void parallel_detect(
bary[2] * td->x1->row(tet[2]) +
bary[3] * td->x1->row(tet[3]);
+
+ // Special case, check if we are below the floor
+ if (pt[2] < td->floor_z)
+ {
+ tl_pairs.emplace_back();
+ VFCollisionPair &pair = tl_pairs.back();
+ pair.p_idx = i;
+ pair.p_is_obs = false;
+ pair.q_idx = -1;
+ pair.q_is_obs = 1;
+ pair.pt_on_q = Vector3d(pt[0],pt[1],td->floor_z);
+ }
+
Collision::detect_discrete_vf(
pt, i, false,
&td->obsdata->tree,
@@ -200,6 +201,15 @@ static void parallel_detect(
td->floor_z,
&tl_pairs );
+ // Collision::detect_discrete_vf(
+ // pt, i, false,
+ // &td->obsdata->tree,
+ // &td->obsdata->V1,
+ // &td->obsdata->F,
+ // true,
+ // td->floor_z,
+ // &tl_pairs );
+
} // end detect with embedded meshes
} // end parallel detect