]> SALOME platform Git repositories - modules/shaper.git/blob - src/PythonAPI/model/parameter/parameter.py
Salome HOME
377992d7c9c2c5213156eab076afe8fa90ccc5b9
[modules/shaper.git] / src / PythonAPI / model / parameter / parameter.py
1 """Parameter Interface
2 Author: Sergey Pokhodenko
3 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
4 """
5
6 from model.roots import Interface
7
8
9 def addParameter(part, *args):
10     """Add a Parameter feature to the Part and return Parameter.
11
12     Pass all args to Parameter __init__ function.
13     """
14     feature = part.addFeature("Parameter")
15     return Parameter(feature, *args)
16
17
18 class Parameter(Interface):
19     """Interface on a Parameter feature."""
20
21     def __init__(self, feature, *args):
22         """Initialize a Parameter feature with given parameters.
23
24         Expected arguments for all modes:
25         feature -- a Parameter feature
26
27         For initialization (expect 2 arguments):
28         name -- variable name
29         expression -- Python expression
30         """
31         Interface.__init__(self, feature)
32         assert(self._feature.getKind() == "Parameter")
33
34         self._variable = self._feature.data().selection("variable")
35         self._expression = self._feature.data().real("expression")
36
37         assert(self._variable)
38         assert(self._expression)
39
40         if not args:
41             return
42
43         assert(len(args) == 2)
44         self.setName(args[0])
45         self.setExpression(args[1])
46         pass
47
48     def setName(self, name):
49         """Modify variable name attribute of the feature.
50
51         See __init__.
52         """
53         self._fill_attribute(self._name, name)
54         pass
55
56     def setExpression(self, expression):
57         """Modify expression attribute of the feature.
58
59         See __init__.
60         """
61         self._fill_attribute(self._expression, expression)
62         pass