From 999139fa0f3c613470386a6264932e947fc545ec Mon Sep 17 00:00:00 2001 From: boulant Date: Fri, 16 Nov 2012 11:02:03 +0000 Subject: [PATCH] Rename xmed to medop --- src/MEDOP/doc/sphinx/CMakeLists.txt | 15 -- src/MEDOP/doc/sphinx/Makefile.am | 26 +- .../sphinx/_static/{xmed.css => medop.css} | 0 src/MEDOP/doc/sphinx/conf.py.in | 12 +- src/MEDOP/doc/sphinx/index.rst | 40 +-- ...-definitions.rst => medop-definitions.rst} | 0 ...ed-develguide.rst => medop-develguide.rst} | 194 +++++++++------ ...ide.rst => medop-prototype-develguide.rst} | 0 ...-medmem.rst => medop-prototype-medmem.rst} | 2 +- ...rview.rst => medop-prototype-overview.rst} | 0 ...ed-references.rst => medop-references.rst} | 2 +- ...fications.rst => medop-specifications.rst} | 10 +- ...xmed-userguide.rst => medop-userguide.rst} | 33 ++- ...s-2010.rst => medop-workingnotes-2010.rst} | 0 ...s-2011.rst => medop-workingnotes-2011.rst} | 2 +- ...s-2012.rst => medop-workingnotes-2012.rst} | 2 +- src/MEDOP/doc/sphinx/salomedoc.rst | 231 ------------------ 17 files changed, 178 insertions(+), 391 deletions(-) rename src/MEDOP/doc/sphinx/_static/{xmed.css => medop.css} (100%) rename src/MEDOP/doc/sphinx/{xmed-definitions.rst => medop-definitions.rst} (100%) rename src/MEDOP/doc/sphinx/{xmed-develguide.rst => medop-develguide.rst} (78%) rename src/MEDOP/doc/sphinx/{xmed-prototype-develguide.rst => medop-prototype-develguide.rst} (100%) rename src/MEDOP/doc/sphinx/{xmed-prototype-medmem.rst => medop-prototype-medmem.rst} (99%) rename src/MEDOP/doc/sphinx/{xmed-prototype-overview.rst => medop-prototype-overview.rst} (100%) rename src/MEDOP/doc/sphinx/{xmed-references.rst => medop-references.rst} (96%) rename src/MEDOP/doc/sphinx/{xmed-specifications.rst => medop-specifications.rst} (99%) rename src/MEDOP/doc/sphinx/{xmed-userguide.rst => medop-userguide.rst} (97%) rename src/MEDOP/doc/sphinx/{xmed-workingnotes-2010.rst => medop-workingnotes-2010.rst} (100%) rename src/MEDOP/doc/sphinx/{xmed-workingnotes-2011.rst => medop-workingnotes-2011.rst} (99%) rename src/MEDOP/doc/sphinx/{xmed-workingnotes-2012.rst => medop-workingnotes-2012.rst} (98%) delete mode 100644 src/MEDOP/doc/sphinx/salomedoc.rst diff --git a/src/MEDOP/doc/sphinx/CMakeLists.txt b/src/MEDOP/doc/sphinx/CMakeLists.txt index 54da68859..cd0b113f9 100644 --- a/src/MEDOP/doc/sphinx/CMakeLists.txt +++ b/src/MEDOP/doc/sphinx/CMakeLists.txt @@ -20,21 +20,6 @@ IF(SPHINX_STATUS) SET(srcdir ${CMAKE_CURRENT_SOURCE_DIR}) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/conf.py.in ${CMAKE_CURRENT_BINARY_DIR}/conf.py @ONLY) - #FILE(GLOB MEDOP_DOC_RST "${CMAKE_CURRENT_SOURCE_DIR}/*.rst") - - #FOREACH(SRCFNAME ${MEDOP_DOC_RST}) - # GET_FILENAME_COMPONENT(FNAME ${SRCFNAME} NAME) - # CONFIGURE_FILE(${SRCFNAME} ${CMAKE_CURRENT_BINARY_DIR}/${FNAME} COPY_ONLY) - #ENDFOREACH(FNAME ${MEDOP_DOC_RST}) - - #FILE(MAKE_DIRECTORY _static) - #CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/_static/xmed.css ${CMAKE_CURRENT_BINARY_DIR}/_static/xmed.css COPY_ONLY) - - #FILE(GLOB MEDOP_DOC_PNG_RST "${CMAKE_CURRENT_SOURCE_DIR}/images/*.png") - #FOREACH(SRCFNAME ${MEDOP_DOC_PNG_RST}) - # GET_FILENAME_COMPONENT(FNAME ${SRCFNAME} NAME) - # CONFIGURE_FILE(${SRCFNAME} ${CMAKE_CURRENT_BINARY_DIR}/images/${FNAME} COPY_ONLY) - #ENDFOREACH(FNAME ${MEDOP_DOC_RST}) INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${SPHINX_EXECUTABLE_TO_FIND} -c ${CMAKE_CURRENT_BINARY_DIR} -b html -d doctrees -D latex_paper_size=a4 ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/html)") diff --git a/src/MEDOP/doc/sphinx/Makefile.am b/src/MEDOP/doc/sphinx/Makefile.am index a28b03d44..2482d9030 100644 --- a/src/MEDOP/doc/sphinx/Makefile.am +++ b/src/MEDOP/doc/sphinx/Makefile.am @@ -71,27 +71,23 @@ html: RSTFILES= \ index.rst \ - xmed-specifications.rst \ - xmed-develguide.rst \ - xmed-userguide.rst + medop-specifications.rst \ + medop-develguide.rst \ + medop-userguide.rst # Files on the development of the prototype (version 2010) RSTFILES+=\ - xmed-prototype-overview.rst \ - xmed-prototype-develguide.rst \ - xmed-prototype-medmem.rst + medop-prototype-overview.rst \ + medop-prototype-develguide.rst \ + medop-prototype-medmem.rst # Files containing definitions and references RSTFILES+=\ - xmed-definitions.rst \ - xmed-references.rst \ - xmed-workingnotes-2010.rst \ - xmed-workingnotes-2011.rst \ - xmed-workingnotes-2012.rst - -# Files on annexe topics -RSTFILES+=\ - salomedoc.rst + medop-definitions.rst \ + medop-references.rst \ + medop-workingnotes-2010.rst \ + medop-workingnotes-2011.rst \ + medop-workingnotes-2012.rst EXTRA_DIST+= $(RSTFILES) diff --git a/src/MEDOP/doc/sphinx/_static/xmed.css b/src/MEDOP/doc/sphinx/_static/medop.css similarity index 100% rename from src/MEDOP/doc/sphinx/_static/xmed.css rename to src/MEDOP/doc/sphinx/_static/medop.css diff --git a/src/MEDOP/doc/sphinx/conf.py.in b/src/MEDOP/doc/sphinx/conf.py.in index 1127d1ba2..8259ef916 100644 --- a/src/MEDOP/doc/sphinx/conf.py.in +++ b/src/MEDOP/doc/sphinx/conf.py.in @@ -127,7 +127,7 @@ html_theme_options = { # The stylecheet file will be searched within the static path, while # the layout.html file will be searched within the template path # (Note that this parameter can't be used together with html_theme. Exclusive) -html_style = 'xmed.css' +html_style = 'medop.css' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, @@ -170,7 +170,7 @@ html_copy_source = True #html_file_suffix = '' # Output file base name for HTML help builder. -htmlhelp_basename = 'xmeddoc' +htmlhelp_basename = 'medopdoc' # Options for LaTeX output @@ -185,10 +185,10 @@ latex_font_size = '10pt' # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, document class [howto/manual]). latex_documents = [ - ('index', 'xmed-alldoc.tex', 'Documentation du module XMED', 'G. Boulant', 'manual'), - ('xmed-specifications', 'xmed-specifications.tex', 'Module XMED - Specifications', 'G. Boulant', 'manual'), - ('xmed-develguide', 'xmed-develguide.tex', 'Module XMED - Guide de developpement', 'G. Boulant', 'manual'), - ('xmed-userguide', 'xmed-userguide.tex', 'Module XMED - Guide d\'utilisation', 'G. Boulant', 'manual') + ('index', 'medop-alldoc.tex', 'Documentation du module MED', 'G. Boulant', 'manual'), + ('medop-specifications', 'medop-specifications.tex', 'Module MED - Specifications', 'G. Boulant', 'manual'), + ('medop-develguide', 'medop-develguide.tex', 'Module MED - Guide de developpement', 'G. Boulant', 'manual'), + ('medop-userguide', 'medop-userguide.tex', 'Module MED - Guide d\'utilisation', 'G. Boulant', 'manual') ] # The name of an image file (relative to this directory) to place at the top of diff --git a/src/MEDOP/doc/sphinx/index.rst b/src/MEDOP/doc/sphinx/index.rst index 90fdc6b46..1989de788 100644 --- a/src/MEDOP/doc/sphinx/index.rst +++ b/src/MEDOP/doc/sphinx/index.rst @@ -1,12 +1,17 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - Documentation du module XMED -%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Documentation du module MED +%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Le module SALOME nommé XMED (pour eXtension MED) est l'espace de -développement des fonctions de manipulation de champs dans SALOME. Le -contenu de ce module est amené à intégrer le module MED pour former la -future version en préparation pour la version SALOME 7 de 2012. +Le module SALOME MED (pour Modèle d'Echange de Données) fournit la +bibliothèque MEDCoupling (bibliothèque C++ dédiée à la manipulation de +maillages et de champs conformes au modèle MED), ainsi qu'une +interface graphique pour la réalisation des opérations de manipulation +les plus usuelles. + +.. warning:: La partie interface graphique du module MED (composant + logiciel dénommé MEDOP) doit être considérée comme un + prototype pour la version SALOME6. Documentation principale ======================== @@ -14,9 +19,9 @@ Documentation principale .. toctree:: :maxdepth: 1 - xmed-specifications.rst - xmed-develguide.rst - xmed-userguide.rst + medop-specifications.rst + medop-develguide.rst + medop-userguide.rst Documentation du prototype 2010 =============================== @@ -27,9 +32,9 @@ analyses de conception (maquette 2010 sur base MEDMEM) .. toctree:: :maxdepth: 1 - xmed-prototype-overview.rst - xmed-prototype-develguide.rst - xmed-prototype-medmem.rst + medop-prototype-overview.rst + medop-prototype-develguide.rst + medop-prototype-medmem.rst Documentation annexe ==================== @@ -37,8 +42,7 @@ Documentation annexe .. toctree:: :maxdepth: 1 - xmed-references.rst - xmed-workingnotes-2010.rst - xmed-workingnotes-2011.rst - xmed-workingnotes-2012.rst - salomedoc.rst + medop-references.rst + medop-workingnotes-2010.rst + medop-workingnotes-2011.rst + medop-workingnotes-2012.rst diff --git a/src/MEDOP/doc/sphinx/xmed-definitions.rst b/src/MEDOP/doc/sphinx/medop-definitions.rst similarity index 100% rename from src/MEDOP/doc/sphinx/xmed-definitions.rst rename to src/MEDOP/doc/sphinx/medop-definitions.rst diff --git a/src/MEDOP/doc/sphinx/xmed-develguide.rst b/src/MEDOP/doc/sphinx/medop-develguide.rst similarity index 78% rename from src/MEDOP/doc/sphinx/xmed-develguide.rst rename to src/MEDOP/doc/sphinx/medop-develguide.rst index be5d72bab..20d49c61a 100644 --- a/src/MEDOP/doc/sphinx/xmed-develguide.rst +++ b/src/MEDOP/doc/sphinx/medop-develguide.rst @@ -2,100 +2,60 @@ :keywords: maillage, champ, manipulation, med, développement :author: Guillaume Boulant -.. include:: xmed-definitions.rst +.. include:: medop-definitions.rst -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Module XMED: Guide de développement -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Module MED: Guide de développement du composant MEDOP +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -(|XMED_DEVELGUIDE_PDF|_) +Le composant logiciel MEDOP est un élément du module MED. Il fournit +une interface utilisateur pour la manipulation de maillages et de +champs, composée d'une interface texte (TUI) et d'une interface +graphique (GUI). L'interface graphique constitue l'interface graphique +du module MED. -Ce document est la documentation technique du module XMED. Il fournit -les instructions à suivre pour installer le module en vue d'un travail -de développement, puis décrit les éléments de conception qui -structurent le module. +Ce document est la documentation technique du composant MEDOP. Il +fournit les instructions à suivre pour installer le composant en vue +d'un travail de développement, puis décrit les éléments de conception. .. contents:: Sommaire :local: :backlinks: none -.. warning:: Ce document est en travaux. Tant que cet avis n'aura pas - disparu, veuillez en considérer le plan et le contenu encore - incomplets, temporaires et sujets à caution. - -Mise en place d'un espace de développement +Mise en place de l'espace de développement ========================================== -Gestion de configuration du module XMED ---------------------------------------- - -Les sources du module (répertoire ``xmed``) sont archivés en dépôt de -configuration dans une base git du projet NEPAL. Ils peuvent être -récupérés au moyen de la commande:: - - $ git clone git@cli70rw.der.edf.fr:xom/xmed.git - -Cette commande installe un répertoire ``xmed`` contenant l'ensemble -des sources du module XMED. - -Le module XMED a pour pré-requis logiciel la plateforme SALOME: - -* SALOME version 6.1.3 (au moins) à télécharger à l'URL - http://pal.der.edf.fr/pal/projets/pal/releases/V6_1_3 -* On peut également utiliser une version dérivée comme SALOME-MECA 2010.1 -* Installer la plate-forme choisie selon les instructions fournies. - -Le module XMED utilise également une bibliothèque interne au projet -NEPAL, appelée XSALOME, et qui fournit une extension aux fonctions de -SALOME pour un usage de développement (XSALOME signifie eXtension -SALOME). Les sources de cette bibliothèque doivent être récupérés au -moyen de la commande:: - - $ git clone git@cli70rw.der.edf.fr:xom/xsalome.git - -Cette commande installe un répertoire ``xsalome`` contenant l'ensemble -des sources de la bibliothèque XSALOME. - -.. note:: La bibliothèque XSALOME n'est pas un module SALOME mais une - simple bibliothèque de fonctions qui complète ou rend plus facile - d'utilisation les fonctions de SALOME. Elle NE DOIT EN AUCUN CAS - être intégrée à d'autres projets que les projets internes NEPAL ou - MAILLAGE. Il s'agit en effet d'une bibliothèque de transition qui - héberge des développements destinés à être reversés dans la - plate-forme SALOME. Le contenu et les interfaces de XSALOME ne peut - donc être garanti sur le long terme. - -Installation et lancement de l'application ------------------------------------------- +Gestion de configuration du composant MEDOP +------------------------------------------- -L'installation suppose qu'une version 6.1.3 de SALOME (ou plus) est -disponible et que le shell de travail est étendu avec l'environnement -de SALOME. En général, par des commandes de la forme:: +Le composant logiciel MEDOP est un package du module SALOME MED, +hébergé dans l'espace source au niveau du sous-répertoire +`src/MEDOP`. La gestion des fichiers sources est donc intégrée dans le +module SALOME MED. - $ . /where/is/salome/prerequis.sh - $ . /where/is/salome/envSalome.sh +Organisation des sources du composant MEDOP +------------------------------------------- -La compilation des modules xsalome et xmed suit le standard SALOME. La -bibliothèque xsalome est un prérequis à la compilation de xmed. Pour -cela, la variable d'environnement XSALOME_DIR doit être spécifiée pour -la configuration de la procédure de reconstruction de xmed:: - - $ export XSALOME_DIR= +Le répertoire source `src/MEDOP` distingue les sous-répertoires +suivants: -Aprés l'installation de xmed, il est possible de générer -automatiquement une application SALOME prête à l'emploi pour la -manipulation de champs:: +* cmp: package containing the SALOME components +* tui: package containing the python user interface +* gui: package containing the graphical user interface (the GUI part + of the MED module) +* res: resources files associated to the MEDOP package (icons, config + files, data files, ...) +* exe: additional executable programs that can be launched from the + MEDOP framework - $ /bin/salome/xmed/appligen/appligen.sh +Construction du composant MEDOP +------------------------------- -Cette commande génére un répertoire ``appli`` à l'emplacement où elle -est exécutée. Il reste à lancer l'application SALOME au moyen de la -commande:: - - $ ./appli/runAppli -k +Intégré à la construction du module MED. Le composant MEDOP dépend de +MEDCoupling et MEDLoader uniquement. -Exécution des tests unitaires ------------------------------ +Exécution des tests unitaires du composant MEDOP +------------------------------------------------ Les tests unitaires peuvent être exécutés au moyen de scripts python lancés depuis une session shell SALOME. Dans un nouveau shell, taper:: @@ -227,8 +187,8 @@ Ecrire un service CORBA qui retourne une structure CORBA: -ANNEXE: Bug en cours -==================== +ANNEXE A: Bug en cours +====================== TO FIX: @@ -237,3 +197,79 @@ TO FIX: reference correcte vers le maillage). * le script de test test_medoperation.py plante si le module xmed n'a pas été chargé avec des données chargées. + +ANNEXE B: Traçabilité avec le module XMED +========================================= + +Le module SALOME de nom XMED est l'espace de développement initial du +composant logiciel MEDOP, intégré aujourd'hui au module MED. Cette +annexe est la notice technique de ce module, qui reste disponible mais +qui n'est plus maintenu. + +Gestion de configuration du module XMED +--------------------------------------- + +Les sources du module (répertoire ``xmed``) sont archivés en dépôt de +configuration dans une base git du projet NEPAL. Ils peuvent être +récupérés au moyen de la commande:: + + $ git clone git@cli70rw.der.edf.fr:xom/xmed.git + +Cette commande installe un répertoire ``xmed`` contenant l'ensemble +des sources du module XMED. + +Le module XMED a pour pré-requis logiciel la plateforme SALOME: + +* SALOME version 6.1.3 (au moins) à télécharger à l'URL + http://pal.der.edf.fr/pal/projets/pal/releases/V6_1_3 +* On peut également utiliser une version dérivée comme SALOME-MECA 2010.1 +* Installer la plate-forme choisie selon les instructions fournies. + +Le module XMED utilise également une bibliothèque interne au projet +NEPAL, appelée XSALOME, et qui fournit une extension aux fonctions de +SALOME pour un usage de développement (XSALOME signifie eXtension +SALOME). Les sources de cette bibliothèque doivent être récupérés au +moyen de la commande:: + + $ git clone git@cli70rw.der.edf.fr:xom/xsalome.git + +Cette commande installe un répertoire ``xsalome`` contenant l'ensemble +des sources de la bibliothèque XSALOME. + +.. note:: La bibliothèque XSALOME n'est pas un module SALOME mais une + simple bibliothèque de fonctions qui complète ou rend plus facile + d'utilisation les fonctions de SALOME. Elle NE DOIT EN AUCUN CAS + être intégrée à d'autres projets que les projets internes NEPAL ou + MAILLAGE. Il s'agit en effet d'une bibliothèque de transition qui + héberge des développements destinés à être reversés dans la + plate-forme SALOME. Le contenu et les interfaces de XSALOME ne peut + donc être garanti sur le long terme. + +Installation et lancement de l'application +------------------------------------------ + +L'installation suppose qu'une version 6.1.3 de SALOME (ou plus) est +disponible et que le shell de travail est étendu avec l'environnement +de SALOME. En général, par des commandes de la forme:: + + $ . /where/is/salome/prerequis.sh + $ . /where/is/salome/envSalome.sh + +La compilation des modules xsalome et xmed suit le standard SALOME. La +bibliothèque xsalome est un prérequis à la compilation de xmed. Pour +cela, la variable d'environnement XSALOME_DIR doit être spécifiée pour +la configuration de la procédure de reconstruction de xmed:: + + $ export XSALOME_DIR= + +Aprés l'installation de xmed, il est possible de générer +automatiquement une application SALOME prête à l'emploi pour la +manipulation de champs:: + + $ /bin/salome/xmed/appligen/appligen.sh + +Cette commande génére un répertoire ``appli`` à l'emplacement où elle +est exécutée. Il reste à lancer l'application SALOME au moyen de la +commande:: + + $ ./appli/runAppli -k diff --git a/src/MEDOP/doc/sphinx/xmed-prototype-develguide.rst b/src/MEDOP/doc/sphinx/medop-prototype-develguide.rst similarity index 100% rename from src/MEDOP/doc/sphinx/xmed-prototype-develguide.rst rename to src/MEDOP/doc/sphinx/medop-prototype-develguide.rst diff --git a/src/MEDOP/doc/sphinx/xmed-prototype-medmem.rst b/src/MEDOP/doc/sphinx/medop-prototype-medmem.rst similarity index 99% rename from src/MEDOP/doc/sphinx/xmed-prototype-medmem.rst rename to src/MEDOP/doc/sphinx/medop-prototype-medmem.rst index da331c05e..2302f7b70 100644 --- a/src/MEDOP/doc/sphinx/xmed-prototype-medmem.rst +++ b/src/MEDOP/doc/sphinx/medop-prototype-medmem.rst @@ -2,7 +2,7 @@ :keywords: maillage, champ, MED, MEDMEM :author: Guillaume Boulant -.. include:: xmed-definitions.rst +.. include:: medop-definitions.rst %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Note de travail concernant l'utilisation de MEDMEM diff --git a/src/MEDOP/doc/sphinx/xmed-prototype-overview.rst b/src/MEDOP/doc/sphinx/medop-prototype-overview.rst similarity index 100% rename from src/MEDOP/doc/sphinx/xmed-prototype-overview.rst rename to src/MEDOP/doc/sphinx/medop-prototype-overview.rst diff --git a/src/MEDOP/doc/sphinx/xmed-references.rst b/src/MEDOP/doc/sphinx/medop-references.rst similarity index 96% rename from src/MEDOP/doc/sphinx/xmed-references.rst rename to src/MEDOP/doc/sphinx/medop-references.rst index 30d66ec7f..9be8cdc5f 100644 --- a/src/MEDOP/doc/sphinx/xmed-references.rst +++ b/src/MEDOP/doc/sphinx/medop-references.rst @@ -2,7 +2,7 @@ ANNEXE: Références documentaires %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -.. include:: xmed-definitions.rst +.. include:: medop-definitions.rst Documents de référence: diff --git a/src/MEDOP/doc/sphinx/xmed-specifications.rst b/src/MEDOP/doc/sphinx/medop-specifications.rst similarity index 99% rename from src/MEDOP/doc/sphinx/xmed-specifications.rst rename to src/MEDOP/doc/sphinx/medop-specifications.rst index 1f8cdabaf..09ca88cd2 100644 --- a/src/MEDOP/doc/sphinx/xmed-specifications.rst +++ b/src/MEDOP/doc/sphinx/medop-specifications.rst @@ -2,13 +2,11 @@ :keywords: maillage, champ, manipulation, med :author: Guillaume Boulant -.. include:: xmed-definitions.rst +.. include:: medop-definitions.rst -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Module XMED: Spécifications fonctionnelles et techniques -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -(|XMED_SPECIFICATIONS_PDF|_) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Module MED: Spécifications fonctionnelles et techniques +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Ce texte présente les spécifications informatiques pour le développement d'un module de manipulation de champs qui répond à diff --git a/src/MEDOP/doc/sphinx/xmed-userguide.rst b/src/MEDOP/doc/sphinx/medop-userguide.rst similarity index 97% rename from src/MEDOP/doc/sphinx/xmed-userguide.rst rename to src/MEDOP/doc/sphinx/medop-userguide.rst index f35266013..bf00e8b1e 100644 --- a/src/MEDOP/doc/sphinx/xmed-userguide.rst +++ b/src/MEDOP/doc/sphinx/medop-userguide.rst @@ -2,30 +2,29 @@ :keywords: maillage, champ, manipulation, guide utilisateur :author: Guillaume Boulant -.. include:: xmed-definitions.rst +.. include:: medop-definitions.rst -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Module XMED: Guide d'utilisation -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Module MED: Guide d'utilisation de l'interface graphique +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -(|XMED_USERGUIDE_PDF|_) - -Ce document est un guide rapide pour l'utilisation du module MED. Il -montre comment utiliser le module sur la base de quelques exemples de -référence, inspirés des cas d'utilisation identifiés lors de l'analyse -des besoins en matière de manipulation de champs. +Ce document est un guide rapide pour l'utilisation de l'interface +graphique du module MED. Il montre comment utiliser le module sur la +base de quelques exemples de référence, inspirés des cas d'utilisation +identifiés lors de l'analyse des besoins en matière de manipulation de +champs. .. warning:: Le document est autonome, mais il est vivement conseillé de parcourir au préalable (ou en parallèle) :doc:`le document de - spécifications`, au moins pour fixer les + spécifications`, au moins pour fixer les concepts et la terminologie. .. contents:: Sommaire :local: :backlinks: none -Présentation générale du module XMED -==================================== +Présentation générale du module MED +=================================== L'ergonomie générale d'utilisation du module de manipulation de champs est inspirée des logiciels comme octave ou scilab. Elle associe une @@ -71,8 +70,8 @@ processus de la forme suivante: 5. Enregistrement d'une partie des champs produits dans un fichier med -Tour rapide des fonctions du module XMED -======================================== +Tour rapide des fonctions du module MED +======================================= Cette section présente des exemples d'utilisation du module XMED sous la forme de "storyboard", et illustre au passage les fonctions mises à @@ -656,8 +655,8 @@ carte de champ: .. _xmed.userguide.tui: -Utilisation de l'interface textuelle du moduel XMED (TUI) -========================================================= +Utilisation de l'interface textuelle du moduel MED (TUI) +======================================================== Toutes les opérations menées au moyen de l'interface graphique peuvent être réalisées (avec plus ou moins de facilité) avec l'interface diff --git a/src/MEDOP/doc/sphinx/xmed-workingnotes-2010.rst b/src/MEDOP/doc/sphinx/medop-workingnotes-2010.rst similarity index 100% rename from src/MEDOP/doc/sphinx/xmed-workingnotes-2010.rst rename to src/MEDOP/doc/sphinx/medop-workingnotes-2010.rst diff --git a/src/MEDOP/doc/sphinx/xmed-workingnotes-2011.rst b/src/MEDOP/doc/sphinx/medop-workingnotes-2011.rst similarity index 99% rename from src/MEDOP/doc/sphinx/xmed-workingnotes-2011.rst rename to src/MEDOP/doc/sphinx/medop-workingnotes-2011.rst index 8ba8b8068..2c38e64bb 100644 --- a/src/MEDOP/doc/sphinx/xmed-workingnotes-2011.rst +++ b/src/MEDOP/doc/sphinx/medop-workingnotes-2011.rst @@ -2,7 +2,7 @@ :keywords: maillage, champ, manipulation :author: Guillaume Boulant -.. include:: xmed-definitions.rst +.. include:: medop-definitions.rst %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ANNEXE: Note de travail concernant le chantier XMED 2011 diff --git a/src/MEDOP/doc/sphinx/xmed-workingnotes-2012.rst b/src/MEDOP/doc/sphinx/medop-workingnotes-2012.rst similarity index 98% rename from src/MEDOP/doc/sphinx/xmed-workingnotes-2012.rst rename to src/MEDOP/doc/sphinx/medop-workingnotes-2012.rst index 011190ef4..b6ecb6d37 100644 --- a/src/MEDOP/doc/sphinx/xmed-workingnotes-2012.rst +++ b/src/MEDOP/doc/sphinx/medop-workingnotes-2012.rst @@ -2,7 +2,7 @@ :keywords: maillage, champ, manipulation :author: Guillaume Boulant -.. include:: xmed-definitions.rst +.. include:: medop-definitions.rst %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ANNEXE: Note de travail concernant le chantier XMED 2012 diff --git a/src/MEDOP/doc/sphinx/salomedoc.rst b/src/MEDOP/doc/sphinx/salomedoc.rst deleted file mode 100644 index fc2f1fdc8..000000000 --- a/src/MEDOP/doc/sphinx/salomedoc.rst +++ /dev/null @@ -1,231 +0,0 @@ -.. meta:: - :keywords: SALOME, development - :author: Guillaume Boulant - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Annexe : Règles de développement SALOME -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -Cette annexe est un recueil de techniques de développement spécifiques -à l'environnement SALOME et utilisées pour la mise au point du module -XMED. Elles sont a priori utilisables pour d'autres contexte de -développement dans SALOME. - -.. TODO: récupérer les fonctions génériques de VisuGUI_Tools.cxx -.. TODO: récupérer les fonctions génériques de SMESGGUI_utils.cxx - -.. contents:: Sommaire - :local: - :backlinks: none - -Récupérer la sélection dans l'arbre d'étude -=========================================== - -Dans une classe dérivée de ``SalomeApp_Module``, on peut utiliser un -code de la forme suivante: - -.. code-block:: cpp - - #include - #include - #include - #include - - // ... - - // Get the selected object in the study (SObject) - LightApp_SelectionMgr* aSelectionMgr = this->getApp()->selectionMgr(); - SALOME_ListIO aListIO; - aSelectionMgr->selectedObjects(aListIO); - - // Analyse the selection. There can be more than one item. - SALOME_ListIteratorOfListIO It (aListIO); - for (; It.More(); It.Next()) { - Handle(SALOME_InteractiveObject) anIO = It.Value(); - SALOMEDS::SObject_var aSObject = aStudy->FindObjectID(anIO->getEntry()); - - // Check if the selected object is relevant for the operation - // ... - - // Process the SObject if it's relevant - // ... - - } - -On peut noter qu'une variable ``aStudy`` est requise. Elle représente -l'étude SALOME sur laquelle s'oppère la sélection. L'étude active -(impliquée dans la sélection) peut être obtenue au moyen du -gestionnaire d'étude (voir :ref:`ci-dessous `). - -Réglage du curseur graphique -============================ - -Dans le cas où le traitement est long, il peut être intéressant -d'encadrer l'opération par un vérouillage du curseur de sélection: - -.. code-block:: cpp - - QApplication::setOverrideCursor(Qt::WaitCursor); - - // Do the job - // ... - - QApplication::restoreOverrideCursor(); - - -Les variables pour la gestion de l'étude -======================================== - -Les variables CORBA -------------------- - -Les variables CORBA comme le serveur de noms (naming service) et le -gestionnaire de cycle de vie des objets (LifeCycleCRORBA) sont -fréquement utilisés. Dans le contexte d'une application (classe de -type ``SalomeApp_Module``), il est possible de récupérer simplement -des instances de ces variables par les commandes suivantes: - -.. code-block:: cpp - - #include - #include - - CORBA::ORB_var orb = SalomeApp_Application::orb(); - SALOMEDSClient_StudyManager* studyMgr = SalomeApp_Application::studyMgr(); - SALOME_NamingService* namingService = SalomeApp_Application::namingService(); - SALOME_LifeCycleCORBA* lcc = SalomeApp_Application::lcc(); - -Pour un usage en dehors de l'application graphique (par exemple au -niveau du container), l'orb peut être obtenu par les mécanismes -standard d'omniORB: - -.. code-block:: cpp - - CORBA::ORB_var orb = CORBA::ORB_init(0,0); - -L'orb est par exemple utile à récupérer pour la sérialisation des -objets CORBA et la manipulation des références sous forme de chaîne de -caractères: - -.. code-block:: cpp - - // We suppose here that we have a CORBA object reference (object of - // type *_ptr or *_var), for example a SALOME_MED::MED object. - SALOME_MED::MED_ptr medObj = ... // anything to get this object - QString medIOR = orb->object_to_string(medObj); - - SALOME_MED::MED_ptr anOtherRefToMedObj = orb->string_to_object(medIOR) - -.. note: this serialization can be used to communicate between a GUI - and a component in a container, or between the C++ context and the - python context. - -.. _salomedoc_getActiveStudy: - -Récupérer l'étude active ------------------------- - -Le concept d'étude active est un concept GUI. Il désigne l'étude en -cours d'usage au niveau de l'interface graphique. - -.. note: Pour rappel, l'étude est un objet CORBA de type - ``SALOMEDS::Study`` qui héberge physiquement les ``SObject`` - pointant vers les données. L'arbre d'étude ("Object browser") est - une représentation graphique de cet objet. - -L'étude active peut être obtenue au moyen du gestionnaire -d'étude. Dans le corps d'une classe de type ``SalomeApp_Module``, ceci -peut se faire par un code de la forme suivante: - -.. code-block:: cpp - - #include "SALOMEconfig.h" - #include CORBA_SERVER_HEADER(SALOMEDS) - #include - #include - - // ... - - // Get the study id of the active study - SalomeApp_Study* appStudy = dynamic_cast (this->getApp()->activeStudy()); - _PTR(Study) aCStudy = appStudy->studyDS(); - int aStudyID = aCStudy->StudyId(); - - // Then get the study manager - SALOME_NamingService *aNamingService = SalomeApp_Application::namingService(); - CORBA::Object_var anObject = aNamingService->Resolve("/myStudyManager"); - SALOMEDS::StudyManager_var aStudyManager = SALOMEDS::StudyManager::_narrow(anObject); - - // Finally, request the study manager for the study (SALOMEDS::Study) - SALOMEDS::Study_var aStudy = aStudyManager->GetStudyByID(aStudyID); - - -Communiquer avec la console python -================================== - -La console python désigne l'interpréteur embarqué dans l'interface -graphique de SALOME (GUI). Elle est également désignée comme -l'interface textuelle de SALOME (TUI) car elle permet de piloter -SALOME au moyen de commandes en syntaxe python. - -Le paragraphe montre comment communiquer avec cette interface texte -depuis le contexte C++ de l'interface graphique, en particulier pour -déclencher l'exécution de commandes. - -Le code se situe donc au sein d'une classe de type -``SalomeApp_Module`` (de laquelle hérite la partie graphique d'un -module SALOME, de nom ``GUI``). Cette classe possède une -méthode ``getApp()`` par laquelle on peut récupérer une instance de la -console python embarquée (this->getApp()->pythonConsole()). - -Le code suivant illustre l'envoie d'une commande python par ce -mécanisme. Dans cette exemple, on défini une variable ``id`` dans la -console python comme l'identifiant de l'étude active: - -.. code-block:: cpp - - #include - #include - #include - - PyConsole_Console * pyConsole = getApp()->pythonConsole(); - - QStringList commands; - commands+="import salome"; - commands+="id=salome.myStudyId"; - - QStringListIterator it(commands); - while (it.hasNext()) { - pyConsole->exec(it.next()); - } - -Dans ce deuxième exemple, on cherche à reconstituer dans le contexte -de la console python un pointer vers un objet med instancié dans le -contexte C++ de l'application graphique. Pour cela, on communique la -référence de l'objet sous la forme sérialisé (IOR pour un objet -CORBA): - -.. code-block:: cpp - - #include - #include - #include - #include - - // We suppose here that we have a CORBA object reference (object of - // type *_ptr or *_var), for example a SALOME_MED::MED object. - SALOME_MED::MED_ptr medObj = ... // anything to get this object - - // Get the IOR of this object - QString medIOR = SalomeApp_Application::orb()->object_to_string(medObj); - - PyConsole_Console * pyConsole = getApp()->pythonConsole(); - - QStringList commands; - commands+="import salome"; - commands+=QString("med=salome.orb.string_to_object(\"%1\")").arg(medIOR); - - QStringListIterator it(commands); - while (it.hasNext()) { - pyConsole->exec(it.next()); - } -- 2.39.2