1+ import copy
12import Sofa .Core
2- from baseParameters import BaseParameters
3+ from stlib .core .basePrefabParameters import BasePrefabParameters
4+
5+
6+ def addFromTypeName (self : Sofa .Core .Node , typeName , params = BasePrefabParameters , ** kwargs ):
7+ def findName (cname , node ):
8+ """Compute a working unique name in the node"""
9+ rname = cname
10+ for i in range (0 , len (node .children )):
11+ if rname not in node .children :
12+ return rname
13+ rname = cname + str (i + 1 )
14+ return rname
15+
16+ for k ,v in kwargs .items ():
17+ if hasattr (params , k ):
18+ setattr (params , k , v )
19+
20+ params = copy .copy (params )
21+ if params .name in self .children :
22+ params .name = findName (params .name , self )
23+
24+ return typeName (parent = self , parameters = params )
25+
26+ Sofa .Core .Node .add = addFromTypeName
327
428
529class BasePrefab (Sofa .Core .Prefab ):
@@ -8,4 +32,8 @@ class BasePrefab(Sofa.Core.Prefab):
832 """
933
1034 def __init__ (self , params : BaseParameters ):
11- Sofa .Core .Prefab .__init__ (self , name = params .name )
35+ Sofa .Core .Prefab .__init__ (self , name = params .name )
36+
37+ def localToGlobalCoordinates (pointCloudInput , pointCloudOutput ):
38+ raise NotImplemented ("Send an email to Damien, he will help you. Guaranteed :)" )
39+
0 commit comments