Skip to content

Commit 71925be

Browse files
committed
Now register in entity if node containing mstate is child of entity
1 parent fdd6c49 commit 71925be

2 files changed

Lines changed: 10 additions & 3 deletions

File tree

examples/stlib/node_modifier.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,15 +76,14 @@ def createScene(root):
7676
SParams.collision.primitives = [CollisionPrimitive.TRIANGLES]
7777
# # #TODO: to fix link issues for extracted geometry, it might be better to give source geometry relative link + parameters
7878
## TODO: not working with static container because the init order is always wrong so that the triangle vector is always empty when initializing the container
79-
SParams.collision.geometry = ExtractParameters(destinationType=ElementType.TRIANGLES, sourceParameters=SParams.geometry,dynamicTopology=True)
79+
SParams.collision.geometry = ExtractParameters(destinationType=ElementType.TRIANGLES, sourceParameters=SParams.geometry)
8080
SParams.visual = VisualParameters()
8181
SParams.visual.geometry = FileParameters(filename="mesh/SofaScene/SVisu.obj")
8282
SParams.visual.color = [0.7, .7, 0.7, 0.8]
8383

8484
S = ModelsNode.add(Entity, parameters = SParams)
8585

8686
#TODO make the name automatically match the modifier type if none is given
87-
#TODO why this doesn't add itself to the modelsnode "modified by" data ???
8887
root.add(NodeModifier, on = [ModelsNode], parameters = SimulationSolversParameters(name = "SimulationSolvers",
8988
constantSparsity=False))
9089

stlib/node_modifiers/footers.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import dataclasses
2+
3+
from stlib.entities import EntityParameters, Entity
24
from stlib.node_modifiers import BaseNodeModifierParameters, AffectedNodes
35
from splib.core.enum_types import ConstraintType
46
from splib.core.utils import DEFAULT_VALUE
@@ -68,7 +70,13 @@ def _addConstraintCorrectionToMechanicalNodes(node, constraintCorrectionType : s
6870
if(linearSolverPath is None):
6971
raise ValueError(f"No linear solver found before {child.getLinkPath()}. Please add one to fix this.")
7072
child.addObject(constraintCorrectionType, linearSolver=linearSolverPath)
71-
modified += [child]
73+
74+
if(isinstance(node, Entity)):
75+
modified += [node]
76+
else:
77+
modified += [child]
78+
79+
break
7280
else:
7381
modified += SimulationSettingsParameters._addConstraintCorrectionToMechanicalNodes(child, constraintCorrectionType, linearSolverPath)
7482
return modified

0 commit comments

Comments
 (0)