2 Author: Sergey Pokhodenko
3 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
6 from model.roots import Interface
9 def addParameter(part, *args):
10 """Add a Parameter feature to the Part and return Parameter.
12 Pass all args to Parameter __init__ function.
15 feature = part.addFeature("Parameter")
16 return Parameter(feature, *args)
19 class Parameter(Interface):
20 """Interface class for Parameter feature.
22 Parameter(feature) -> feature interface without initialization
23 Parameter(feature, variable, expression) ->
24 feature interface initialized from arguments:
25 - variable -- variable name
26 - expression -- Python expression
29 def __init__(self, feature, *args):
30 """x.__init__(...) initializes x; see x.__class__.__doc__ for signature"""
31 Interface.__init__(self, feature)
32 assert(self._feature.getKind() == "Parameter")
34 self._variable = self._feature.data().string("variable")
35 self._expression = self._feature.data().string("expression")
37 assert(self._variable)
38 assert(self._expression)
43 assert(len(args) == 2)
45 self.setExpression(args[1])
50 def setName(self, name):
51 """Modify variable name attribute of the feature.
55 self._fillAttribute(self._name, name)
58 def setExpression(self, expression):
59 """Modify expression attribute of the feature.
63 self._fillAttribute(self._expression, expression)