File tree Expand file tree Collapse file tree 1 file changed +6
-13
lines changed
src/sofa/collisionAlgorithm/algorithm Expand file tree Collapse file tree 1 file changed +6
-13
lines changed Original file line number Diff line number Diff line change 66#include < sofa/collisionAlgorithm/operations/CreateCenterProximity.h>
77#include < sofa/collisionAlgorithm/operations/FindClosestProximity.h>
88#include < sofa/collisionAlgorithm/operations/Project.h>
9+ #include < sofa/collisionAlgorithm/operations/ContainsPoint.h>
910#include < sofa/collisionAlgorithm/proximity/EdgeProximity.h>
1011#include < sofa/collisionAlgorithm/proximity/TetrahedronProximity.h>
1112#include < sofa/component/constraint/lagrangian/solver/ConstraintSolverImpl.h>
@@ -228,20 +229,12 @@ class InsertionAlgorithm : public BaseAlgorithm
228229 // Only accept proximities if the tip is inside the tetra during insertion
229230 if (volProx)
230231 {
231- TetrahedronProximity::SPtr tetProx =
232- dynamic_pointer_cast<TetrahedronProximity>(volProx );
233- if (tetProx )
232+ auto containsPointInVol =
233+ Operations::ContainsPointProximity::Operation::get (l_volGeom-> getTypeInfo () );
234+ if ( containsPointInVol (tipProx-> getPosition (), volProx) )
234235 {
235- double f0 (tetProx->f0 ()), f1 (tetProx->f1 ()), f2 (tetProx->f2 ()),
236- f3 (tetProx->f3 ());
237- bool isInTetra = toolbox::TetrahedronToolBox::isInTetra (
238- tipProx->getPosition (), tetProx->element ()->getTetrahedronInfo (), f0,
239- f1, f2, f3);
240- if (isInTetra)
241- {
242- volProx->normalize ();
243- m_couplingPts.push_back (volProx);
244- }
236+ volProx->normalize ();
237+ m_couplingPts.push_back (volProx);
245238 }
246239 }
247240 }
You can’t perform that action at this time.
0 commit comments