Skip to content

Commit 0219382

Browse files
Fix non working examples.
1 parent ed5e019 commit 0219382

3 files changed

Lines changed: 8 additions & 6 deletions

File tree

stlib/__init__.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,12 @@ def checkName(context : Sofa.Core.Node, name):
2222
name = findName(name, names)
2323
return name
2424

25+
def is_prefab(typeSpecifier):
26+
return isinstance(typeSpecifier, type) and issubclass(typeSpecifier, BasePrefab)
2527

2628
# Check if a name is provided, if not, use the one of the class
2729
params = kwargs.copy()
28-
if isinstance(typeName, type) and issubclass(typeName, BasePrefab): #Only for prefabs
30+
if is_prefab(typeName): #Only for prefabs
2931
if len(params.keys()) > 1 or (len(params.keys()) == 1 and "parameters" not in params):
3032
raise RuntimeError("Invalid argument, a prefab takes only the \"parameters\" kwargs as input")
3133

@@ -43,13 +45,13 @@ def checkName(context : Sofa.Core.Node, name):
4345
else:
4446
raise RuntimeError("Invalid argument ", typeName)
4547

46-
if isinstance(typeName, type) and issubclass(typeName, BasePrefab) and len(params.keys()) == 1:
48+
if is_prefab(typeName) and len(params.keys()) == 1:
4749
params["parameters"].name = checkName(self, params["parameters"].name)
4850
else:
4951
params["name"] = checkName(self, params["name"])
5052

5153
# Dispatch the creation to either addObject or addChild
52-
if isinstance(typeName, type) and issubclass(typeName, BasePrefab):
54+
if is_prefab(typeName):
5355
pref = self.addChild(typeName(**params))
5456
pref.init()
5557
elif isinstance(typeName, Sofa.Core.Node):

stlib/collision.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def __init__(self, parameters: CollisionParameters):
2727

2828
def init(self):
2929

30-
geom = self.add(Geometry, self.parameters.geometry)
30+
geom = self.add(Geometry, parameters=self.parameters.geometry)
3131

3232
self.addObject("MechanicalObject", template="Vec3", position=f"@{self.parameters.geometry.name}/container.position")
3333
for primitive in self.parameters.primitives:
@@ -55,7 +55,7 @@ def createScene(root):
5555
# parameters.kwargs = {
5656
# "TriangleCollisionModel":{"contactStiffness": 100.0, "contactFriction": 0.5}
5757
# }
58-
collision = root.add(Collision, parameters)
58+
collision = root.add(Collision, parameters=parameters)
5959

6060
# OR set the parameters post creation
6161
# collision.TriangleCollisionModel.contactStiffness = 100.0

stlib/visual.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,4 @@ def createScene(root):
3636
parameters = Visual.getParameters()
3737
parameters.name = "LiverVisual"
3838
parameters.geometry = FileParameters(filename="mesh/liver.obj")
39-
root.add(Visual, parameters)
39+
root.add(Visual, parameters=parameters)

0 commit comments

Comments
 (0)