diff options
author | over0219 <over0219@umn.edu> | 2020-07-01 06:42:14 +0300 |
---|---|---|
committer | over0219 <over0219@umn.edu> | 2020-07-01 06:42:14 +0300 |
commit | e0a76a48eb80f85026c503206ddc3a82d7af0ddb (patch) | |
tree | 5e446f0b35231def45327113266874fd2044917d /extern/softbody/src/admmpd_collision.cpp | |
parent | 8af51750b24ea037c5ad64641d79b05a60448d11 (diff) |
improved lattice gen
Diffstat (limited to 'extern/softbody/src/admmpd_collision.cpp')
-rw-r--r-- | extern/softbody/src/admmpd_collision.cpp | 34 |
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 |