|
2 | 2 | import Sofa |
3 | 3 |
|
4 | 4 | g_needleLength=0.200 #(m) |
5 | | -g_needleNumberOfElems=20 #(# of edges) |
| 5 | +g_needleNumberOfElems=12 #(# of edges) |
6 | 6 | g_needleBaseOffset=[0.04,0.15,-0.2] |
7 | 7 | g_needleRadius = 0.001 #(m) |
8 | 8 | g_needleMechanicalParameters = { |
@@ -64,6 +64,9 @@ def createScene(root): |
64 | 64 | 'Sofa.GL.Component.Rendering3D', |
65 | 65 | 'Sofa.GUI.Component', |
66 | 66 | 'Sofa.Component.Engine.Select', |
| 67 | + 'Sofa.Component.Playback', |
| 68 | + 'Geomagic', |
| 69 | + 'Sofa.Component.Haptics', |
67 | 70 | 'MultiThreading', |
68 | 71 | 'CollisionAlgorithm', |
69 | 72 | 'ConstraintGeometry' |
@@ -97,12 +100,16 @@ def createScene(root): |
97 | 100 | , orientationBase=[0, 0.174, 0, -0.985] |
98 | 101 | ) |
99 | 102 | toolController.addObject("MechanicalObject", name="mstate_baseMaster" |
100 | | - , position="@GeomagicDevice.positionDevice" |
| 103 | + #, position="@GeomagicDevice.positionDevice" |
| 104 | + , position="@reader.position" |
101 | 105 | , template="Rigid3d" |
102 | 106 | , showObjectScale=0.01 |
103 | 107 | , showObject=False |
104 | 108 | , drawMode=1 |
105 | 109 | ) |
| 110 | + #toolController.addObject("WriteState", name="writer", filename="RecordState/NeedleInsertionLayers.txt" |
| 111 | + # , period=0.005, writeX=True, writeV=True, time=0) |
| 112 | + toolController.addObject("ReadState", name="reader", filename="RecordState/NeedleInsertionLayers.txt") |
106 | 113 |
|
107 | 114 | needle = root.addChild("Needle") |
108 | 115 | needle.addObject("EulerImplicitSolver", firstOrder=True) |
@@ -158,7 +165,7 @@ def createScene(root): |
158 | 165 | FF = root.addChild("ForceFeedback") |
159 | 166 | FF.addObject("MechanicalObject", name="mstate_lcp", template="Rigid3d" |
160 | 167 | , showObject=False, src="@../Needle/needleBase/mstate_base") |
161 | | - FF.addObject("LCPForceFeedback", name="lcp_ff", activate=1, forceCoef=0.0015) |
| 168 | + FF.addObject("LCPForceFeedback", name="lcp_ff", activate=1, forceCoef=0.0012) |
162 | 169 | FFBody = FF.addChild("Body") |
163 | 170 | FFBody.addObject("EdgeSetTopologyContainer", name="Container", src="@../../Needle/bodyCollision/Container_body") |
164 | 171 | FFBody.addObject("MechanicalObject", name="mstate_coli", constraint="@../../Needle/bodyCollision/mstate_body.constraint") |
@@ -231,7 +238,7 @@ def createScene(root): |
231 | 238 |
|
232 | 239 | for i in range(0,3): |
233 | 240 | algo = root.addChild("algo"+str(i)) |
234 | | - punctureForce = 500 if i < 2 else 2000 |
| 241 | + punctureForce = 400 if i < 2 else 2000 |
235 | 242 | algo.addObject("InsertionAlgorithm", name="InsertionAlgo"+str(i), |
236 | 243 | tipGeom="@/Needle/tipCollision/geom_tip", |
237 | 244 | surfGeom="@/Layer"+str(i)+"/collision/geom_tri", |
|
0 commit comments