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.
14 feature = part.addFeature("Parameter")
15 return Parameter(feature, *args)
18 class Parameter(Interface):
19 """Interface class for Parameter feature.
21 Parameter(feature) -> feature interface without initialization
22 Parameter(feature, variable, expression) ->
23 feature interface initialized from arguments:
24 - variable -- variable name
25 - expression -- Python expression
28 def __init__(self, feature, *args):
29 """x.__init__(...) initializes x; see x.__class__.__doc__ for signature"""
30 Interface.__init__(self, feature)
31 assert(self._feature.getKind() == "Parameter")
33 self._variable = self._feature.data().selection("variable")
34 self._expression = self._feature.data().real("expression")
36 assert(self._variable)
37 assert(self._expression)
42 assert(len(args) == 2)
44 self.setExpression(args[1])
49 def setName(self, name):
50 """Modify variable name attribute of the feature.
54 self._fill_attribute(self._name, name)
57 def setExpression(self, expression):
58 """Modify expression attribute of the feature.
62 self._fill_attribute(self._expression, expression)