From: mpa Date: Tue, 4 Mar 2014 07:13:11 +0000 (+0400) Subject: Debug of CMake build procedure X-Git-Tag: V7_4_0a1~25 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=88ca3e0ff493a1511a2b9821d9b847ee85c9f1a7;p=tools%2Fmedcoupling.git Debug of CMake build procedure --- diff --git a/CMakeLists.txt b/CMakeLists.txt index e081f9a44..8c5608411 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,7 @@ # CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR) +INCLUDE(CMakeDependentOption) PROJECT(SalomeMED C CXX) # Ensure a proper linker behavior: @@ -46,6 +47,7 @@ IF(NOT SALOME_MED_STANDALONE) LIST(APPEND CMAKE_MODULE_PATH "${KERNEL_ROOT_DIR}/salome_adm/cmake_files") INCLUDE(SalomeMacros) FIND_PACKAGE(SalomeKERNEL REQUIRED) + KERNEL_WITH_CORBA() #check whether KERNEL builded with CORBA ADD_DEFINITIONS(${KERNEL_DEFINITIONS}) INCLUDE_DIRECTORIES(${KERNEL_INCLUDE_DIRS}) SET(_default_MPI ${SALOME_USE_MPI}) @@ -77,7 +79,8 @@ OPTION(SALOME_MED_ENABLE_PARTITIONER "Build MEDPartitioner." ON) OPTION(SALOME_MED_ENABLE_RENUMBER "Build Renumber." ON) OPTION(SALOME_MED_WITH_FILE_EXAMPLES "Install examples of files containing meshes and fields of different formats." ON) OPTION(SALOME_USE_MPI "(Use MPI containers) - For MED this triggers the build of ParaMEDMEM." ${_default_MPI}) -OPTION(SALOME_BUILD_GUI "Build GUI of MED." ON) +CMAKE_DEPENDENT_OPTION(SALOME_BUILD_GUI "Build GUI of MED." ON + "NOT SALOME_MED_STANDALONE" OFF) OPTION(SALOME_BUILD_TESTS "Build MED tests." ON) OPTION(SALOME_BUILD_DOC "Build MED doc." ON) CMAKE_DEPENDENT_OPTION(SALOME_MED_PARTITIONER_METIS "Enable metis graph library in MEDPartitioner." ON "SALOME_MED_ENABLE_PARTITIONER;NOT SALOME_USE_MPI" OFF) @@ -97,6 +100,7 @@ IF(NOT SALOME_MED_STANDALONE) LIST(APPEND CMAKE_MODULE_PATH "${KERNEL_ROOT_DIR}/salome_adm/cmake_files") INCLUDE(SalomeMacros) FIND_PACKAGE(SalomeKERNEL REQUIRED) + KERNEL_WITH_CORBA() #check whether KERNEL builded with CORBA ELSE(EXISTS ${KERNEL_ROOT_DIR}) MESSAGE(FATAL_ERROR "We absolutely need a Salome KERNEL, please define KERNEL_ROOT_DIR or turn option SALOME_MED_STANDALONE to ON !") ENDIF(EXISTS ${KERNEL_ROOT_DIR}) @@ -126,10 +130,12 @@ IF(NOT SALOME_MED_MICROMED) IF(SALOME_MED_PARTITIONER_METIS) FIND_PACKAGE(SalomeMetis) SALOME_LOG_OPTIONAL_PACKAGE(Metis SALOME_MED_PARTITIONER_METIS) + ADD_DEFINITIONS("-DMED_ENABLE_METIS") ENDIF(SALOME_MED_PARTITIONER_METIS) IF(SALOME_MED_PARTITIONER_SCOTCH) FIND_PACKAGE(SalomeScotch) SALOME_LOG_OPTIONAL_PACKAGE(Scotch SALOME_MED_PARTITIONER_SCOTCH) + ADD_DEFINITIONS("-DMED_ENABLE_SCOTCH") ENDIF(SALOME_MED_PARTITIONER_SCOTCH) ENDIF(SALOME_MED_ENABLE_PARTITIONER) ENDIF(NOT SALOME_MED_MICROMED) @@ -137,11 +143,11 @@ ENDIF(NOT SALOME_MED_MICROMED) # Find GUI (optional) # =========== IF(SALOME_BUILD_GUI) - IF(NOT SALOME_MED_STANDALONE) SET(GUI_ROOT_DIR $ENV{GUI_ROOT_DIR} CACHE PATH "Path to the Salome GUI") IF(EXISTS ${GUI_ROOT_DIR}) LIST(APPEND CMAKE_MODULE_PATH "${GUI_ROOT_DIR}/adm_local/cmake_files") FIND_PACKAGE(SalomeGUI REQUIRED) + FULL_GUI(TRUE) # check whether GUI builded in full mode and with CORBA ADD_DEFINITIONS(${GUI_DEFINITIONS}) INCLUDE_DIRECTORIES(${GUI_INCLUDE_DIRS}) ELSE(EXISTS ${GUI_ROOT_DIR}) @@ -149,7 +155,6 @@ IF(SALOME_BUILD_GUI) ENDIF(EXISTS ${GUI_ROOT_DIR}) FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui) FIND_PACKAGE(SalomeCAS REQUIRED) # maybe one day it will disappear ... - ENDIF(NOT SALOME_MED_STANDALONE) ENDIF(SALOME_BUILD_GUI) LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local/cmake_files") @@ -163,9 +168,11 @@ ENDIF(SALOME_BUILD_TESTS) IF(SALOME_USE_MPI) FIND_PACKAGE(SalomeMPI REQUIRED) + ADD_DEFINITIONS("-DHAVE_MPI2") IF(SALOME_MED_PARTITIONER_PARMETIS) FIND_PACKAGE(SalomeParMetis) SALOME_LOG_OPTIONAL_PACKAGE(ParMetis SALOME_MED_PARTITIONER_PARMETIS) + ADD_DEFINITIONS("-DMED_ENABLE_PARMETIS") ENDIF(SALOME_MED_PARTITIONER_PARMETIS) ENDIF(SALOME_USE_MPI) @@ -294,23 +301,56 @@ SET(_${PROJECT_NAME}_exposed_targets interpkernel medcoupling medcouplingremapper) IF(NOT SALOME_MED_MICROMED) - LIST(APPEND _${PROJECT_NAME}_exposed_targets - medloader) - IF(SALOME_USE_MPI) - LIST(APPEND _${PROJECT_NAME}_exposed_targets - paramedloader) - ENDIF(SALOME_USE_MPI) -ENDIF(NOT SALOME_MED_MICROMED) + LIST(APPEND _${PROJECT_NAME}_exposed_targets medloader) + IF(SALOME_MED_ENABLE_RENUMBER) + LIST(APPEND _${PROJECT_NAME}_exposed_targets renumbercpp) + ENDIF() + IF(SALOME_MED_ENABLE_PARTITIONER) + LIST(APPEND _${PROJECT_NAME}_exposed_targets medpartitionercpp) + IF(SALOME_BUILD_TESTS) + LIST(APPEND _${PROJECT_NAME}_exposed_targets MEDPARTITIONERTest) + ENDIF() + ENDIF() + IF(SALOME_BUILD_TESTS) + LIST(APPEND _${PROJECT_NAME}_exposed_targets InterpKernelTest) + ENDIF() +ENDIF() IF(SALOME_USE_MPI) - LIST(APPEND _${PROJECT_NAME}_exposed_targets - paramedmem) -ENDIF(SALOME_USE_MPI) + LIST(APPEND _${PROJECT_NAME}_exposed_targets paramedmem) + IF(NOT SALOME_MED_MICROMED) + LIST(APPEND _${PROJECT_NAME}_exposed_targets paramedloader) + ENDIF() + IF(NOT SALOME_MED_STANDALONE) + LIST(APPEND _${PROJECT_NAME}_exposed_targets + paramedcouplingcorba paramedmemcompo) + ENDIF() + IF(SALOME_BUILD_TESTS) + IF(NOT SALOME_MED_MICROMED) + LIST(APPEND _${PROJECT_NAME}_exposed_targets ParaMEDMEMTest) + ENDIF() + ENDIF() +ENDIF() IF(NOT SALOME_MED_STANDALONE) LIST(APPEND _${PROJECT_NAME}_exposed_targets - SalomeIDLMED medcouplingcorba ) -ENDIF(NOT SALOME_MED_STANDALONE) + SalomeIDLMED SalomeIDLMEDTests medcouplingcorba medcouplingclient) + IF(NOT SALOME_MED_MICROMED) + LIST(APPEND _${PROJECT_NAME}_exposed_targets medcalculator) + IF(SALOME_MED_ENABLE_PYTHON) + LIST(APPEND _${PROJECT_NAME}_exposed_targets medcalculatorspython) + ENDIF() + ENDIF() +ENDIF() + +IF(SALOME_BUILD_GUI) + IF(NOT SALOME_MED_MICROMED) + IF(SALOME_MED_ENABLE_PYTHON) + LIST(APPEND _${PROJECT_NAME}_exposed_targets + MEDOPFactoryEngine MEDOPGUI_dialogs MEDOPGUI) + ENDIF() + ENDIF() +ENDIF() # Add all targets to the build-tree export set diff --git a/doc/doxygen/CMakeLists.txt b/doc/doxygen/CMakeLists.txt index ab026b67f..c729f96ff 100644 --- a/doc/doxygen/CMakeLists.txt +++ b/doc/doxygen/CMakeLists.txt @@ -20,52 +20,70 @@ SALOME_CONFIGURE_FILE(Doxyfile_med_user.in Doxyfile_med_user) SALOME_CONFIGURE_FILE(static/header.html.in static/header.html) -FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/medcouplingexamples.in" input) -FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/BuildPyExamplesFromCPP.py" pythondocexamplesgenerator) -FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}" output) - - -# :TRICKY: For ease of maintenance, documentation for code examples is -# splitted in several files. We here splice to a single file before running -# Doxygen. + +IF(SALOME_MED_ENABLE_PYTHON) + FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}/tmp/medcouplingexamples.in" input) + FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/BuildPyExamplesFromCPP.py" pythondocexamplesgenerator) + FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}" output) + + # :TRICKY: For ease of maintenance, documentation for code examples is + # splitted in several files. We here splice to a single file before running + # Doxygen. -SET(EXAMPLE_FILES # files to concatenate: order is important! - doxfiles/examples/medcouplingexamplesheader.doxy - doxfiles/examples/medcouplingexamplesfields.doxy - doxfiles/examples/medcouplingexamplesmeshes.doxy - doxfiles/examples/medcouplingexamplesarrays.doxy - doxfiles/examples/medcouplingexamplesother.doxy - doxfiles/examples/medcouplingexamplesfooter.doxy + SET(EXAMPLE_FILES # files to concatenate: order is important! + doxfiles/examples/medcouplingexamplesheader.doxy + doxfiles/examples/medcouplingexamplesfields.doxy + doxfiles/examples/medcouplingexamplesmeshes.doxy + doxfiles/examples/medcouplingexamplesarrays.doxy + doxfiles/examples/medcouplingexamplesother.doxy + doxfiles/examples/medcouplingexamplesfooter.doxy ) -# This function adds IN_FILE contents to the end of OUT_FILE -FUNCTION(concat IN_FILE OUT_FILE) - FILE(READ ${IN_FILE} CONTENTS) - FILE(APPEND ${OUT_FILE} ${CONTENTS}) -ENDFUNCTION() + # This function adds IN_FILE contents to the end of OUT_FILE + FUNCTION(concat IN_FILE OUT_FILE) + FILE(READ ${IN_FILE} CONTENTS) + FILE(APPEND ${OUT_FILE} ${CONTENTS}) + ENDFUNCTION() -# Prepare a temporary file to "concat" to: -FILE(WRITE medcouplingexamples.in "") -# Call the "concat" function for each example file -FOREACH(EXAMPLE_FILE ${EXAMPLE_FILES}) - concat(${EXAMPLE_FILE} medcouplingexamples.in) -ENDFOREACH() -# Copy the temporary file to the final location -#CONFIGURE_FILE(medcouplingexamples.in ${CMAKE_CURRENT_BINARY_DIR}/medcouplingexamples.dox) -# Note: The reason for writing to a temporary is so the real target file only -# gets updated if its content has changed. + # Prepare a temporary file to "concat" to: + FILE(WRITE ${input} "") + # Call the "concat" function for each example file + FOREACH(EXAMPLE_FILE ${EXAMPLE_FILES}) + concat(${EXAMPLE_FILE} ${input}) + ENDFOREACH() + # Note: The reason for writing to a temporary is so the real target file only + # gets updated if its content has changed. - -# Here is the "standard" procedure, as if ${input} was hand-written. -ADD_CUSTOM_TARGET(usr_docs ALL - COMMAND ${PYTHON_EXECUTABLE} ${pythondocexamplesgenerator} ${input} ${output} - COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile_med_user - VERBATIM - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + # Here is the "standard" procedure, as if ${input} was hand-written. + ADD_CUSTOM_TARGET(usr_docs ALL + COMMAND ${PYTHON_EXECUTABLE} ${pythondocexamplesgenerator} ${input} ${output} + COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile_med_user + VERBATIM + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) + SET(doxyfile_med_user ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_med_user) + FILE(STRINGS ${doxyfile_med_user} enabled_sections REGEX "ENABLED_SECTIONS") + IF(enabled_sections) + FILE(READ ${doxyfile_med_user} doxy_file) + STRING(REPLACE ${enabled_sections} "${enabled_sections} ENABLE_EXAMPLES" new_doxy_file ${doxy_file}) + FILE(WRITE ${doxyfile_med_user} ${new_doxy_file}) + ELSE() + FILE(APPEND ${doxyfile_med_user} + "#Temporary variable to enable python documentation sections\nENABLED_SECTIONS = ENABLE_EXAMPLES") + ENDIF() + +ELSE() + ADD_CUSTOM_TARGET(usr_docs ALL + COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile_med_user + VERBATIM + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + ) +ENDIF() + INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build ${PROJECT_BINARY_DIR} --target usr_docs)") INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc_ref_user/html/ DESTINATION ${SALOME_INSTALL_DOC}/gui/MED) INSTALL(FILES images/head.png DESTINATION ${SALOME_INSTALL_DOC}/gui/MED) -SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES doc_ref_user) +SET(MAKE_CLEAN_FILES doc_ref_user tmp) +SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${MAKE_CLEAN_FILES}") diff --git a/doc/doxygen/Doxyfile_med_user.in b/doc/doxygen/Doxyfile_med_user.in index 5e1bd498f..18b827dd7 100644 --- a/doc/doxygen/Doxyfile_med_user.in +++ b/doc/doxygen/Doxyfile_med_user.in @@ -236,7 +236,7 @@ PREDEFINED = EXPAND_AS_DEFINED = MEDCOUPLING_EXPORT MEDCOUPLINGREMAPPER_EXPORT MEDLOADER_EXPORT SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -# Configuration::addtions related to external references +# Configuration::additions related to external references #--------------------------------------------------------------------------- TAGFILES = GENERATE_TAGFILE = @@ -260,6 +260,6 @@ DOTFILE_DIRS = GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- -# Configuration::addtions related to the search engine +# Configuration::additions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO diff --git a/doc/doxygen/doxfiles/functionalities.dox b/doc/doxygen/doxfiles/functionalities.dox index 5ad7dc406..0e13fd64a 100644 --- a/doc/doxygen/doxfiles/functionalities.dox +++ b/doc/doxygen/doxfiles/functionalities.dox @@ -10,23 +10,26 @@ \subsection directOperations_modification Partial modifications - Creation: \b New, \b setMesh, \b setArray* \n + \if ENABLE_EXAMPLES Example 1: \ref medcouplingpyexamplesFieldDoubleBuild1 \n Example 2: \ref medcouplingpyexamplesFieldDoubleBuild2 \n Example 3: \ref medcouplingpyexamplesFieldDoubleBuild3 \n Example 4: \ref medcouplingpyexamplesFieldDoubleBuild4 \n - + \endif - Copy - \b buildNewTimeReprFromThis + \if ENABLE_EXAMPLES . Example: \ref py_mcfielddouble_buildNewTimeReprFromThis - + \endif - Subparts - \b buildSubPart* + \if ENABLE_EXAMPLES . Example: \ref py_mcfielddouble_subpart1 + \endif - \b keepSelectedComponents, \b setSelectedComponents - And also: - Description: \b setName @@ -39,6 +42,7 @@ And also: - Affectation - From a constant: \b = - From an expression: \b applyFunc* \b applyLin \b fillFromAnalytic* \n + \if ENABLE_EXAMPLES Example 1: \ref py_mcfielddouble_applyFunc_same_nb_comp \n Example 2: \ref py_mcfielddouble_applyFunc3 \n Example 3: \ref py_mcfielddouble_applyFunc2 \n @@ -48,28 +52,32 @@ And also: Example 7: \ref py_mcmesh_fillFromAnalytic \n Example 8: \ref cpp_mcfielddouble_fillFromAnalytic_c_func \n Example 9: \ref cpp_mcfielddouble_applyFunc_c_func - + \endif - Addition - \b + \b += \b AddFields + \if ENABLE_EXAMPLES . Example: \ref medcouplingpyexamplesFieldDoubleBuild5 - + \endif - Subtraction - \b \- \b \-= \b SubstractFields - \b substractInPlaceDM + \if ENABLE_EXAMPLES . Example: \ref py_mcfielddouble_substractInPlaceDM - + \endif - Multiplication - \b * \b *= \b MultiplyFields + \if ENABLE_EXAMPLES . Example: \ref medcouplingpyexamplesFieldDoubleBuild5 - + \endif - Division: - \b / \b /= \b DivideFields + \if ENABLE_EXAMPLES . Example: \ref medcouplingpyexamplesFieldDoubleBuild5 - + \endif - Power: \b ^ \b ^= \b PowFields \subsection arithmeticOperations_vector Operations on vectors or second order tensors @@ -87,8 +95,9 @@ And also: \section globalOperations Global operations - Spatial extrema: \b MaxFields, \b MinFields \n + \if ENABLE_EXAMPLES Example: \ref py_mcfielddouble_MaxFields - + \endif - Spatial mean: \b getAverageValue - Temporal extrema @@ -98,10 +107,12 @@ And also: \section otherOperations Others - Renumbering a mesh: \b renumber* \n + \if ENABLE_EXAMPLES Example 1: \ref py_mcfielddouble_renumberNodes \n Example 2: \ref py_mcfielddouble_renumberCells - + \endif - Merge non overlapping fields: \b MergeFields \n + \if ENABLE_EXAMPLES Example: \ref py_mcfielddouble_MergeFields - + \endif */ diff --git a/doc/doxygen/doxfiles/interpolation/remapper.dox b/doc/doxygen/doxfiles/interpolation/remapper.dox index 7df282a4c..793e86129 100644 --- a/doc/doxygen/doxfiles/interpolation/remapper.dox +++ b/doc/doxygen/doxfiles/interpolation/remapper.dox @@ -8,8 +8,9 @@ The simplest way of using the \ref interptools in sequential mode is to use the If you intend to use \ref MEDCoupling data structure, ParaMEDMEM::MEDCouplingRemapper class should be used. +\if ENABLE_EXAMPLES Here is a \ref cpp_mcfield_remapper_highlevel "C++ example". - +\endif \section InterpKerMidLevUsage Middle-level usage @@ -20,6 +21,8 @@ hand it is needed to specify precisely nature of interpolator. As a consequence of the genericity of the interpolators, they are usable only by instantiating an underlying \ref InterpKerMeshType "mesh" and \ref InterpKerMatrixType "matrix" data structure fulfilling some requirements. +\if ENABLE_EXAMPLES Here is a \ref cpp_mcfield_remapper_middlelevel "C++ example". +\endif */ diff --git a/doc/doxygen/doxfiles/intro.dox b/doc/doxygen/doxfiles/intro.dox index f26421311..dcbc33de6 100644 --- a/doc/doxygen/doxfiles/intro.dox +++ b/doc/doxygen/doxfiles/intro.dox @@ -51,12 +51,16 @@ used for cross process exchange of meshes and fields. MED file format. - \ref interptools, from theory to practice using MEDCoupling. - Summary of \ref functionalities "available functionalities". + \if ENABLE_EXAMPLES - \ref medcouplingpyexamples and tutorials. + \endif - \ref gui that exhibits some useful functions of the library for a graphical manipulation of data in standard use cases. - \ref tools based on MEDLoader that can be used to process MED data files (conversion tools and splitting tools). + \if ENABLE_EXAMPLES - \ref medcouplingcppexamples for advanced users. + \endif \section install Installation diff --git a/doc/doxygen/doxfiles/medcoupling/MEDCouplingArray.dox b/doc/doxygen/doxfiles/medcoupling/MEDCouplingArray.dox index edd2f615d..f1ee383fe 100644 --- a/doc/doxygen/doxfiles/medcoupling/MEDCouplingArray.dox +++ b/doc/doxygen/doxfiles/medcoupling/MEDCouplingArray.dox @@ -101,9 +101,10 @@ on each call. Here is a description of typical usages of \ref ParaMEDMEM::DataArrayDouble "MEDCoupling arrays". +\if ENABLE_EXAMPLES \ref MEDCouplingArraySteps1 "Here is a C++ example."
\ref MEDCouplingArraySteps0 "Here is a Python example."
- +\endif \section MEDCouplingArrayBasicsCopy Copy DataArrays. @@ -119,15 +120,18 @@ As for all potentially heavy memory consumer objects in \ref medcoupling "MEDCou method \c deepCpy. This method deeply copies an instance. The life cycle of the returned object is *fully* independent from the instance on which the method \c deepCpy has been invoked. +\if ENABLE_EXAMPLES \ref cpp_mcdataarray_deepcopy "Here is a C++ example."
+\endif \subsection MEDCouplingArrayBasicsCopyShallow Shallow copy of DataArray As \ref ParaMEDMEM::DataArray "DataArrays" are the atomic entity of potentially big memory objects into \ref medcoupling "MEDCoupling", the shallow copy simply returns the same object with the reference counter incremented. +\if ENABLE_EXAMPLES \ref cpp_mcdataarray_shallowcopy "Here is a C++ example."
- +\endif \section MEDCouplingArrayBasicsCompare Compare DataArrays. diff --git a/doc/doxygen/doxfiles/medloader/MEDLoaderAdvancedAPI.dox b/doc/doxygen/doxfiles/medloader/MEDLoaderAdvancedAPI.dox index d47408e44..4f2995d74 100644 --- a/doc/doxygen/doxfiles/medloader/MEDLoaderAdvancedAPI.dox +++ b/doc/doxygen/doxfiles/medloader/MEDLoaderAdvancedAPI.dox @@ -157,7 +157,9 @@ mesh at specified level. \anchor AdvMEDLoaderAPIMeshReadingSampl +\if ENABLE_EXAMPLES Here is a \ref cpp_mcumesh_loadfile "C++ example" illustrating a typical use of \ref ParaMEDMEM::MEDCouplingUMesh "MEDCouplingUMesh" instance. +\endif \subsection AdvMEDLoaderAPIMeshWriting Writing a mesh. @@ -190,8 +192,9 @@ set to the desired group name. If not an exception will be thrown, because MED f \anchor AdvMEDLoaderAPIMeshWritingSampl +\if ENABLE_EXAMPLES Here is a \ref cpp_mcumesh_writefile "C++ example". - +\endif \section AdvMEDLoaderAPIFieldRW Dealing with Fields with advanced API. @@ -224,12 +227,15 @@ Fields defined on all entities are the most used and common fields in MED file w In this mode the user does **not** want to retrieve the entity ids of the constituting subsupport of the whole mesh because it has no sense. +\if ENABLE_EXAMPLES Here is a \ref py_mcfield_loadfile_allentities "Python example". +\endif \subsubsection AdvMEDLoaderAPIFieldRP Reading a partial field +\if ENABLE_EXAMPLES Here is a \ref py_mcfield_loadfile_partial "Python example". - +\endif \subsection AdvMEDLoaderAPIFieldW Writing a field @@ -239,10 +245,14 @@ Fields defined on all entities are the most used and common fields in MED file w In this mode the user do **not** want to retrieve the entity ids of the constituting subsupport of the whole mesh because it has no sense. +\if ENABLE_EXAMPLES Here is a \ref py_mcfield_writefile_allentities "Python example". +\endif \subsubsection AdvMEDLoaderAPIFieldWP Writing a partial field +\if ENABLE_EXAMPLES Here is a \ref py_mcfield_writefile_partial "Python example". +\endif */ diff --git a/doc/doxygen/doxfiles/medloader/MEDLoaderBasicAPI.dox b/doc/doxygen/doxfiles/medloader/MEDLoaderBasicAPI.dox index 2d6f319b4..d4f553d36 100644 --- a/doc/doxygen/doxfiles/medloader/MEDLoaderBasicAPI.dox +++ b/doc/doxygen/doxfiles/medloader/MEDLoaderBasicAPI.dox @@ -113,8 +113,9 @@ disconnected in MED file. The aspect of profile is managed by MEDLoader, that is why this aspect does not appear in the MEDLoader API. +\if ENABLE_EXAMPLES Here is a \ref py_mcfield_loadfile_onetimestep_basic "Python example". - +\endif \subsection MEDLoaderMEDFieldsRead Reading several field time steps at a time in MED files @@ -122,8 +123,9 @@ It is possible with MEDLoader to read several time steps of a field at once. The advantage with this approach is to avoid reading and loading the same mesh several times. +\if ENABLE_EXAMPLES Here is a \ref py_mcfield_loadfile_alltimesteps_basic "Python example". - +\endif \section MEDLoaderWriteMain Writing a MED file with MEDLoader @@ -170,8 +172,9 @@ a mesh in MED file is discriminated by a name, so the \b meshName \b should \b be \b non \b empty. If it is the case an INTERP_KERNEL::Exception will be thrown. +\if ENABLE_EXAMPLES Here is a \ref py_mcumesh_writefile_onemesh_basic "Python example". - +\endif \subsection MEDLoaderWriteMeshes Writing several meshes in a MED file with MEDLoader @@ -226,6 +229,8 @@ writes the underlying mesh and writes the specified time step on it. \subsection MEDLoaderWriteFields Writing several time steps of a field in a MED file with MEDLoader +\if ENABLE_EXAMPLES Here is a \ref py_mcfield_writefile_severaltimesteps_basic "Python example". +\endif */ diff --git a/doc/doxygen/fakesources/MEDCouplingMemArray.C b/doc/doxygen/fakesources/MEDCouplingMemArray.C index 53dd0009f..368a9527e 100644 --- a/doc/doxygen/fakesources/MEDCouplingMemArray.C +++ b/doc/doxygen/fakesources/MEDCouplingMemArray.C @@ -131,8 +131,9 @@ void DataArrayDouble::updateTime() const {} * \param [out] res - C array returning values of the \a tupleId-th tuple. The \a res * must be allocated by the caller and be of size not less than \a * this->getNumberOfComponents(). - * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_getTuple "Here is a Python example". + * \endif */ void DataArrayInt::getTuple(int tupleId, int *res) const {} diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8647ad282..6ec53358d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -70,12 +70,10 @@ IF(NOT SALOME_MED_STANDALONE) ENDIF(NOT SALOME_MED_STANDALONE) IF(SALOME_BUILD_GUI) - IF(NOT SALOME_MED_STANDALONE) - IF(NOT SALOME_MED_MICROMED) - IF(SALOME_MED_ENABLE_PYTHON) - #ADD_SUBDIRECTORY(MEDGUI) - ADD_SUBDIRECTORY(MEDOP) - ENDIF(SALOME_MED_ENABLE_PYTHON) - ENDIF(NOT SALOME_MED_MICROMED) - ENDIF(NOT SALOME_MED_STANDALONE) + IF(NOT SALOME_MED_MICROMED) + IF(SALOME_MED_ENABLE_PYTHON) + #ADD_SUBDIRECTORY(MEDGUI) + ADD_SUBDIRECTORY(MEDOP) + ENDIF(SALOME_MED_ENABLE_PYTHON) + ENDIF(NOT SALOME_MED_MICROMED) ENDIF(SALOME_BUILD_GUI) diff --git a/src/MEDCalculator/CMakeLists.txt b/src/MEDCalculator/CMakeLists.txt index ae6603d8f..ddbfbac36 100644 --- a/src/MEDCalculator/CMakeLists.txt +++ b/src/MEDCalculator/CMakeLists.txt @@ -22,12 +22,11 @@ ADD_DEFINITIONS(${HDF5_DEFINITIONS} ${MEDFILE_DEFINITIONS} ${OMNIORB_DEFINITIONS IF(SALOME_MED_ENABLE_PYTHON) ADD_SUBDIRECTORY(Swig) + IF(SALOME_BUILD_TESTS) + ADD_SUBDIRECTORY(Test) + ENDIF(SALOME_BUILD_TESTS) ENDIF(SALOME_MED_ENABLE_PYTHON) -IF(SALOME_BUILD_TESTS) - ADD_SUBDIRECTORY(Test) -ENDIF(SALOME_BUILD_TESTS) - INCLUDE_DIRECTORIES( ${MEDFILE_INCLUDE_DIRS} ${HDF5_INCLUDE_DIRS} diff --git a/src/MEDCoupling/MEDCouplingCMesh.cxx b/src/MEDCoupling/MEDCouplingCMesh.cxx index 1ddcea688..467df1c1e 100644 --- a/src/MEDCoupling/MEDCouplingCMesh.cxx +++ b/src/MEDCoupling/MEDCouplingCMesh.cxx @@ -467,8 +467,10 @@ std::string MEDCouplingCMesh::advancedRepr() const * referred by \a this mesh. * \throw If \a i is not one of [0,1,2]. * + * \if ENABLE_EXAMPLES * \ref cpp_mccmesh_getCoordsAt "Here is a C++ example".
* \ref py_mccmesh_getCoordsAt "Here is a Python example". + * \endif */ const DataArrayDouble *MEDCouplingCMesh::getCoordsAt(int i) const { @@ -493,8 +495,10 @@ const DataArrayDouble *MEDCouplingCMesh::getCoordsAt(int i) const * referred by \a this mesh. * \throw If \a i is not one of [0,1,2]. * + * \if ENABLE_EXAMPLES * \ref cpp_mccmesh_getCoordsAt "Here is a C++ example".
* \ref py_mccmesh_getCoordsAt "Here is a Python example". + * \endif */ DataArrayDouble *MEDCouplingCMesh::getCoordsAt(int i) { @@ -520,8 +524,10 @@ DataArrayDouble *MEDCouplingCMesh::getCoordsAt(int i) * \throw If \a arr->getNumberOfComponents() != 1. * \throw If \a i is not one of [0,1,2]. * + * \if ENABLE_EXAMPLES * \ref medcouplingcppexamplesCmeshStdBuild1 "Here is a C++ example".
* \ref medcouplingpyexamplesCmeshStdBuild1 "Here is a Python example". + * \endif */ void MEDCouplingCMesh::setCoordsAt(int i, const DataArrayDouble *arr) { @@ -553,8 +559,10 @@ void MEDCouplingCMesh::setCoordsAt(int i, const DataArrayDouble *arr) * axis. It must be an array of one component or \c NULL. * \throw If \a coords*->getNumberOfComponents() != 1. * + * \if ENABLE_EXAMPLES * \ref medcouplingcppexamplesCmeshStdBuild1 "Here is a C++ example".
* \ref medcouplingpyexamplesCmeshStdBuild1 "Here is a Python example". + * \endif */ void MEDCouplingCMesh::setCoords(const DataArrayDouble *coordsX, const DataArrayDouble *coordsY, const DataArrayDouble *coordsZ) { diff --git a/src/MEDCoupling/MEDCouplingFieldDouble.cxx b/src/MEDCoupling/MEDCouplingFieldDouble.cxx index 0390442b0..f0c3f38bd 100644 --- a/src/MEDCoupling/MEDCouplingFieldDouble.cxx +++ b/src/MEDCoupling/MEDCouplingFieldDouble.cxx @@ -200,8 +200,10 @@ MEDCouplingFieldDouble *MEDCouplingFieldDouble::deepCpy() const * \return MEDCouplingFieldDouble* - a new instance of MEDCouplingFieldDouble. The * caller is to delete this field using decrRef() as it is no more needed. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_buildNewTimeReprFromThis "Here is a C++ example."
* \ref py_mcfielddouble_buildNewTimeReprFromThis "Here is a Python example." + * \endif * \sa clone() */ MEDCouplingFieldDouble *MEDCouplingFieldDouble::buildNewTimeReprFromThis(TypeOfTimeDiscretization td, bool deepCopy) const @@ -596,8 +598,10 @@ bool MEDCouplingFieldDouble::areCompatibleForMeld(const MEDCouplingFieldDouble * * \throw If \a check == \c true and \a old2NewBg contains equal ids. * \throw If mesh nature does not allow renumbering (e.g. structured mesh). * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_renumberCells "Here is a C++ example".
* \ref py_mcfielddouble_renumberCells "Here is a Python example". + * \endif */ void MEDCouplingFieldDouble::renumberCells(const int *old2NewBg, bool check) { @@ -659,8 +663,10 @@ void MEDCouplingFieldDouble::renumberCellsWithoutMesh(const int *old2NewBg, bool * \throw If mesh nature does not allow renumbering (e.g. structured mesh). * \throw If values at merged nodes deffer more than \a eps. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_renumberNodes "Here is a C++ example".
* \ref py_mcfielddouble_renumberNodes "Here is a Python example". + * \endif */ void MEDCouplingFieldDouble::renumberNodes(const int *old2NewBg, double eps) { @@ -752,8 +758,10 @@ DataArrayInt *MEDCouplingFieldDouble::getIdsInRange(double vmin, double vmax) co * \param [in] part - an array of cell ids to include to the result field. * \return MEDCouplingFieldDouble * - a new instance of MEDCouplingFieldDouble. The caller is to delete this field using decrRef() as it is no more needed. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_subpart1 "Here is a C++ example".
* \ref py_mcfielddouble_subpart1 "Here is a Python example". + * \endif * \sa MEDCouplingFieldDouble::buildSubPartRange */ @@ -791,8 +799,10 @@ MEDCouplingFieldDouble *MEDCouplingFieldDouble::buildSubPart(const DataArrayInt * * \throw if there is presence of an invalid cell id in [ \a partBg, \a partEnd ) regarding the number of cells of \a this->getMesh(). * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_subpart1 "Here a C++ example."
* \ref py_mcfielddouble_subpart1 "Here a Python example." + * \endif * \sa ParaMEDMEM::MEDCouplingFieldDouble::buildSubPart(const DataArrayInt *) const, MEDCouplingFieldDouble::buildSubPartRange */ MEDCouplingFieldDouble *MEDCouplingFieldDouble::buildSubPart(const int *partBg, const int *partEnd) const @@ -1334,8 +1344,10 @@ void MEDCouplingFieldDouble::integral(bool isWAbs, double *res) const * \throw If the mesh is not set. * \throw If the mesh is not a structured one. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_getValueOnPos "Here is a C++ example".
* \ref py_mcfielddouble_getValueOnPos "Here is a Python example". + * \endif */ void MEDCouplingFieldDouble::getValueOnPos(int i, int j, int k, double *res) const { @@ -1356,8 +1368,10 @@ void MEDCouplingFieldDouble::getValueOnPos(int i, int j, int k, double *res) con * \throw If the mesh is not set. * \throw If \a spaceLoc is out of the spatial discretization. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_getValueOn "Here is a C++ example".
* \ref py_mcfielddouble_getValueOn "Here is a Python example". + * \endif */ void MEDCouplingFieldDouble::getValueOn(const double *spaceLoc, double *res) const { @@ -1382,8 +1396,10 @@ void MEDCouplingFieldDouble::getValueOn(const double *spaceLoc, double *res) con * \throw If the mesh is not set. * \throw If any point in \a spaceLoc is out of the spatial discretization. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_getValueOnMulti "Here is a C++ example".
* \ref py_mcfielddouble_getValueOnMulti "Here is a Python example". + * \endif */ DataArrayDouble *MEDCouplingFieldDouble::getValueOnMulti(const double *spaceLoc, int nbOfPoints) const { @@ -1407,8 +1423,10 @@ DataArrayDouble *MEDCouplingFieldDouble::getValueOnMulti(const double *spaceLoc, * \throw If \a spaceLoc is out of the spatial discretization. * \throw If \a time is not covered by \a this->_time_discr. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_getValueOn_time "Here is a C++ example".
* \ref py_mcfielddouble_getValueOn_time "Here is a Python example". + * \endif */ void MEDCouplingFieldDouble::getValueOn(const double *spaceLoc, double time, double *res) const { @@ -1466,7 +1484,9 @@ MEDCouplingFieldDouble &MEDCouplingFieldDouble::operator=(double value) throw(IN * \throw If \a func returns \c false. * \throw If the spatial discretization of \a this field is NULL. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_fillFromAnalytic_c_func "Here is a C++ example". + * \endif */ void MEDCouplingFieldDouble::fillFromAnalytic(int nbOfComp, FunctionToEvaluate func) { @@ -1510,8 +1530,10 @@ void MEDCouplingFieldDouble::fillFromAnalytic(int nbOfComp, FunctionToEvaluate f * \throw If the spatial discretization of \a this field is NULL. * \throw If computing \a func fails. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_fillFromAnalytic "Here is a C++ example".
* \ref py_mcfielddouble_fillFromAnalytic "Here is a Python example". + * \endif */ void MEDCouplingFieldDouble::fillFromAnalytic(int nbOfComp, const std::string& func) { @@ -1557,8 +1579,10 @@ void MEDCouplingFieldDouble::fillFromAnalytic(int nbOfComp, const std::string& f * \throw If the spatial discretization of \a this field is NULL. * \throw If computing \a func fails. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_fillFromAnalytic2 "Here is a C++ example".
* \ref py_mcfielddouble_fillFromAnalytic2 "Here is a Python example". + * \endif */ void MEDCouplingFieldDouble::fillFromAnalytic2(int nbOfComp, const std::string& func) { @@ -1604,8 +1628,10 @@ void MEDCouplingFieldDouble::fillFromAnalytic2(int nbOfComp, const std::string& * \throw If the spatial discretization of \a this field is NULL. * \throw If computing \a func fails. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_fillFromAnalytic3 "Here is a C++ example".
* \ref py_mcfielddouble_fillFromAnalytic3 "Here is a Python example". + * \endif */ void MEDCouplingFieldDouble::fillFromAnalytic3(int nbOfComp, const std::vector& varsOrder, const std::string& func) { @@ -1625,7 +1651,9 @@ void MEDCouplingFieldDouble::fillFromAnalytic3(int nbOfComp, const std::vector * \ref py_mcfielddouble_applyFunc_val "Here is a Python example". + * \endif */ void MEDCouplingFieldDouble::applyFunc(int nbOfComp, double val) { @@ -1681,8 +1711,10 @@ void MEDCouplingFieldDouble::applyFunc(int nbOfComp, double val) * This function is to compute a field value basing on a current field value. * \throw If computing \a func fails. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_applyFunc "Here is a C++ example".
* \ref py_mcfielddouble_applyFunc "Here is a Python example". + * \endif */ void MEDCouplingFieldDouble::applyFunc(int nbOfComp, const std::string& func) { @@ -1719,8 +1751,10 @@ void MEDCouplingFieldDouble::applyFunc(int nbOfComp, const std::string& func) * This function is to compute a new field value basing on a current field value. * \throw If computing \a func fails. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_applyFunc2 "Here is a C++ example".
* \ref py_mcfielddouble_applyFunc2 "Here is a Python example". + * \endif */ void MEDCouplingFieldDouble::applyFunc2(int nbOfComp, const std::string& func) { @@ -1756,8 +1790,10 @@ void MEDCouplingFieldDouble::applyFunc2(int nbOfComp, const std::string& func) * This function is to compute a new field value basing on a current field value. * \throw If computing \a func fails. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_applyFunc3 "Here is a C++ example".
* \ref py_mcfielddouble_applyFunc3 "Here is a Python example". + * \endif */ void MEDCouplingFieldDouble::applyFunc3(int nbOfComp, const std::vector& varsOrder, const std::string& func) { @@ -1786,8 +1822,10 @@ void MEDCouplingFieldDouble::applyFunc3(int nbOfComp, const std::vector * \ref py_mcfielddouble_applyFunc_same_nb_comp "Here is a Python example". + * \endif */ void MEDCouplingFieldDouble::applyFunc(const std::string& func) { @@ -2101,8 +2139,10 @@ void MEDCouplingFieldDouble::serialize(DataArrayInt *&dataInt, std::vector * \ref py_mcfielddouble_changeUnderlyingMesh "Here is a Python example". + * \endif */ void MEDCouplingFieldDouble::changeUnderlyingMesh(const MEDCouplingMesh *other, int levOfCheck, double precOnMesh, double eps) { @@ -2147,8 +2187,10 @@ void MEDCouplingFieldDouble::changeUnderlyingMesh(const MEDCouplingMesh *other, * \throw If the two fields are not coherent for merge. * \throw If field values at merged nodes (if any) deffer more than \a eps. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_substractInPlaceDM "Here is a C++ example".
* \ref py_mcfielddouble_substractInPlaceDM "Here is a Python example". + * \endif * \sa changeUnderlyingMesh(). */ void MEDCouplingFieldDouble::substractInPlaceDM(const MEDCouplingFieldDouble *f, int levOfCheck, double precOnMesh, double eps) @@ -2683,8 +2725,10 @@ void MEDCouplingFieldDouble::sortPerTuple(bool asc) * \throw If the spatial discretization of \a f1 is NULL. * \throw If the time discretization of \a f1 is NULL. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_MergeFields "Here is a C++ example".
* \ref py_mcfielddouble_MergeFields "Here is a Python example". + * \endif */ MEDCouplingFieldDouble *MEDCouplingFieldDouble::MergeFields(const MEDCouplingFieldDouble *f1, const MEDCouplingFieldDouble *f2) { @@ -2722,8 +2766,10 @@ MEDCouplingFieldDouble *MEDCouplingFieldDouble::MergeFields(const MEDCouplingFie * \throw If \a a is empty. * \throw If the fields are not compatible for the merge. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_MergeFields "Here is a C++ example".
* \ref py_mcfielddouble_MergeFields "Here is a Python example". + * \endif */ MEDCouplingFieldDouble *MEDCouplingFieldDouble::MergeFields(const std::vector& a) { @@ -2857,8 +2903,10 @@ MEDCouplingFieldDouble *MEDCouplingFieldDouble::CrossProductFields(const MEDCoup * \throw If the fields are not strictly compatible (areStrictlyCompatible()), i.e. they * differ not only in values. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_MaxFields "Here is a C++ example".
* \ref py_mcfielddouble_MaxFields "Here is a Python example". + * \endif */ MEDCouplingFieldDouble *MEDCouplingFieldDouble::MaxFields(const MEDCouplingFieldDouble *f1, const MEDCouplingFieldDouble *f2) { @@ -2885,8 +2933,10 @@ MEDCouplingFieldDouble *MEDCouplingFieldDouble::MaxFields(const MEDCouplingField * \throw If the fields are not strictly compatible (areStrictlyCompatible()), i.e. they * differ not only in values. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_MaxFields "Here is a C++ example".
* \ref py_mcfielddouble_MaxFields "Here is a Python example". + * \endif */ MEDCouplingFieldDouble *MEDCouplingFieldDouble::MinFields(const MEDCouplingFieldDouble *f1, const MEDCouplingFieldDouble *f2) { @@ -3176,8 +3226,10 @@ const MEDCouplingFieldDouble &MEDCouplingFieldDouble::operator^=(const MEDCoupli * \throw If the mesh is not set. * \throw If any of the fields has no name. * + * \if ENABLE_EXAMPLES * \ref cpp_mcfielddouble_WriteVTK "Here is a C++ example".
* \ref py_mcfielddouble_WriteVTK "Here is a Python example". + * \endif */ void MEDCouplingFieldDouble::WriteVTK(const std::string& fileName, const std::vector& fs, bool isBinary) { diff --git a/src/MEDCoupling/MEDCouplingMemArray.cxx b/src/MEDCoupling/MEDCouplingMemArray.cxx index 7f1d76989..8aae3f714 100644 --- a/src/MEDCoupling/MEDCouplingMemArray.cxx +++ b/src/MEDCoupling/MEDCouplingMemArray.cxx @@ -1846,7 +1846,9 @@ void DataArrayDouble::transpose() * \throw If a component index (\a i) is not valid: * \a i < 0 || \a i >= \a this->getNumberOfComponents(). * + * \if ENABLE_EXAMPLES * \ref py_mcdataarraydouble_KeepSelectedComponents "Here is a Python example". + * \endif */ DataArray *DataArrayDouble::keepSelectedComponents(const std::vector& compoIds) const { @@ -1879,9 +1881,11 @@ DataArray *DataArrayDouble::keepSelectedComponents(const std::vector& compo * \throw If \a this is not allocated. * \throw If \a this and \a other arrays have different number of tuples. * + * \if ENABLE_EXAMPLES * \ref cpp_mcdataarraydouble_meldwith "Here is a C++ example". * * \ref py_mcdataarraydouble_meldwith "Here is a Python example". + * \endif */ void DataArrayDouble::meldWith(const DataArrayDouble *other) { @@ -1961,9 +1965,11 @@ bool DataArrayDouble::areIncludedInMe(const DataArrayDouble *other, double prec, * \throw If \a this is not allocated. * \throw If the number of components is not in [1,2,3,4]. * + * \if ENABLE_EXAMPLES * \ref cpp_mcdataarraydouble_findcommontuples "Here is a C++ example". * * \ref py_mcdataarraydouble_findcommontuples "Here is a Python example". + * \endif * \sa DataArrayInt::BuildOld2NewArrayFromSurjectiveFormat2(), DataArrayDouble::areIncludedInMe */ void DataArrayDouble::findCommonTuples(double prec, int limitTupleId, DataArrayInt *&comm, DataArrayInt *&commIndex) const @@ -2190,7 +2196,9 @@ DataArrayInt *DataArrayDouble::computeNbOfInteractionsWith(const DataArrayDouble * \throw If \a this is not allocated. * \throw If the number of components is not in [1,2,3,4]. * + * \if ENABLE_EXAMPLES * \ref py_mcdataarraydouble_getdifferentvalues "Here is a Python example". + * \endif */ DataArrayDouble *DataArrayDouble::getDifferentValues(double prec, int limitTupleId) const { @@ -2214,7 +2222,9 @@ DataArrayDouble *DataArrayDouble::getDifferentValues(double prec, int limitTuple * \throw If \a compoIds.size() != \a a->getNumberOfComponents(). * \throw If \a compoIds[i] < 0 or \a compoIds[i] > \a this->getNumberOfComponents(). * + * \if ENABLE_EXAMPLES * \ref py_mcdataarraydouble_setselectedcomponents "Here is a Python example". + * \endif */ void DataArrayDouble::setSelectedComponents(const DataArrayDouble *a, const std::vector& compoIds) { @@ -2264,7 +2274,9 @@ void DataArrayDouble::setSelectedComponents(const DataArrayDouble *a, const std: * \throw If \a strictCompoCompare == \a true && \a a->getNumberOfComponents() != * \c len(\c range(\a bgComp,\a endComp,\a stepComp)). * + * \if ENABLE_EXAMPLES * \ref py_mcdataarraydouble_setpartofvalues1 "Here is a Python example". + * \endif */ void DataArrayDouble::setPartOfValues1(const DataArrayDouble *a, int bgTuples, int endTuples, int stepTuples, int bgComp, int endComp, int stepComp, bool strictCompoCompare) { @@ -2327,7 +2339,9 @@ void DataArrayDouble::setPartOfValues1(const DataArrayDouble *a, int bgTuples, i * non-empty range of increasing indices or indices are out of a valid range * for \this array. * + * \if ENABLE_EXAMPLES * \ref py_mcdataarraydouble_setpartofvaluessimple1 "Here is a Python example". + * \endif */ void DataArrayDouble::setPartOfValuesSimple1(double a, int bgTuples, int endTuples, int stepTuples, int bgComp, int endComp, int stepComp) { @@ -2381,7 +2395,9 @@ void DataArrayDouble::setPartOfValuesSimple1(double a, int bgTuples, int endTupl * \throw In the second *mode of usage*, if \a a->getNumberOfTuples() != 1 or * a->getNumberOfComponents() != (endComp - bgComp). * + * \if ENABLE_EXAMPLES * \ref py_mcdataarraydouble_setpartofvalues2 "Here is a Python example". + * \endif */ void DataArrayDouble::setPartOfValues2(const DataArrayDouble *a, const int *bgTuples, const int *endTuples, const int *bgComp, const int *endComp, bool strictCompoCompare) { @@ -2452,7 +2468,9 @@ void DataArrayDouble::setPartOfValues2(const DataArrayDouble *a, const int *bgTu * \throw If any index of tuple/component given by bgTuples / bgComp is * out of a valid range for \a this array. * + * \if ENABLE_EXAMPLES * \ref py_mcdataarraydouble_setpartofvaluessimple2 "Here is a Python example". + * \endif */ void DataArrayDouble::setPartOfValuesSimple2(double a, const int *bgTuples, const int *endTuples, const int *bgComp, const int *endComp) { @@ -2512,7 +2530,9 @@ void DataArrayDouble::setPartOfValuesSimple2(double a, const int *bgTuples, cons * non-empty range of increasing indices or indices are out of a valid range * for \this array. * + * \if ENABLE_EXAMPLES * \ref py_mcdataarraydouble_setpartofvalues3 "Here is a Python example". + * \endif */ void DataArrayDouble::setPartOfValues3(const DataArrayDouble *a, const int *bgTuples, const int *endTuples, int bgComp, int endComp, int stepComp, bool strictCompoCompare) { @@ -2584,7 +2604,9 @@ void DataArrayDouble::setPartOfValues3(const DataArrayDouble *a, const int *bgTu * non-empty range of increasing indices or indices are out of a valid range * for \this array. * + * \if ENABLE_EXAMPLES * \ref py_mcdataarraydouble_setpartofvaluessimple3 "Here is a Python example". + * \endif */ void DataArrayDouble::setPartOfValuesSimple3(double a, const int *bgTuples, const int *endTuples, int bgComp, int endComp, int stepComp) { @@ -4525,8 +4547,10 @@ DataArrayDoubleIterator *DataArrayDouble::iterator() * * \sa DataArrayDouble::getIdsNotInRange * + * \if ENABLE_EXAMPLES * \ref cpp_mcdataarraydouble_getidsinrange "Here is a C++ example".
* \ref py_mcdataarraydouble_getidsinrange "Here is a Python example". + * \endif */ DataArrayInt *DataArrayDouble::getIdsInRange(double vmin, double vmax) const { @@ -6353,8 +6377,10 @@ DataArrayInt *DataArrayInt::transformWithIndArrR(const int *indArrBg, const int * The caller is to delete this result array using decrRef() as it is no more * needed. * + * \if ENABLE_EXAMPLES * \ref cpp_mcdataarrayint_invertarrayo2n2n2o "Here is a C++ example".
* \ref py_mcdataarrayint_invertarrayo2n2n2o "Here is a Python example". + * \endif */ DataArrayInt *DataArrayInt::invertArrayO2N2N2O(int newNbOfElem) const { @@ -6418,9 +6444,11 @@ DataArrayInt *DataArrayInt::invertArrayO2N2N2OBis(int newNbOfElem) const * The caller is to delete this result array using decrRef() as it is no more * needed. * + * \if ENABLE_EXAMPLES * \ref cpp_mcdataarrayint_invertarrayn2o2o2n "Here is a C++ example". * * \ref py_mcdataarrayint_invertarrayn2o2o2n "Here is a Python example". + * \endif */ DataArrayInt *DataArrayInt::invertArrayN2O2O2N(int oldNbOfElem) const { @@ -6720,9 +6748,11 @@ void DataArrayInt::checkStrictlyMonotonic(bool increasing) const * \throw If \a this->getNumberOfTuples() != \a other->getNumberOfTuples(). * \throw If \a other includes a value which is not in \a this array. * + * \if ENABLE_EXAMPLES * \ref cpp_mcdataarrayint_buildpermutationarr "Here is a C++ example". * * \ref py_mcdataarrayint_buildpermutationarr "Here is a Python example". + * \endif */ DataArrayInt *DataArrayInt::buildPermutationArr(const DataArrayInt& other) const { @@ -7605,7 +7635,9 @@ void DataArrayInt::reAlloc(int nbOfTuples) * \throw If a component index (\a i) is not valid: * \a i < 0 || \a i >= \a this->getNumberOfComponents(). * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_keepselectedcomponents "Here is a Python example". + * \endif */ DataArray *DataArrayInt::keepSelectedComponents(const std::vector& compoIds) const { @@ -7634,9 +7666,11 @@ DataArray *DataArrayInt::keepSelectedComponents(const std::vector& compoIds * \throw If \a this is not allocated. * \throw If \a this and \a other arrays have different number of tuples. * + * \if ENABLE_EXAMPLES * \ref cpp_mcdataarrayint_meldwith "Here is a C++ example". * * \ref py_mcdataarrayint_meldwith "Here is a Python example". + * \endif */ void DataArrayInt::meldWith(const DataArrayInt *other) { @@ -7677,7 +7711,9 @@ void DataArrayInt::meldWith(const DataArrayInt *other) * \throw If \a compoIds.size() != \a a->getNumberOfComponents(). * \throw If \a compoIds[i] < 0 or \a compoIds[i] > \a this->getNumberOfComponents(). * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_setselectedcomponents "Here is a Python example". + * \endif */ void DataArrayInt::setSelectedComponents(const DataArrayInt *a, const std::vector& compoIds) { @@ -7728,7 +7764,9 @@ void DataArrayInt::setSelectedComponents(const DataArrayInt *a, const std::vecto * \throw If \a strictCompoCompare == \a true && \a a->getNumberOfComponents() != * \c len(\c range(\a bgComp,\a endComp,\a stepComp)). * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_setpartofvalues1 "Here is a Python example". + * \endif */ void DataArrayInt::setPartOfValues1(const DataArrayInt *a, int bgTuples, int endTuples, int stepTuples, int bgComp, int endComp, int stepComp, bool strictCompoCompare) { @@ -7791,7 +7829,9 @@ void DataArrayInt::setPartOfValues1(const DataArrayInt *a, int bgTuples, int end * non-empty range of increasing indices or indices are out of a valid range * for \this array. * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_setpartofvaluessimple1 "Here is a Python example". + * \endif */ void DataArrayInt::setPartOfValuesSimple1(int a, int bgTuples, int endTuples, int stepTuples, int bgComp, int endComp, int stepComp) { @@ -7846,7 +7886,9 @@ void DataArrayInt::setPartOfValuesSimple1(int a, int bgTuples, int endTuples, in * \throw In the second *mode of usage*, if \a a->getNumberOfTuples() != 1 or * a->getNumberOfComponents() != (endComp - bgComp). * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_setpartofvalues2 "Here is a Python example". + * \endif */ void DataArrayInt::setPartOfValues2(const DataArrayInt *a, const int *bgTuples, const int *endTuples, const int *bgComp, const int *endComp, bool strictCompoCompare) { @@ -7917,7 +7959,9 @@ void DataArrayInt::setPartOfValues2(const DataArrayInt *a, const int *bgTuples, * \throw If any index of tuple/component given by bgTuples / bgComp is * out of a valid range for \a this array. * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_setpartofvaluessimple2 "Here is a Python example". + * \endif */ void DataArrayInt::setPartOfValuesSimple2(int a, const int *bgTuples, const int *endTuples, const int *bgComp, const int *endComp) { @@ -7977,7 +8021,9 @@ void DataArrayInt::setPartOfValuesSimple2(int a, const int *bgTuples, const int * non-empty range of increasing indices or indices are out of a valid range * for \this array. * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_setpartofvalues3 "Here is a Python example". + * \endif */ void DataArrayInt::setPartOfValues3(const DataArrayInt *a, const int *bgTuples, const int *endTuples, int bgComp, int endComp, int stepComp, bool strictCompoCompare) { @@ -8049,7 +8095,9 @@ void DataArrayInt::setPartOfValues3(const DataArrayInt *a, const int *bgTuples, * non-empty range of increasing indices or indices are out of a valid range * for \this array. * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_setpartofvaluessimple3 "Here is a Python example". + * \endif */ void DataArrayInt::setPartOfValuesSimple3(int a, const int *bgTuples, const int *endTuples, int bgComp, int endComp, int stepComp) { diff --git a/src/MEDCoupling/MEDCouplingMemArrayChar.cxx b/src/MEDCoupling/MEDCouplingMemArrayChar.cxx index 3575aa65d..96e650be1 100644 --- a/src/MEDCoupling/MEDCouplingMemArrayChar.cxx +++ b/src/MEDCoupling/MEDCouplingMemArrayChar.cxx @@ -734,7 +734,9 @@ DataArrayChar *DataArrayChar::changeNbOfComponents(int newNbOfComp, char dftValu * \throw If a component index (\a i) is not valid: * \a i < 0 || \a i >= \a this->getNumberOfComponents(). * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_keepselectedcomponents "Here is a Python example". + * \endif */ DataArray *DataArrayChar::keepSelectedComponents(const std::vector& compoIds) const { @@ -763,9 +765,11 @@ DataArray *DataArrayChar::keepSelectedComponents(const std::vector& compoId * \throw If \a this is not allocated. * \throw If \a this and \a other arrays have different number of tuples. * + * \if ENABLE_EXAMPLES * \ref cpp_mcdataarrayint_meldwith "Here is a C++ example". * * \ref py_mcdataarrayint_meldwith "Here is a Python example". + * \endif */ void DataArrayChar::meldWith(const DataArrayChar *other) { @@ -826,7 +830,9 @@ void DataArrayChar::meldWith(const DataArrayChar *other) * \throw If \a strictCompoCompare == \a true && \a a->getNumberOfComponents() != * \c len(\c range(\a bgComp,\a endComp,\a stepComp)). * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_setpartofvalues1 "Here is a Python example". + * \endif */ void DataArrayChar::setPartOfValues1(const DataArrayChar *a, int bgTuples, int endTuples, int stepTuples, int bgComp, int endComp, int stepComp, bool strictCompoCompare) { @@ -889,7 +895,9 @@ void DataArrayChar::setPartOfValues1(const DataArrayChar *a, int bgTuples, int e * non-empty range of increasing indices or indices are out of a valid range * for \this array. * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_setpartofvaluessimple1 "Here is a Python example". + * \endif */ void DataArrayChar::setPartOfValuesSimple1(char a, int bgTuples, int endTuples, int stepTuples, int bgComp, int endComp, int stepComp) { @@ -944,7 +952,9 @@ void DataArrayChar::setPartOfValuesSimple1(char a, int bgTuples, int endTuples, * \throw In the second *mode of usage*, if \a a->getNumberOfTuples() != 1 or * a->getNumberOfComponents() != (endComp - bgComp). * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_setpartofvalues2 "Here is a Python example". + * \endif */ void DataArrayChar::setPartOfValues2(const DataArrayChar *a, const int *bgTuples, const int *endTuples, const int *bgComp, const int *endComp, bool strictCompoCompare) { @@ -1015,7 +1025,9 @@ void DataArrayChar::setPartOfValues2(const DataArrayChar *a, const int *bgTuples * \throw If any index of tuple/component given by bgTuples / bgComp is * out of a valid range for \a this array. * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_setpartofvaluessimple2 "Here is a Python example". + * \endif */ void DataArrayChar::setPartOfValuesSimple2(char a, const int *bgTuples, const int *endTuples, const int *bgComp, const int *endComp) { @@ -1075,7 +1087,9 @@ void DataArrayChar::setPartOfValuesSimple2(char a, const int *bgTuples, const in * non-empty range of increasing indices or indices are out of a valid range * for \this array. * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_setpartofvalues3 "Here is a Python example". + * \endif */ void DataArrayChar::setPartOfValues3(const DataArrayChar *a, const int *bgTuples, const int *endTuples, int bgComp, int endComp, int stepComp, bool strictCompoCompare) { @@ -1147,7 +1161,9 @@ void DataArrayChar::setPartOfValues3(const DataArrayChar *a, const int *bgTuples * non-empty range of increasing indices or indices are out of a valid range * for \this array. * + * \if ENABLE_EXAMPLES * \ref py_mcdataarrayint_setpartofvaluessimple3 "Here is a Python example". + * \endif */ void DataArrayChar::setPartOfValuesSimple3(char a, const int *bgTuples, const int *endTuples, int bgComp, int endComp, int stepComp) { diff --git a/src/MEDCoupling/MEDCouplingMesh.cxx b/src/MEDCoupling/MEDCouplingMesh.cxx index 9d20a9698..668fb9811 100644 --- a/src/MEDCoupling/MEDCouplingMesh.cxx +++ b/src/MEDCoupling/MEDCouplingMesh.cxx @@ -371,8 +371,10 @@ void MEDCouplingMesh::copyTinyInfoFrom(const MEDCouplingMesh *other) * \throw If the nodal connectivity of cells is not defined. * \throw If computing \a func fails. * + * \if ENABLE_EXAMPLES * \ref cpp_mcmesh_fillFromAnalytic "Here is a C++ example".
* \ref py_mcmesh_fillFromAnalytic "Here is a Python example". + * \endif */ MEDCouplingFieldDouble *MEDCouplingMesh::fillFromAnalytic(TypeOfField t, int nbOfComp, const std::string& func) const { @@ -421,8 +423,10 @@ MEDCouplingFieldDouble *MEDCouplingMesh::fillFromAnalytic(TypeOfField t, int nbO * \throw If the nodal connectivity of cells is not defined. * \throw If computing \a func fails. * + * \if ENABLE_EXAMPLES * \ref cpp_mcmesh_fillFromAnalytic2 "Here is a C++ example".
* \ref py_mcmesh_fillFromAnalytic2 "Here is a Python example". + * \endif */ MEDCouplingFieldDouble *MEDCouplingMesh::fillFromAnalytic2(TypeOfField t, int nbOfComp, const std::string& func) const { @@ -472,8 +476,10 @@ MEDCouplingFieldDouble *MEDCouplingMesh::fillFromAnalytic2(TypeOfField t, int nb * \throw If the nodal connectivity of cells is not defined. * \throw If computing \a func fails. * + * \if ENABLE_EXAMPLES * \ref cpp_mcmesh_fillFromAnalytic3 "Here is a C++ example".
* \ref py_mcmesh_fillFromAnalytic3 "Here is a Python example". + * \endif */ MEDCouplingFieldDouble *MEDCouplingMesh::fillFromAnalytic3(TypeOfField t, int nbOfComp, const std::vector& varsOrder, const std::string& func) const { @@ -626,8 +632,10 @@ const char *MEDCouplingMesh::GetReprOfGeometricType(INTERP_KERNEL::NormalizedCel * \param [in,out] elts - vector returning ids of the found cells. It is cleared * before inserting ids. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_getCellsContainingPoint "Here is a C++ example".
* \ref py_mcumesh_getCellsContainingPoint "Here is a Python example". + * \endif */ void MEDCouplingMesh::getCellsContainingPoint(const double *pos, double eps, std::vector& elts) const { @@ -655,8 +663,10 @@ void MEDCouplingMesh::getCellsContainingPoint(const double *pos, double eps, std * Number of cells in contact with the *i*-th point is * \a eltsIndex[ *i*+1 ] - \a eltsIndex[ *i* ]. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_getCellsContainingPoints "Here is a C++ example".
* \ref py_mcumesh_getCellsContainingPoints "Here is a Python example". + * \endif */ void MEDCouplingMesh::getCellsContainingPoints(const double *pos, int nbOfPoints, double eps, MEDCouplingAutoRefCountObjectPtr& elts, MEDCouplingAutoRefCountObjectPtr& eltsIndex) const { diff --git a/src/MEDCoupling/MEDCouplingPointSet.cxx b/src/MEDCoupling/MEDCouplingPointSet.cxx index faf9b24b9..d20b60567 100644 --- a/src/MEDCoupling/MEDCouplingPointSet.cxx +++ b/src/MEDCoupling/MEDCouplingPointSet.cxx @@ -223,8 +223,10 @@ bool MEDCouplingPointSet::areCoordsEqualWithoutConsideringStr(const MEDCouplingP * \throw If the coordinates array is not set. * \throw If \a nodeId is not a valid index for the coordinates array. * + * \if ENABLE_EXAMPLES * \ref cpp_mcpointset_getcoordinatesofnode "Here is a C++ example".
* \ref py_mcpointset_getcoordinatesofnode "Here is a Python example". + * \endif */ void MEDCouplingPointSet::getCoordinatesOfNode(int nodeId, std::vector& coo) const { @@ -293,8 +295,10 @@ DataArrayInt *MEDCouplingPointSet::buildPermArrayForMergeNode(double precision, * is to delete this array using decrRef() as it is no more needed. * \throw If the coordinates array is not set. * + * \if ENABLE_EXAMPLES * \ref cpp_mcpointset_findcommonnodes "Here is a C++ example".
* \ref py_mcpointset_findcommonnodes "Here is a Python example". + * \endif */ void MEDCouplingPointSet::findCommonNodes(double prec, int limitNodeId, DataArrayInt *&comm, DataArrayInt *&commIndex) const { @@ -315,8 +319,10 @@ void MEDCouplingPointSet::findCommonNodes(double prec, int limitNodeId, DataArra * array using decrRef() as it is no more needed. * \throw If the coordinates array is not set. * + * \if ENABLE_EXAMPLES * \ref cpp_mcpointset_getnodeidsnearpoint "Here is a C++ example".
* \ref py_mcpointset_getnodeidsnearpoint "Here is a Python example". + * \endif */ DataArrayInt *MEDCouplingPointSet::getNodeIdsNearPoint(const double *pos, double eps) const { @@ -348,8 +354,10 @@ DataArrayInt *MEDCouplingPointSet::getNodeIdsNearPoint(const double *pos, double * The caller is to delete this array using decrRef() as it is no more needed. * \throw If the coordinates array is not set. * + * \if ENABLE_EXAMPLES * \ref cpp_mcpointset_getnodeidsnearpoints "Here is a C++ example".
* \ref py_mcpointset_getnodeidsnearpoints "Here is a Python example". + * \endif */ void MEDCouplingPointSet::getNodeIdsNearPoints(const double *pos, int nbOfPoints, double eps, DataArrayInt *& c, DataArrayInt *& cI) const { @@ -386,8 +394,10 @@ DataArrayInt *MEDCouplingPointSet::buildNewNumberingFromCommonNodesFormat(const * \throw If the coordinates array is not set. * \throw If the nodal connectivity of cells is not defined. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_renumberNodes "Here is a C++ example".
* \ref py_mcumesh_renumberNodes "Here is a Python example". + * \endif */ void MEDCouplingPointSet::renumberNodes(const int *newNodeNumbers, int newNbOfNodes) { @@ -412,8 +422,10 @@ void MEDCouplingPointSet::renumberNodes(const int *newNodeNumbers, int newNbOfNo * \throw If the coordinates array is not set. * \throw If the nodal connectivity of cells is not defined. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_renumberNodes "Here is a C++ example".
* \ref py_mcumesh_renumberNodes "Here is a Python example". + * \endif */ void MEDCouplingPointSet::renumberNodes2(const int *newNodeNumbers, int newNbOfNodes) { @@ -449,8 +461,10 @@ void MEDCouplingPointSet::renumberNodes2(const int *newNodeNumbers, int newNbOfN * pre-allocated by the caller. * \throw If the coordinates array is not set. * + * \if ENABLE_EXAMPLES * \ref cpp_mcpointset_getBoundingBox "Here is a C++ example".
* \ref py_mcpointset_getBoundingBox "Here is a Python example". + * \endif */ void MEDCouplingPointSet::getBoundingBox(double *bbox) const { @@ -521,8 +535,10 @@ void MEDCouplingPointSet::recenterForMaxPrecision(double eps) * \throw If \a vector == NULL && \a this->getSpaceDimension() == 3. * \throw If Magnitude of \a vector is zero. * + * \if ENABLE_EXAMPLES * \ref cpp_mcpointset_rotate "Here is a C++ example".
* \ref py_mcpointset_rotate "Here is a Python example". + * \endif */ void MEDCouplingPointSet::rotate(const double *center, const double *vector, double angle) { @@ -544,8 +560,10 @@ void MEDCouplingPointSet::rotate(const double *center, const double *vector, dou * \throw If the coordinates array is not set. * \throw If \a vector == NULL. * + * \if ENABLE_EXAMPLES * \ref cpp_mcpointset_translate "Here is a C++ example".
* \ref py_mcpointset_translate "Here is a Python example". + * \endif */ void MEDCouplingPointSet::translate(const double *vector) { @@ -572,8 +590,10 @@ void MEDCouplingPointSet::translate(const double *vector) * \throw If the coordinates array is not set. * \throw If \a point == NULL. * + * \if ENABLE_EXAMPLES * \ref cpp_mcpointset_scale "Here is a C++ example".
* \ref py_mcpointset_scale "Here is a Python example". + * \endif */ void MEDCouplingPointSet::scale(const double *point, double factor) { @@ -1346,8 +1366,10 @@ MEDCouplingPointSet *MEDCouplingPointSet::buildPartOfMySelf2(int start, int end, * \throw If the nodal connectivity of cells is not defined. * \throw If any node id in \a begin is not valid. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_buildPartOfMySelfNode "Here is a C++ example".
* \ref py_mcumesh_buildPartOfMySelfNode "Here is a Python example". + * \endif */ MEDCouplingPointSet *MEDCouplingPointSet::buildPartOfMySelfNode(const int *begin, const int *end, bool fullyIn) const { @@ -1383,8 +1405,10 @@ MEDCouplingPointSet *MEDCouplingPointSet::buildPartOfMySelfNode(const int *begin * \throw If the nodal connectivity of cells is not defined. * \throw If the nodal connectivity includes an invalid id. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_zipConnectivityTraducer "Here is a C++ example".
* \ref py_mcumesh_zipConnectivityTraducer "Here is a Python example". + * \endif */ DataArrayInt *MEDCouplingPointSet::zipConnectivityTraducer(int compType, int startCellId) { @@ -1417,8 +1441,10 @@ DataArrayInt *MEDCouplingPointSet::zipConnectivityTraducer(int compType, int sta * to delete this array using decrRef() as it is no more needed. * \throw If the two meshes do not match. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_checkDeepEquivalWith "Here is a C++ example".
* \ref py_mcumesh_checkDeepEquivalWith "Here is a Python example". + * \endif */ void MEDCouplingPointSet::checkDeepEquivalWith(const MEDCouplingMesh *other, int cellCompPol, double prec, DataArrayInt *&cellCor, DataArrayInt *&nodeCor) const throw(INTERP_KERNEL::Exception) @@ -1471,8 +1497,10 @@ void MEDCouplingPointSet::checkDeepEquivalWith(const MEDCouplingMesh *other, int * to delete this array using decrRef() as it is no more needed. * \throw If the two meshes do not match. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_checkDeepEquivalWith "Here is a C++ example".
* \ref py_mcumesh_checkDeepEquivalWith "Here is a Python example". + * \endif */ void MEDCouplingPointSet::checkDeepEquivalOnSameNodesWith(const MEDCouplingMesh *other, int cellCompPol, double prec, DataArrayInt *&cellCor) const throw(INTERP_KERNEL::Exception) @@ -1530,8 +1558,10 @@ void MEDCouplingPointSet::checkFastEquivalWith(const MEDCouplingMesh *other, dou * * \sa MEDCouplingPointSet::getCellIdsFullyIncludedInNodeIds * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_getCellIdsLyingOnNodes "Here is a C++ example".
* \ref py_mcumesh_getCellIdsLyingOnNodes "Here is a Python example". + * \endif */ DataArrayInt *MEDCouplingPointSet::getCellIdsLyingOnNodes(const int *begin, const int *end, bool fullyIn) const { @@ -1556,8 +1586,10 @@ DataArrayInt *MEDCouplingPointSet::getCellIdsLyingOnNodes(const int *begin, cons * * \sa MEDCouplingPointSet::getCellIdsLyingOnNodes * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_getCellIdsFullyIncludedInNodeIds "Here is a C++ example".
* \ref py_mcumesh_getCellIdsFullyIncludedInNodeIds "Here is a Python example". + * \endif */ DataArrayInt *MEDCouplingPointSet::getCellIdsFullyIncludedInNodeIds(const int *partBg, const int *partEnd) const { @@ -1575,8 +1607,10 @@ DataArrayInt *MEDCouplingPointSet::getCellIdsFullyIncludedInNodeIds(const int *p * \throw If the nodal connectivity of cells is not defined. * \throw If the nodal connectivity includes an invalid id. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_zipCoordsTraducer "Here is a C++ example".
* \ref py_mcumesh_zipCoordsTraducer "Here is a Python example". + * \endif */ DataArrayInt *MEDCouplingPointSet::zipCoordsTraducer() { @@ -1599,8 +1633,10 @@ DataArrayInt *MEDCouplingPointSet::zipCoordsTraducer() * \throw If the coordinates array is not set. * \throw If the nodal connectivity of cells is not defined. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_mergeNodes "Here is a C++ example".
* \ref py_mcumesh_mergeNodes "Here is a Python example". + * \endif */ DataArrayInt *MEDCouplingPointSet::mergeNodes(double precision, bool& areNodesMerged, int& newNbOfNodes) { @@ -1624,8 +1660,10 @@ DataArrayInt *MEDCouplingPointSet::mergeNodes(double precision, bool& areNodesMe * \throw If the coordinates array is not set. * \throw If the nodal connectivity of cells is not defined. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_mergeNodes "Here is a C++ example".
* \ref py_mcumesh_mergeNodes "Here is a Python example". + * \endif */ DataArrayInt *MEDCouplingPointSet::mergeNodes2(double precision, bool& areNodesMerged, int& newNbOfNodes) { diff --git a/src/MEDCoupling/MEDCouplingUMesh.cxx b/src/MEDCoupling/MEDCouplingUMesh.cxx index 70713386c..32e812a47 100644 --- a/src/MEDCoupling/MEDCouplingUMesh.cxx +++ b/src/MEDCoupling/MEDCouplingUMesh.cxx @@ -314,8 +314,10 @@ void MEDCouplingUMesh::setMeshDimension(int meshDim) * * \param [in] nbOfCells - estimation of the number of cell \a this mesh will contain. * + * \if ENABLE_EXAMPLES * \ref medcouplingcppexamplesUmeshStdBuild1 "Here is a C++ example".
* \ref medcouplingpyexamplesUmeshStdBuild1 "Here is a Python example". + * \endif */ void MEDCouplingUMesh::allocateCells(int nbOfCells) { @@ -345,8 +347,10 @@ void MEDCouplingUMesh::allocateCells(int nbOfCells) * \param [in] size - number of nodes constituting this cell. * \param [in] nodalConnOfCell - the connectivity of the cell to add. * + * \if ENABLE_EXAMPLES * \ref medcouplingcppexamplesUmeshStdBuild1 "Here is a C++ example".
* \ref medcouplingpyexamplesUmeshStdBuild1 "Here is a Python example". + * \endif */ void MEDCouplingUMesh::insertNextCell(INTERP_KERNEL::NormalizedCellType type, int size, const int *nodalConnOfCell) { @@ -381,8 +385,10 @@ void MEDCouplingUMesh::insertNextCell(INTERP_KERNEL::NormalizedCellType type, in * Compacts data arrays to release unused memory. This method is to be called after * finishing cell insertion using \a this->insertNextCell(). * + * \if ENABLE_EXAMPLES * \ref medcouplingcppexamplesUmeshStdBuild1 "Here is a C++ example".
* \ref medcouplingpyexamplesUmeshStdBuild1 "Here is a Python example". + * \endif */ void MEDCouplingUMesh::finishInsertingCells() { @@ -583,8 +589,10 @@ void MEDCouplingUMesh::checkFastEquivalWith(const MEDCouplingMesh *other, double * \throw If the coordinates array is not set. * \throw If the nodal connectivity of cells is not defined. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_getReverseNodalConnectivity "Here is a C++ example".
* \ref py_mcumesh_getReverseNodalConnectivity "Here is a Python example". + * \endif */ void MEDCouplingUMesh::getReverseNodalConnectivity(DataArrayInt *revNodal, DataArrayInt *revNodalIndx) const { @@ -715,8 +723,10 @@ private: * \throw If \a desc == NULL || \a descIndx == NULL || \a revDesc == NULL || \a * revDescIndx == NULL. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_buildDescendingConnectivity "Here is a C++ example".
* \ref py_mcumesh_buildDescendingConnectivity "Here is a Python example". + * \endif * \sa buildDescendingConnectivity2() */ MEDCouplingUMesh *MEDCouplingUMesh::buildDescendingConnectivity(DataArrayInt *desc, DataArrayInt *descIndx, DataArrayInt *revDesc, DataArrayInt *revDescIndx) const @@ -784,8 +794,10 @@ MEDCouplingUMesh *MEDCouplingUMesh::explode3DMeshTo1D(DataArrayInt *desc, DataAr * \throw If \a desc == NULL || \a descIndx == NULL || \a revDesc == NULL || \a * revDescIndx == NULL. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_buildDescendingConnectivity2 "Here is a C++ example".
* \ref py_mcumesh_buildDescendingConnectivity2 "Here is a Python example". + * \endif * \sa buildDescendingConnectivity() */ MEDCouplingUMesh *MEDCouplingUMesh::buildDescendingConnectivity2(DataArrayInt *desc, DataArrayInt *descIndx, DataArrayInt *revDesc, DataArrayInt *revDescIndx) const @@ -1006,8 +1018,10 @@ struct MEDCouplingAccVisit * \throw If the nodal connectivity of cells is node defined. * \throw If dimension of \a this mesh is not either 2 or 3. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_convertToPolyTypes "Here is a C++ example".
* \ref py_mcumesh_convertToPolyTypes "Here is a Python example". + * \endif */ void MEDCouplingUMesh::convertToPolyTypes(const int *cellIdsToConvertBg, const int *cellIdsToConvertEnd) { @@ -1129,8 +1143,10 @@ void MEDCouplingUMesh::convertAllToPoly() * \throw If \a this mesh contains polyhedrons with the valid connectivity. * \throw If \a this mesh contains polyhedrons with odd number of nodes. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_arePolyhedronsNotCorrectlyOriented "Here is a C++ example".
* \ref py_mcumesh_arePolyhedronsNotCorrectlyOriented "Here is a Python example". + * \endif */ void MEDCouplingUMesh::convertExtrudedPolyhedra() { @@ -1388,8 +1404,10 @@ void MEDCouplingUMesh::computeNodeIdsAlg(std::vector& nodeIdsInUse) const * \throw If the nodal connectivity of cells is not defined. * \throw If the nodal connectivity includes an invalid id. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_getNodeIdsInUse "Here is a C++ example".
* \ref py_mcumesh_getNodeIdsInUse "Here is a Python example". + * \endif * \sa computeNodeIdsAlg() */ DataArrayInt *MEDCouplingUMesh::getNodeIdsInUse(int& nbrOfNodesInUse) const @@ -1512,8 +1530,10 @@ DataArrayInt *MEDCouplingUMesh::computeNbOfFacesPerCell() const * \throw If the nodal connectivity of cells is not defined. * \throw If the nodal connectivity includes an invalid id. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_zipCoordsTraducer "Here is a C++ example".
* \ref py_mcumesh_zipCoordsTraducer "Here is a Python example". + * \endif */ DataArrayInt *MEDCouplingUMesh::zipCoordsTraducer() { @@ -1833,8 +1853,10 @@ void MEDCouplingUMesh::FindCommonCellsAlg(int compType, int startCellId, const D * \return bool - \c true if all cells of \a other mesh are present in the \a this * mesh. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_areCellsIncludedIn "Here is a C++ example".
* \ref py_mcumesh_areCellsIncludedIn "Here is a Python example". + * \endif * \sa checkDeepEquivalOnSameNodesWith() * \sa checkGeoEquivalWith() */ @@ -1961,8 +1983,10 @@ MEDCouplingPointSet *MEDCouplingUMesh::buildPartOfMySelf2(int start, int end, in * \throw If the nodal connectivity of cells is not defined. * \throw If any cell id in the array \a begin is not valid. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_buildPartOfMySelf "Here is a C++ example".
* \ref py_mcumesh_buildPartOfMySelf "Here is a Python example". + * \endif */ MEDCouplingPointSet *MEDCouplingUMesh::buildPartOfMySelf(const int *begin, const int *end, bool keepCoords) const { @@ -2149,8 +2173,10 @@ void MEDCouplingUMesh::fillCellIdsToKeepFromNodeIds(const int *begin, const int * \throw If the nodal connectivity of cells is not defined. * \throw If any node id in \a begin is not valid. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_buildFacePartOfMySelfNode "Here is a C++ example".
* \ref py_mcumesh_buildFacePartOfMySelfNode "Here is a Python example". + * \endif */ MEDCouplingPointSet *MEDCouplingUMesh::buildFacePartOfMySelfNode(const int *begin, const int *end, bool fullyIn) const { @@ -2172,8 +2198,10 @@ MEDCouplingPointSet *MEDCouplingUMesh::buildFacePartOfMySelfNode(const int *begi * \throw If the coordinates array is not set. * \throw If the nodal connectivity of cells is not defined. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_buildBoundaryMesh "Here is a C++ example".
* \ref py_mcumesh_buildBoundaryMesh "Here is a Python example". + * \endif */ MEDCouplingPointSet *MEDCouplingUMesh::buildBoundaryMesh(bool keepCoords) const { @@ -2324,8 +2352,10 @@ MEDCouplingUMesh *MEDCouplingUMesh::computeSkin() const * \throw If the coordinates array is not set. * \throw If the nodal connectivity of cells is node defined. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_findBoundaryNodes "Here is a C++ example".
* \ref py_mcumesh_findBoundaryNodes "Here is a Python example". + * \endif */ DataArrayInt *MEDCouplingUMesh::findBoundaryNodes() const { @@ -2427,8 +2457,10 @@ void MEDCouplingUMesh::duplicateNodes(const int *nodeIdsToDuplicateBg, const int * See \ref MEDCouplingArrayRenumbering for more info on renumbering modes. * \throw If the nodal connectivity of cells is not defined. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_renumberNodesInConn "Here is a C++ example".
* \ref py_mcumesh_renumberNodesInConn "Here is a Python example". + * \endif */ void MEDCouplingUMesh::renumberNodesInConn(const int *newNodeNumbersO2N) { @@ -2583,8 +2615,10 @@ void MEDCouplingUMesh::renumberCells(const int *old2NewBg, bool check) * \throw If the coordinates array is not set. * \throw If the nodal connectivity of cells is not defined. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_getCellsInBoundingBox "Here is a C++ example".
* \ref py_mcumesh_getCellsInBoundingBox "Here is a Python example". + * \endif */ DataArrayInt *MEDCouplingUMesh::getCellsInBoundingBox(const double *bbox, double eps) const { @@ -3299,8 +3333,10 @@ MEDCouplingFieldDouble *MEDCouplingUMesh::getMeasureField(bool isAbs) const * \return DataArrayDouble * - a new instance of DataArrayDouble. The caller is to * delete this array using decrRef() as it is no more needed. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_getPartMeasureField "Here is a C++ example".
* \ref py_mcumesh_getPartMeasureField "Here is a Python example". + * \endif * \sa getMeasureField() */ DataArrayDouble *MEDCouplingUMesh::getPartMeasureField(bool isAbs, const int *begin, const int *end) const @@ -3468,8 +3504,10 @@ MEDCouplingFieldDouble *MEDCouplingUMesh::buildOrthogonalField() const * \throw If the mesh and space dimension is not as specified above. * \sa buildOrthogonalField() * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_buildPartOrthogonalField "Here is a C++ example".
* \ref py_mcumesh_buildPartOrthogonalField "Here is a Python example". + * \endif */ MEDCouplingFieldDouble *MEDCouplingUMesh::buildPartOrthogonalField(const int *begin, const int *end) const { @@ -4060,8 +4098,10 @@ int MEDCouplingUMesh::getCellContainingPoint(const double *pos, double eps) cons * \throw If the coordinates array is not set. * \throw If \a this->getMeshDimension() != \a this->getSpaceDimension(). * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_getCellsContainingPoint "Here is a C++ example".
* \ref py_mcumesh_getCellsContainingPoint "Here is a Python example". + * \endif */ void MEDCouplingUMesh::getCellsContainingPoint(const double *pos, double eps, std::vector& elts) const { @@ -4321,8 +4361,10 @@ void MEDCouplingUMesh::getCellsContainingPointsAlg(const double *coords, const d * \throw If the coordinates array is not set. * \throw If \a this->getMeshDimension() != \a this->getSpaceDimension(). * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_getCellsContainingPoints "Here is a C++ example".
* \ref py_mcumesh_getCellsContainingPoints "Here is a Python example". + * \endif */ void MEDCouplingUMesh::getCellsContainingPoints(const double *pos, int nbOfPoints, double eps, MEDCouplingAutoRefCountObjectPtr& elts, MEDCouplingAutoRefCountObjectPtr& eltsIndex) const @@ -5746,8 +5788,10 @@ void MEDCouplingUMesh::convertDegeneratedCells() * \throw If \a this->getMeshDimension() != 2. * \throw If \a this->getSpaceDimension() != 3. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_are2DCellsNotCorrectlyOriented "Here is a C++ example".
* \ref py_mcumesh_are2DCellsNotCorrectlyOriented "Here is a Python example". + * \endif */ void MEDCouplingUMesh::are2DCellsNotCorrectlyOriented(const double *vec, bool polyOnly, std::vector& cells) const { @@ -5780,8 +5824,10 @@ void MEDCouplingUMesh::are2DCellsNotCorrectlyOriented(const double *vec, bool po * \throw If \a this->getMeshDimension() != 2. * \throw If \a this->getSpaceDimension() != 3. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_are2DCellsNotCorrectlyOriented "Here is a C++ example".
* \ref py_mcumesh_are2DCellsNotCorrectlyOriented "Here is a Python example". + * \endif */ void MEDCouplingUMesh::orientCorrectly2DCells(const double *vec, bool polyOnly) { @@ -5834,8 +5880,10 @@ void MEDCouplingUMesh::orientCorrectly2DCells(const double *vec, bool polyOnly) * \throw If the coordinates array is not set. * \throw If the nodal connectivity of cells is not defined. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_arePolyhedronsNotCorrectlyOriented "Here is a C++ example".
* \ref py_mcumesh_arePolyhedronsNotCorrectlyOriented "Here is a Python example". + * \endif */ void MEDCouplingUMesh::arePolyhedronsNotCorrectlyOriented(std::vector& cells) const { @@ -5865,8 +5913,10 @@ void MEDCouplingUMesh::arePolyhedronsNotCorrectlyOriented(std::vector& cell * \throw If the nodal connectivity of cells is not defined. * \throw If the reparation fails. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_arePolyhedronsNotCorrectlyOriented "Here is a C++ example".
* \ref py_mcumesh_arePolyhedronsNotCorrectlyOriented "Here is a Python example". + * \endif * \sa MEDCouplingUMesh::findAndCorrectBadOriented3DCells */ void MEDCouplingUMesh::orientCorrectlyPolyhedrons() @@ -5910,8 +5960,10 @@ void MEDCouplingUMesh::orientCorrectlyPolyhedrons() * \throw If the coordinates array is not set. * \throw If the nodal connectivity of cells is not defined. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_findAndCorrectBadOriented3DExtrudedCells "Here is a C++ example".
* \ref py_mcumesh_findAndCorrectBadOriented3DExtrudedCells "Here is a Python example". + * \endif * \sa MEDCouplingUMesh::findAndCorrectBadOriented3DCells */ DataArrayInt *MEDCouplingUMesh::findAndCorrectBadOriented3DExtrudedCells() @@ -7395,8 +7447,10 @@ DataArrayDouble *MEDCouplingUMesh::computeIsoBarycenterOfNodesPerCell() const * \throw If the coordinates array is not set. * \throw If the nodal connectivity of cells is not defined. * + * \if ENABLE_EXAMPLES * \ref cpp_mcumesh_getPartBarycenterAndOwner "Here is a C++ example".
* \ref py_mcumesh_getPartBarycenterAndOwner "Here is a Python example". + * \endif */ DataArrayDouble *MEDCouplingUMesh::getPartBarycenterAndOwner(const int *begin, const int *end) const { diff --git a/src/MEDOP/res/CMakeLists.txt b/src/MEDOP/res/CMakeLists.txt index 7f21bc1e8..2ce2792ea 100644 --- a/src/MEDOP/res/CMakeLists.txt +++ b/src/MEDOP/res/CMakeLists.txt @@ -19,23 +19,22 @@ ADD_SUBDIRECTORY(testfiles) -IF(SALOME_BUILD_GUI) - SET(MED_RESOURCES_FILES - datasource_add.png - datasource_changeUnderlyingMesh.png - datasource_expandfield.png - datasource_field.png - datasource_mesh.png - datasource.png - datasource_use.png - datasource_view.png - fileimport-32.png - folder.png - image_add.png - MEDOP.png - MEDOP_small.png - workspace_clean.png - workspace_save.png - ) - INSTALL(FILES ${MED_RESOURCES_FILES} DESTINATION ${SALOME_MED_INSTALL_RES_DATA}) -ENDIF(SALOME_BUILD_GUI) +SET(MED_RESOURCES_FILES + datasource_add.png + datasource_changeUnderlyingMesh.png + datasource_expandfield.png + datasource_field.png + datasource_mesh.png + datasource.png + datasource_use.png + datasource_view.png + fileimport-32.png + folder.png + image_add.png + MEDOP.png + MEDOP_small.png + workspace_clean.png + workspace_save.png + ) +INSTALL(FILES ${MED_RESOURCES_FILES} DESTINATION ${SALOME_MED_INSTALL_RES_DATA}) + diff --git a/src/MEDPartitioner/CMakeLists.txt b/src/MEDPartitioner/CMakeLists.txt index bec1a321a..907871137 100644 --- a/src/MEDPartitioner/CMakeLists.txt +++ b/src/MEDPartitioner/CMakeLists.txt @@ -35,7 +35,6 @@ INCLUDE_DIRECTORIES( IF(SALOME_MED_PARTITIONER_METIS) ADD_DEFINITIONS(${METIS_DEFINITIONS}) - ADD_DEFINITIONS("-DMED_ENABLE_METIS") IF(SALOME_MED_METIS_V5) ADD_DEFINITIONS("-DMED_ENABLE_METIS_V5") ENDIF(SALOME_MED_METIS_V5) @@ -49,20 +48,16 @@ ENDIF(SALOME_MED_PARTITIONER_METIS) ######## IF(SALOME_MED_PARTITIONER_SCOTCH) ADD_DEFINITIONS(${SCOTCH_DEFINITIONS}) - ADD_DEFINITIONS("-DMED_ENABLE_SCOTCH") INCLUDE_DIRECTORIES(${SCOTCH_INCLUDE_DIRS}) ENDIF(SALOME_MED_PARTITIONER_SCOTCH) IF(SALOME_MED_PARTITIONER_PARMETIS) ADD_DEFINITIONS(${PARMETIS_DEFINITIONS}) - ADD_DEFINITIONS("-DMED_ENABLE_PARMETIS") - ADD_DEFINITIONS("-DMED_ENABLE_METIS") INCLUDE_DIRECTORIES(${PARMETIS_INCLUDE_DIRS}) ENDIF(SALOME_MED_PARTITIONER_PARMETIS) IF(SALOME_USE_MPI) ADD_DEFINITIONS(${MPI_DEFINITIONS}) - ADD_DEFINITIONS("-DHAVE_MPI2") INCLUDE_DIRECTORIES(${MPI_INCLUDE_DIRS}) ENDIF(SALOME_USE_MPI)