]> SALOME platform Git repositories - modules/shaper.git/blob - src/PythonAPI/model/parameter/parameter.py
Salome HOME
7a5c28f67d2a9ddc5434b3678b63b731acb73f39
[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._CreationMethod = self._feature.data().string("CreationMethod")
35         self._variable = self._feature.data().selection("variable")
36         self._expression = self._feature.data().real("expression")
37
38         if not args:
39             return
40
41         assert(len(args) == 2)
42         self.setName(args[0])
43         self.setExpression(args[1])
44         pass
45
46     def setName(self, name):
47         """Modify variable name attribute of the feature.
48
49         See __init__.
50         """
51         self._fill_attribute(self._name, name)
52         pass
53
54     def setExpression(self, expression):
55         """Modify expression attribute of the feature.
56
57         See __init__.
58         """
59         self._fill_attribute(self._expression, expression)
60         pass