@@ -65,11 +65,6 @@ def createScene(root):
6565 root .addObject ("ConstraintAttachButtonSetting" )
6666 root .addObject ("VisualStyle" , displayFlags = "showVisualModels hideBehaviorModels showCollisionModels hideMappings hideForceFields showWireframe showInteractionForceFields" )
6767 root .addObject ("FreeMotionAnimationLoop" )
68- root .addObject ("CollisionPipeline" , name = 'pipeline' , depth = '6' , verbose = '0' )
69- root .addObject ("BruteForceBroadPhase" )
70- root .addObject ("BVHNarrowPhase" )
71- root .addObject ("CollisionResponse" , name = 'response' , response = 'FrictionContactConstraint' )
72- root .addObject ("LocalMinDistance" , name = 'proximity' , alarmDistance = '0.1' , contactDistance = '0.02' )
7368 root .addObject ("ProjectedGaussSeidelConstraintSolver" , tolerance = 0.00001 , maxIt = 5000 )#, regularizationTerm=0.001)
7469 root .addObject ("CollisionLoop" )
7570
@@ -129,8 +124,6 @@ def createScene(root):
129124 needleBodyCollision .addObject ("MechanicalObject" ,name = "mstate_body" , template = "Vec3d" , drawMode = 0 , showObject = False , showObjectScale = 10 )
130125 needleBodyCollision .addObject ("EdgeGeometry" ,name = "geom_body" ,mstate = "@mstate_body" , topology = "@Container_body" )
131126 needleBodyCollision .addObject ("EdgeNormalHandler" , name = "NeedleBeams" , geometry = "@geom_body" )
132- #needleBodyCollision.addObject("LineCollisionModel", name="volLineColi")
133- #needleBodyCollision.addObject("PointCollisionModel", name="volPtColi")
134127 needleBodyCollision .addObject ("IdentityMapping" )
135128
136129 needleTipCollision = needle .addChild ("tipCollision" )
@@ -165,10 +158,10 @@ def createScene(root):
165158 FFCollision .addObject ("EdgeSetTopologyContainer" , name = "Container" , src = "@../../Needle/bodyCollision/Container_body" )
166159 FFCollision .addObject ("MechanicalObject" , name = "mstate_coli" , constraint = "@../../Needle/bodyCollision/mstate_body.constraint" )
167160 FFCollision .addObject ("RigidMapping" , globalToLocalCoords = True )
168- # FFTip = FF.addChild("Tip")
169- # FFTip.addObject("PointSetTopologyContainer", name="Container", src="@../../Needle/tipCollision/Container_tip")
170- # FFTip.addObject("MechanicalObject", name="mstate_coli", constraint="@../../Needle/tipCollision/mstate_tip.constraint")
171- # FFTip.addObject("RigidMapping", globalToLocalCoords=True)
161+ FFTip = FF .addChild ("Tip" )
162+ FFTip .addObject ("PointSetTopologyContainer" , name = "Container" , src = "@../../Needle/tipCollision/Container_tip" )
163+ FFTip .addObject ("MechanicalObject" , name = "mstate_coli" , constraint = "@../../Needle/tipCollision/mstate_tip.constraint" )
164+ FFTip .addObject ("RigidMapping" , globalToLocalCoords = True )
172165
173166 volume = root .addChild ("Volume" )
174167 volume .addObject ("EulerImplicitSolver" )
@@ -196,9 +189,6 @@ def createScene(root):
196189 volumeCollision .addObject ("TriangleGeometry" , name = "geom_tri" , mstate = "@mstate_gelColi" , topology = "@TriContainer" ,draw = False )
197190 volumeCollision .addObject ("PhongTriangleNormalHandler" , name = "SurfaceTriangles" , geometry = "@geom_tri" )
198191 volumeCollision .addObject ("AABBBroadPhase" , name = "AABBTriangles" , thread = 1 , nbox = [2 ,2 ,3 ], method = 2 )
199- #volumeCollision.addObject("TriangleCollisionModel", name="volTriColi")
200- #volumeCollision.addObject("LineCollisionModel", name="volLineColi")
201- #volumeCollision.addObject("PointCollisionModel", name="volPtColi")
202192
203193 volumeCollision .addObject ("IdentityMapping" , name = "identityMappingToCollision" , input = "@../mstate_gel" , output = "@mstate_gelColi" , isMechanical = True )
204194
@@ -223,19 +213,13 @@ def createScene(root):
223213 shaftGeom = "@Needle/bodyCollision/geom_body" ,
224214 volGeom = "@Volume/geom_tetra" ,
225215 punctureForceThreshold = 1. ,
226- tipDistThreshold = 0.02 ,
216+ tipDistThreshold = 0.01 ,
227217 drawcollision = True ,
228218 drawPointsScale = 0.0001
229219 )
230220 root .addObject ("DistanceFilter" ,algo = "@InsertionAlgo" ,distance = 0.02 )
231221 root .addObject ("SecondDirection" ,name = "punctureDirection" ,handler = "@Volume/collision/SurfaceTriangles" )
232222 root .addObject ("ConstraintUnilateral" ,input = "@InsertionAlgo.collisionOutput" ,directions = "@punctureDirection" ,draw_scale = 0.001 , mu = 0.001 )
223+
233224 root .addObject ("FirstDirection" ,name = "bindDirection" , handler = "@Needle/bodyCollision/NeedleBeams" )
234- root .addObject ("ConstraintInsertion" ,
235- input = "@InsertionAlgo.insertionOutput" ,
236- directions = "@bindDirection" ,
237- draw_scale = "0.01" ,
238- frictionCoeff = 0.01 ,
239- slipForce = 0.4 ,
240- popForce = 0.10
241- )
225+ root .addObject ("ConstraintInsertion" ,input = "@InsertionAlgo.insertionOutput" , directions = "@bindDirection" ,draw_scale = "0.01" , frictionCoeff = 0.000 )
0 commit comments