Skip to content

Commit b7c673b

Browse files
epernodth-skam
andauthored
[scenes] Update scenes to be compatible with changes in SOFA regarding IntegrationScheme (#120)
* [scenes] Update scenes to be comaptible with latest version of SOFA * Remove LCPForceFeedback when Geomagic=False; warnings trigger regression failure * Add regression references from v25.12 over the whole interval, not just first and last states * Enable impulseBased=true * Uncomment LCPForceFeedback * Relax tolerance to 1e-5 * Restore old references * Restore old regression tolerance * Ignore python scene cache --------- Co-authored-by: Themis Skamagkis <themisskamagkis@gmail.com>
1 parent 1d86d60 commit b7c673b

4 files changed

Lines changed: 11 additions & 10 deletions

File tree

‎.gitignore‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
public
1+
# ignore cached bytecode-compiled python scene files
2+
*__pycache__/

‎examples/NeedleInsertion.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def createScene(root):
3232

3333
root.addObject("RequiredPlugin",pluginName=['Sofa.Component.AnimationLoop',
3434
'Sofa.Component.Constraint.Lagrangian.Solver',
35-
'Sofa.Component.ODESolver.Backward',
35+
'Sofa.Component.IntegrationScheme.Backward',
3636
'Sofa.Component.Visual',
3737
'Sofa.Component.Constraint.Lagrangian.Correction',
3838
'Sofa.Component.Constraint.Lagrangian.Model',
@@ -79,7 +79,7 @@ def createScene(root):
7979

8080

8181
needle = root.addChild("Needle")
82-
needle.addObject("EulerImplicitSolver", firstOrder=True)
82+
needle.addObject("EulerImplicitIntegrationScheme", firstOrder=True)
8383
needle.addObject("EigenSparseLU", name="LinearSolver", template="CompressedRowSparseMatrixd")
8484
needle.addObject("EdgeSetTopologyContainer", name="Container", position=[[i * g_needleLength/(g_needleNumberOfElems) + g_needleBaseOffset[0], g_needleBaseOffset[1], g_needleBaseOffset[2]] for i in range(g_needleNumberOfElems + 1)]
8585
, edges=[[i, i+1] for i in range(g_needleNumberOfElems)])
@@ -140,7 +140,7 @@ def createScene(root):
140140

141141

142142
volume = root.addChild("Volume")
143-
volume.addObject("EulerImplicitSolver")
143+
volume.addObject("EulerImplicitIntegrationScheme", impulseBased=True)
144144
volume.addObject("EigenSimplicialLDLT", name="LinearSolver", template='CompressedRowSparseMatrixMat3x3d')
145145
volume.addObject("TetrahedronSetTopologyContainer", name="TetraContainer", position="@../GelGridTopo/HexaTop.position")
146146
volume.addObject("TetrahedronSetTopologyModifier", name="TetraModifier")

‎examples/NeedleInsertionCycles.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def createScene(root):
3232

3333
root.addObject("RequiredPlugin",pluginName=['Sofa.Component.AnimationLoop',
3434
'Sofa.Component.Constraint.Lagrangian.Solver',
35-
'Sofa.Component.ODESolver.Backward',
35+
'Sofa.Component.IntegrationScheme.Backward',
3636
'Sofa.Component.Visual',
3737
'Sofa.Component.Constraint.Lagrangian.Correction',
3838
'Sofa.Component.Constraint.Lagrangian.Model',
@@ -95,7 +95,7 @@ def createScene(root):
9595

9696

9797
needle = root.addChild("Needle")
98-
needle.addObject("EulerImplicitSolver", firstOrder=True)
98+
needle.addObject("EulerImplicitIntegrationScheme", firstOrder=True)
9999
needle.addObject("EigenSparseLU", name="LinearSolver", template="CompressedRowSparseMatrixd")
100100
needle.addObject("EdgeSetTopologyContainer", name="Container", position=[[i * g_needleLength/(g_needleNumberOfElems) + g_needleBaseOffset[0], g_needleBaseOffset[1], g_needleBaseOffset[2]] for i in range(g_needleNumberOfElems + 1)]
101101
, edges=[[i, i+1] for i in range(g_needleNumberOfElems)])
@@ -156,7 +156,7 @@ def createScene(root):
156156

157157

158158
volume = root.addChild("Volume")
159-
volume.addObject("EulerImplicitSolver")
159+
volume.addObject("EulerImplicitIntegrationScheme", impulseBased=True)
160160
volume.addObject("EigenSimplicialLDLT", name="LinearSolver", template='CompressedRowSparseMatrixMat3x3d')
161161
volume.addObject("TetrahedronSetTopologyContainer", name="TetraContainer", position="@../GelGridTopo/HexaTop.position")
162162
volume.addObject("TetrahedronSetTopologyModifier", name="TetraModifier")

‎examples/NeedleInsertionHaptics.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def createScene(root):
3434

3535
root.addObject("RequiredPlugin",pluginName=['Sofa.Component.AnimationLoop',
3636
'Sofa.Component.Constraint.Lagrangian.Solver',
37-
'Sofa.Component.ODESolver.Backward',
37+
'Sofa.Component.IntegrationScheme.Backward',
3838
'Sofa.Component.Visual',
3939
'Sofa.Component.Constraint.Lagrangian.Correction',
4040
'Sofa.Component.Constraint.Lagrangian.Model',
@@ -98,7 +98,7 @@ def createScene(root):
9898
toolController.addObject("ReadState", name="reader", filename="RecordState/NeedleInsertionHaptics.txt")
9999

100100
needle = root.addChild("Needle")
101-
needle.addObject("EulerImplicitSolver", firstOrder=True)
101+
needle.addObject("EulerImplicitIntegrationScheme", firstOrder=True)
102102
needle.addObject("EigenSparseLU", name="LinearSolver", template="CompressedRowSparseMatrixd")
103103
needle.addObject("EdgeSetTopologyContainer", name="Container"
104104
, position=[[g_needleBaseOffset[0], g_needleBaseOffset[1], -(i * g_needleLength/(g_needleNumberOfElems) + g_needleBaseOffset[2])] for i in range(g_needleNumberOfElems + 1)]
@@ -164,7 +164,7 @@ def createScene(root):
164164
FFTip.addObject("RigidMapping", globalToLocalCoords=True)
165165

166166
volume = root.addChild("Volume")
167-
volume.addObject("EulerImplicitSolver")
167+
volume.addObject("EulerImplicitIntegrationScheme", impulseBased=True)
168168
volume.addObject("EigenSimplicialLDLT", name="LinearSolver", template='CompressedRowSparseMatrixMat3x3d')
169169
volume.addObject("MeshGmshLoader", name="meshLoader", filename="mesh/liver.msh", scale3d=[0.08, 0.08, 0.08], translation=[0, -0.3, -0.2])
170170
volume.addObject("TetrahedronSetTopologyContainer", name="TetraContainer", position="@meshLoader.position", tetrahedra="@meshLoader.tetrahedra")

0 commit comments

Comments
 (0)