Skip to content

Commit b0cffe7

Browse files
committed
Dump ideas
1 parent 4baade5 commit b0cffe7

1 file changed

Lines changed: 15 additions & 22 deletions

File tree

‎examples/stlib/SofaScene.py‎

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from fontTools.afmLib import preferredAttributeOrder
2+
13
from stlib.geometries.plane import PlaneParameters
24
from stlib.geometries.file import FileParameters
35
from stlib.geometries.extract import ExtractParameters
@@ -13,16 +15,14 @@
1315
import numpy as np
1416

1517

16-
1718
def createScene(root):
1819
root.gravity=[0,0,9.81]
1920
##Solvers
2021
# setupDefaultHeader(root, displayFlags = "showVisualModels",backgroundColor=[0.8, 0.8, 0.8, 1],
2122
# parallelComputing = True)
2223
setupLagrangianCollision(root, displayFlags = "showVisualModels",backgroundColor=[0.8, 0.8, 0.8, 1],
23-
parallelComputing = True,alarmDistance=0.3, contactDistance=0.02,
24-
frictionCoef=0.5, tolerance=1.0e-4, maxIterations=20)
25-
24+
parallelComputing = True,alarmDistance=0.3, contactDistance=0.02,
25+
frictionCoef=0.5, tolerance=1.0e-4, maxIterations=20)
2626
##Environement
2727
planes_lengthNormal = np.array([0, 1, 0])
2828
planes_lengthNbEdge = 1
@@ -64,40 +64,33 @@ def createScene(root):
6464
addImplicitODE(LogoNode)
6565
addLinearSolver(LogoNode, constantSparsity=False, )
6666

67-
LogoParams = EntityParameters()
68-
LogoParams.name = "Logo"
69-
LogoParams.geometry = FileParameters(filename="mesh/SofaScene/Logo.vtk")
67+
LogoParams = EntityParameters(name = "Logo",
68+
geometry = FileParameters(filename="mesh/SofaScene/Logo.vtk"),
69+
material = DeformableBehaviorParameters(),
70+
collision = CollisionParameters(geometry = FileParameters(filename="mesh/SofaScene/LogoColli.sph")),
71+
visual = VisualParameters(geometry = FileParameters(filename="mesh/SofaScene/LogoVisu.obj")))
72+
7073
LogoParams.geometry.elementType = ElementType.TETRAHEDRA
71-
LogoParams.material = DeformableBehaviorParameters()
7274
LogoParams.material.constitutiveLawType = ConstitutiveLaw.ELASTIC
7375
LogoParams.material.parameters = [200, 0.4]
74-
75-
def logoAddMaterial(node):
76-
DeformableBehaviorParameters.addDeformableMaterial(node)
77-
node.addObject("ConstantForceField", name="ConstantForceUpwards", totalForce=[0, 0, -5.0])
78-
#TODO deal with that is a more smooth way in the material directly
79-
node.addObject("LinearSolverConstraintCorrection", name="ConstraintCorrection", linearSolver=LogoNode.LinearSolver.linkpath, ODESolver=LogoNode.ODESolver.linkpath)
80-
81-
82-
LogoParams.material.addMaterial = logoAddMaterial
8376
LogoParams.material.massDensity = 0.003261
84-
LogoParams.collision = CollisionParameters()
8577
LogoParams.collision.primitives = [CollisionPrimitive.SPHERES]
86-
LogoParams.collision.geometry = FileParameters(filename="mesh/SofaScene/LogoColli.sph")
8778
#TODO make this flawless with spheres. Here collisions elements are not in the topology and a link is to be made between the loader and the collision object
8879
LogoParams.collision.kwargs = {"SphereCollision" : {"radius" : "@Geometry/loader.listRadius"}}
89-
LogoParams.visual = VisualParameters()
90-
LogoParams.visual.geometry = FileParameters(filename="mesh/SofaScene/LogoVisu.obj")
9180
LogoParams.visual.color = [0.7, .35, 0, 0.8]
9281

9382
Logo = LogoNode.add(Entity, parameters = LogoParams)
9483

84+
Logo.material.addObject("ConstantForceField", name="ConstantForceUpwards", totalForce=[0, 0, -5.0])
85+
Logo.material.addObject("LinearSolverConstraintCorrection", name="ConstraintCorrection", linearSolver=LogoNode.LinearSolver.linkpath, ODESolver=LogoNode.ODESolver.linkpath)
86+
87+
9588
### S
9689
SNode = root.addChild("SNode")
9790
addImplicitODE(SNode)
9891
addLinearSolver(SNode, constantSparsity=False, )
9992

100-
SParams = EntityParameters()
93+
SParams = EntityParameters("bob.yaml")
10194
SParams.name = "S"
10295
SParams.geometry = FileParameters(filename="mesh/SofaScene/S.vtk")
10396
SParams.geometry.elementType = ElementType.TETRAHEDRA

0 commit comments

Comments
 (0)