.. _d7.01.01-catalog: Catalogue de la commande ======================== Voici le squelette à compléter du catalogue ``code_aster/Cata/Commands/modi_mail.py``: .. code-block:: python from ..Commons import * from ..Language.DataStructure import * from ..Language.Syntax import * MODI_MAIL = OPER( nom="MODI_MAIL", op=190, sd_prod=maillage_sdaster, fr=tr("Modifier un maillage par translation"), reentrant="o:MAILLAGE", reuse=SIMP(statut="c", typ=CO), MAILLAGE=..., TRANSLATION=..., INFO=SIMP(statut="f", typ="I", defaut=1, into=(1, 2)), ) .. _d7.01.01-catalog-descr: Description du catalogue ------------------------ Les imports des autres modules dans tout le *package* code_aster doivent être faits en relatif (``from ..Commons`` et non ``from code_aster.Cata.Commons``). ``import *`` est interdit sauf dans les catalogues de commandes. ``nom`` doit être identique à ce qu'il y a à gauche du signe égal, en autres, pour automatiser l'import des commandes. On note que ce catalogue sera automatiquement importé sans autre ajout. Le nom du fichier est également cohérent (en minuscules). ``op`` indique le numéro de la routine fortran qui est appelée. Pour une nouvelle commande, choisir un numéro libre dans ``ex0000.F90``. ``sd_prod`` définit le type de l'objet en sortie. Le catalogue est aussi utilisé par AsterStudy qui ne peut pas importer tout code_aster. Il s'agit donc d'une *DataStructure* légère, définie dans ``code_aster/Cata/DataStructure.py``, et non de l'objet qui sera produit dans le fichier de commandes. Ici, ``maillage_sdaster`` vs ``Mesh``. AsterStudy manipule un objet ``maillage_sdaster`` qui ne contient pas beaucoup plus que son type et le fichier de commandes manipule de vrais objets ``Mesh``. La correspondance est faite ainsi: .. code-block:: python maillage_sdaster.getType() == Mesh().getType() == "MAILLAGE_SDASTER" ``reentrant`` indique que la commande est obligatoirement ('o') "réentrante", c'est à dire qu'elle modifie l'objet fourni au mot-clé ``MAILLAGE``. Si elle était réentrante selon les mots-clés fournis, on indiquerait 'f' (facultatif) ou 'n' si elle ne l'est jamais. Si elle peut être réentrante, il faut ajouter le mot-clé caché ``reuse``, toujours défini ainsi. Le mot-clé INFO est présent dans la majorité des commandes. Il vaut 1 (verbosité normale) ou 2 (impressions détaillées supplémentaires). .. _d7.01.01-cata-todo: Mots-clés à ajouter ~~~~~~~~~~~~~~~~~~~ MAILLAGE est un mot-clé simple. Il faut définir son caractère facultatif ou obligatoire, le type attendu. Pour cet exercice, on souhaite que TRANSLATION soit un mot-clé facteur qui ne contient qu'un seul mot-clé simple VECTEUR. Ces mots-clés sont obligatoires. Il est plus naturel pour l'utilisateur de fournir 2 valeurs réelles pour définir le vecteur de translation en 2D et 3 en 3D.