]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
Added doc for salome.kernel.varlist module
authorbarate <barate>
Thu, 31 Mar 2011 09:57:05 +0000 (09:57 +0000)
committerbarate <barate>
Thu, 31 Mar 2011 09:57:05 +0000 (09:57 +0000)
doc/docutils/docapi.rst
src/KERNEL_PY/kernel/varlist.py

index 9634eb428373238d001955a782091d909e00beae..b0b2b53488273dbf6c05511a6a3c7eccd89c8e12 100644 (file)
@@ -44,3 +44,10 @@ code documentation included in source python files.
 
 .. automodule:: salome.kernel.studyedit
    :members:
+
+
+:mod:`varlist` -- Handle Exchange Variables
+-------------------------------------------
+
+.. automodule:: salome.kernel.varlist
+   :members:
index 538c891cc5cc32df9ac4580eed9ff37c84fb7945..a2cadeb4765a6bf45f7085f72dadbe20b2fe437e 100644 (file)
 #  License along with this library; if not, write to the Free Software
 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 #
-#  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#  See http://www.salome-platform.org/ or
+#  email : webmaster.salome@opencascade.com
 #
 
+"""
+This module provides classes and functions to handle "Exchange Variables",
+i.e. description of variables to be exchanged between a supervision code and a
+computation code. These Exchange Variables can be stored in a SObject in
+Salome study.
+"""
+
 from studyedit import getStudyEditor
 
 DEFAULT_NAME = "Variables"
@@ -25,8 +33,13 @@ OUTPUT_VAR_NAMES = "ExchangeVariables.OutputVarNames"
 REF_ENTRY = "ExchangeVariables.RefEntry"
 
 class Variable:
+    """
+    This class describes a single variable. For now, it is only described by
+    its name. Other attributes are reserved for future use.
+    """
     
-    def __init__(self, name, dimension = [], minValue = None, maxValue = None, initialValue = None):
+    def __init__(self, name, dimension = [], minValue = None, maxValue = None,
+                 initialValue = None):
         self.name = name
         
         # Reserved for future use
@@ -37,15 +50,62 @@ class Variable:
 
 
 class ExchangeVariables:
+    """
+    This class describes "Exchange Variables", i.e. a structure containing all
+    the necessary information to exchange variables between a supervision code
+    and a computation code.
+
+    .. attribute:: inputVarList
+    
+       This instance attribute is a list of :class:`Variable` objects,
+       describing the input variables for the computation code.
+
+    .. attribute:: outputVarList
     
-    def __init__(self, inputVarList = [], outputVarList = [], refEntry = None):
+       This instance attribute is a list of :class:`Variable` objects,
+       describing the output variables for the computation code.
+
+    .. attribute:: refEntry
+
+       This instance attribute is optional and can be used to store a
+       reference to a Salome entry containing an "Exchange Variable" SObject
+       that was used to build this one (when the current object has been built
+       by selecting variables of interest in a list of potential variables).
+
+    """
+    
+    def __init__(self, inputVarList = [], outputVarList = [],
+                 refEntry = None):
         self.inputVarList = inputVarList
         self.outputVarList = outputVarList
         self.refEntry = refEntry
 
 
 def createSObjectForExchangeVariables(fatherSobj, exchangeVariables,
-                                      name = DEFAULT_NAME, icon = None, typeId = None):
+                                      name = DEFAULT_NAME,
+                                      icon = None, typeId = None):
+    """
+    Create a SObject to store an :class:`ExchangeVariables` instance.
+
+    :type  fatherSobj: SObject
+    :param fatherSobj: parent of the SObject to create.
+
+    :type  exchangeVariables: :class:`ExchangeVariables`
+    :param exchangeVariables: :class:`ExchangeVariables` instance to store in
+                              Salome study.
+
+    :type  name: string
+    :param name: name of the SObject to create.
+
+    :type  icon: string
+    :param icon: icon of the SObject to create.
+
+    :type  typeId: integer
+    :param typeId: type of the SObject to create.
+
+    :return: the newly created SObject.
+
+    """
     studyId = fatherSobj.GetStudy()._get_StudyId()
     editor = getStudyEditor(studyId)
     sobj = editor.createItem(fatherSobj,
@@ -55,7 +115,18 @@ def createSObjectForExchangeVariables(fatherSobj, exchangeVariables,
     _setSObjectForExchangeVariables(editor, sobj, exchangeVariables)
 
 def updateSObjectForExchangeVariables(sobj, exchangeVariables,
-                                      name = DEFAULT_NAME, icon = None, typeId = None):
+                                      name = DEFAULT_NAME,
+                                      icon = None, typeId = None):
+    """
+    Update an existing SObject storing an :class:`ExchangeVariables` instance.
+
+    :type  sobj: SObject
+    :param sobj: the SObject to update.
+
+    See :func:`createSObjectForExchangeVariables` for the description of the
+    other parameters.
+
+    """
     studyId = sobj.GetStudy()._get_StudyId()
     editor = getStudyEditor(studyId)
     editor.setItem(sobj, name = name, icon = icon, typeId = typeId)
@@ -64,18 +135,31 @@ def updateSObjectForExchangeVariables(sobj, exchangeVariables,
 
 def _setSObjectForExchangeVariables(editor, sobj, exchangeVariables):
     attr = editor.builder.FindOrCreateAttribute(sobj, "AttributeParameter")
-    attr.SetStrArray(INPUT_VAR_NAMES, [x.name for x in exchangeVariables.inputVarList])
-    attr.SetStrArray(OUTPUT_VAR_NAMES, [x.name for x in exchangeVariables.outputVarList])
+    attr.SetStrArray(INPUT_VAR_NAMES,
+                     [x.name for x in exchangeVariables.inputVarList])
+    attr.SetStrArray(OUTPUT_VAR_NAMES,
+                     [x.name for x in exchangeVariables.outputVarList])
     if exchangeVariables.refEntry is not None:
         attr.SetString(REF_ENTRY, exchangeVariables.refEntry)
 
 def getExchangeVariablesFromSObject(sobj):
+    """
+    Get an :class:`ExchangeVariables` instance from a SObject that stores it.
+
+    :type  sobj: SObject
+    :param sobj: the SObject from which to read the :class:`ExchangeVariables`
+                 instance.
+
+    :return: the newly created :class:`ExchangeVariables` instance.
+
+    """
     (found, attr) = sobj.FindAttribute("AttributeParameter")
     if not found:
         return None
     refEntry = None
     if attr.IsSet(REF_ENTRY, 3):
         refEntry = attr.GetString(REF_ENTRY)
-    return ExchangeVariables([Variable(name) for name in attr.GetStrArray(INPUT_VAR_NAMES)],
-                             [Variable(name) for name in attr.GetStrArray(OUTPUT_VAR_NAMES)],
-                             refEntry)
+    return ExchangeVariables(
+            [Variable(name) for name in attr.GetStrArray(INPUT_VAR_NAMES)],
+            [Variable(name) for name in attr.GetStrArray(OUTPUT_VAR_NAMES)],
+            refEntry)