+# Compiled source
+#################
+*.pyc
+*.pyo
+
+# Edition bak
+#################
*~
*.bak
-*.pyc
+*.old
+*_old
+
.nfs*
+
+# AUTOTOOLS
+#################
Makefile.in
aclocal.m4
adm_local/unix/config_files/l*m4
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+# ---
+#
+# File : AUTHORS
+# Author : Vadim SANDLER, Open CASCADE S.A.S (vadim.sandler@opencascade.com)
+#
+# ---
+#
+# The format of this file was inspired by the Linux kernel CREDITS file.
+#
+# Authors and contributors are listed alphabetically.
+#
+# The fields are: name (N), email (E), web-address (W), CVS account login (C),
+# PGP key ID and fingerprint (P), description (D), and snail-mail address (S).
+#
+# ---
+
+N: Christian VAN WAMBEKE (CEA)
+D: Initial development
+
+N: Edward AGAPOV, Open CASCADE S.A.S
+E: edward.agapov@opencascade.com
+D: Debug, improve meshing algorithms
+
+N: Vadim SANDLER, Open CASCADE S.A.S
+E: vadim.sandler@opencascade.com
+D: Porting to automake, porting to SALOME series 5x
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC)
SET(${PROJECT_NAME_UC}_MAJOR_VERSION 7)
-SET(${PROJECT_NAME_UC}_MINOR_VERSION 3)
-SET(${PROJECT_NAME_UC}_PATCH_VERSION 0)
+SET(${PROJECT_NAME_UC}_MINOR_VERSION 4)
+SET(${PROJECT_NAME_UC}_PATCH_VERSION 1)
SET(${PROJECT_NAME_UC}_VERSION
${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION})
-SET(${PROJECT_NAME_UC}_VERSION_DEV 0)
+SET(${PROJECT_NAME_UC}_VERSION_DEV 1)
# Find KERNEL
# ===========
# Local macros:
LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local/cmake_files")
-# User options
+# User options
# ============
OPTION(SALOME_BUILD_TESTS "Build SALOME tests" ON)
OPTION(SALOME_BUILD_DOC "Generate SALOME HYBRIDPLUGIN documentation" ON)
IF(EXISTS ${GUI_ROOT_DIR})
LIST(APPEND CMAKE_MODULE_PATH "${GUI_ROOT_DIR}/adm_local/cmake_files")
FIND_PACKAGE(SalomeGUI)
+ 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})
##
## From GUI:
##
-
IF(SALOME_BUILD_GUI)
# Qt4
FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui)
+ INCLUDE(${QT_USE_FILE})
ENDIF(SALOME_BUILD_GUI)
+
+# VTK
+FIND_PACKAGE(SalomeVTK 6.1 REQUIRED)
# OCCT
FIND_PACKAGE(SalomeCAS REQUIRED)
-# VTK
-FIND_PACKAGE(SalomeVTK 6.0 REQUIRED)
# Find GEOM
# ===========
# Find SMESH
# ===========
-
SET(SMESH_ROOT_DIR $ENV{SMESH_ROOT_DIR} CACHE PATH "Path to the Salome SMESH")
IF(EXISTS ${SMESH_ROOT_DIR})
LIST(APPEND CMAKE_MODULE_PATH "${SMESH_ROOT_DIR}/adm_local/cmake_files")
ELSE(EXISTS ${SMESH_ROOT_DIR})
MESSAGE(FATAL_ERROR "We absolutely need a Salome SMESH, please define SMESH_ROOT_DIR")
ENDIF(EXISTS ${SMESH_ROOT_DIR})
+# MEDFile
+FIND_PACKAGE(SalomeMEDFile REQUIRED)
# Detection summary:
SALOME_PACKAGE_REPORT_AND_CHECK()
# Accumulate environment variables for HYBRIDPLUGIN module
SALOME_ACCUMULATE_ENVIRONMENT(PYTHONPATH NOCHECK ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_BINS}
- ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_PYTHON})
+ ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_PYTHON})
SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH NOCHECK ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_LIBS})
+
# Sources
# ========
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+# ---
+#
+# File : ChangeLog
+# Author : Vadim SANDLER, Open CASCADE S.A.S (vadim.sandler@opencascade.com)
+#
+# ---
+#
+# Changes are listed by modification time in the descending order,
+# i.e. newer changes are listed at the top of the file.
+#
+# Each record lists the modification date, author and short description of
+# the made changes.
+#
+# ---
+
+2008-08-29 Vadim SANDLER
+
+ * Porting to automake, porting to SALOME series 5x
+
+2007-2008 Edward AGAPOV
+
+ * Debug, improve meshing algorithms
+
+2007 Christian VAN WAMBEKE (CEA)
+
+ * Initial development
-// Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+# ---
+#
+# File : INSTALL
+# Author : Vadim SANDLER, Open CASCADE S.A.S (vadim.sandler@opencascade.com)
+#
+# ---
+
SALOME2 : HYBRIDPLUGIN module (SMESH plugin)
+
+For installation instructions and other information, please refer to
+the README file.
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+# ---
+#
+# File : NEWS
+# Author : Vadim SANDLER, Open CASCADE S.A.S (vadim.sandler@opencascade.com)
+#
+# ---
+#
+# Changes are listed by modification time in the descending order,
+# i.e. newer changes are listed at the top of the file.
+#
+# ---
+SALOME platform
+HYBRID meshing plugin
+------------------------------
+
+Contents:
+
+1. Pre-requisites
+2. Installation
+3. Launch SALOME with HYBRIDPLUGIN
+4. HYBRIDPLUGIN plugin usage
+
+-----------------
+1. Pre-requisites
+-----------------
+
+The information in this file assumes that:
+
+* The SALOME platform is installed to the directory <salome>
+* The HYBRID (Tepal) product is installed to the directory <salome>/hybridprl
+
+---------------
+2. Installation
+---------------
+
+2.1. Unpack HYBRIDPLUGIN module sources
+
+cd <salome>
+tar zxf HYBRIDPLUGIN_SRC.tgz
+
+2.2. Build HYBRIDPLUGIN module
+
+* set environment
+
+bash
+cd <salome>
+source env_build.sh
+
+* cmake build procedure
+
+mkdir HYBRIDPLUGIN_BUILD
+cd HYBRIDPLUGIN_BUILD
+cmake -DCMAKE_BUILD_TYPE=<Mode> -DCMAKE_INSTALL_PREFIX=<HYBRIDPLUGIN_INSTALL> ../HYBRIDPLUGIN_SRC
+
+,where <Mode> is build mode (Release or Debug),
+<HYBRIDPLUGIN_INSTALL> is a destination folder to install
+HYBRIDPLUGIN module of SALOME.
+
+Verify that all pre-requisites required for the successful compilation
+of HYBRIDPLUGIN module have been found.
+
+* compile and install plugin module
+
+make
+make install
+
+exit
+
+If the compilation is finished successfully (make and make install
+steps are finished without errors) the HYBRIDPLUGIN meshing module
+should be installed in the directory <HYBRIDPLUGIN_INSTALL>.
+
+----------------------------------
+3. Launch SALOME with HYBRIDPLUGIN
+----------------------------------
+
+* set environment
+
+bash
+cd <salome>
+source env_products.sh
+
+export HYBRIDPLUGIN_ROOT_DIR=<HYBRIDPLUGIN_INSTALL>
+export SalomeAppConfig=${HYBRIDPLUGIN_ROOT_DIR}/share/salome/resources/hybridprlplugin
+export PATH=<salome>/hybridprl:${PATH
+
+* run SALOME
+
+runSalome
+
+----------------------------
+4. HYBRIDPLUGIN plugin usage
+----------------------------
+
+* Create new study
+
+* Activate Geometry module and create simple geometry object
+
+* Activate Mesh module
+
+* Invoke menu "Mesh/Create Mesh"
+
+* Select previously created geometry object by clicking it with the
+mouse in the Object Browser
+
+* In the "Create mesh" dialog box:
+- activate "3D" page
+- In the "Algorithm" combo box select "HYBRID"
+- Click on the button at the right of the "Hypothesis" combo box and
+select "HYBRID parameters" item in the drop-down menu
+
+* In the "Hypothesis Construction" dialog box set parameters of HYBRID
+ meshing algorithm and click "OK" button
+
+* In the "Create mesh" dialog box Click "Apply & Close" button to
+ define mesh and close the dialog box
+
+* In the Object Browser select "Mesh_1" object, invoke context popup
+menu for it by clicking right mouse button and select "Compute" item
+
+The resulting mesh created with HYBRID plugin will be shown in the 3D
+viewer.
-# - Config file for the @PROJECT_NAME@ package
-# It defines the following variables.
-# Specific to the pacakge @PROJECT_NAME@ itself:
-# @PROJECT_NAME_UC@_ROOT_DIR_EXP - the root path of the installation providing this CMake file
+# Copyright (C) 2013-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
-
-###############################################################
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
#
-# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+# - Config file for the @PROJECT_NAME@ package
+# It defines the following variables.
+# Specific to the pacakge @PROJECT_NAME@ itself:
+# @PROJECT_NAME_UC@_ROOT_DIR_EXP - the root path of the installation providing this CMake file
#
-# See http://www.salome-platform.org/ or
-# email : webmaster.salome@opencascade.com
-###############################################################
### Initialisation performed by CONFIGURE_PACKAGE_CONFIG_FILE:
@PACKAGE_INIT@
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# These files are data, module or lib files
SET(_adm_data
+ FindHYBRIDPLUGIN.cmake
FindSalomeHYBRIDPLUGIN.cmake
)
INSTALL(FILES ${_adm_data} DESTINATION ${SALOME_INSTALL_CMAKE_LOCAL})
--- /dev/null
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+SET(HYBRIDPLUGIN_CXXFLAGS -I${HYBRIDPLUGIN_ROOT_DIR}/include/salome)
+
+FIND_LIBRARY(HYBRIDEngine HYBRIDEngine ${HYBRIDPLUGIN_ROOT_DIR}/lib/salome)
+FIND_LIBRARY(HYBRIDPluginGUI HYBRIDPluginGUI ${HYBRIDPLUGIN_ROOT_DIR}/lib/salome)
+FIND_LIBRARY(SalomeIDLHYBRIDPLUGIN SalomeIDLHYBRIDPLUGIN ${HYBRIDPLUGIN_ROOT_DIR}/lib/salome)
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
#
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-#
IF(NOT SalomeHYBRIDPLUGIN_FIND_QUIETLY)
MESSAGE(STATUS "Looking for Salome HYBRIDPLUGIN ...")
FOREACH(_res ${SalomeHYBRIDPLUGIN_EXTRA_ENV})
SALOME_ACCUMULATE_ENVIRONMENT(${_res} "${SalomeHYBRIDPLUGIN_EXTRA_ENV_${_res}}")
-ENDFOREACH()
\ No newline at end of file
+ENDFOREACH()
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl Copyright (C) 2004-2013 CEA/DEN, EDF R&D
-dnl
-dnl This library is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU Lesser General Public
-dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License.
-dnl
-dnl This library is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-dnl Lesser General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU Lesser General Public
-dnl License along with this library; if not, write to the Free Software
-dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-dnl
-dnl See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-dnl
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+# ---
+#
+# File : check_HYBRID.m4
+# Author : Vadim SANDLER, Open CASCADE S.A.S (vadim.sandler@opencascade.com)
+#
+# ---
AC_DEFUN([CHECK_HYBRID],[
-HYBRID_ok=no
+AC_REQUIRE([AC_PROG_CXX])dnl
+AC_REQUIRE([AC_PROG_CXXCPP])dnl
+
+AC_CHECKING(for HYBRID(MG_hybrid) commercial product)
-AC_EXEEXT
-AC_CHECK_PROG(HYBRID, hybrid$EXEEXT,found)
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+
+AC_ARG_WITH(,
+ [ --with-hybrid=DIR root directory path of HYBRID (MG_hybrid) installation])
+
+HYBRID_ok=no
-if test "x$HYBRID" == x ; then
- AC_MSG_WARN(hybrid program not found in PATH variable)
+if test "$with_hybrid" == "no" ; then
+ AC_MSG_WARN(You have choosen building plugin without HYBRID)
else
- HYBRID_ok=yes
+ if test "$with_hybrid" == "yes" || test "$with_hybrid" == "auto"; then
+ HYBRID_HOME=""
+ else
+ HYBRID_HOME="$with_hybrid"
+ fi
+
+ if test "$HYBRID_HOME" == "" ; then
+ if test "x$HYBRIDHOME" != "x" ; then
+ HYBRID_HOME=$HYBRIDHOME
+ else
+ AC_MSG_WARN(Build plugin without HYBRID)
+ fi
+ fi
+
+ if test "x$HYBRID_HOME" != "x"; then
+
+ echo
+ echo -------------------------------------------------
+ echo You are about to choose to use somehow the
+ echo "HYBRID(MG-hybrid) commercial product to generate 3D tetra-hexahedral mesh."
+ echo
+
+ AC_CHECKING(for HYBRID(MG-hybrid) executable)
+
+ AC_CHECK_PROG(HYBRID,MG-hybrid,found)
+
+ if test "x$HYBRID" == x ; then
+ AC_MSG_WARN(MG-hybrid program not found in PATH variable)
+ AC_MSG_WARN(Build plugin without HYBRID)
+ else
+ HYBRID_ok=yes
+ fi
+
+ fi
fi
AC_MSG_RESULT(for HYBRID: $HYBRID_ok)
+AC_LANG_RESTORE
])dnl
-dnl Copyright (C) 2004-2013 CEA/DEN, EDF R&D
-dnl
-dnl This library is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU Lesser General Public
-dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License.
-dnl
-dnl This library is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-dnl Lesser General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU Lesser General Public
-dnl License along with this library; if not, write to the Free Software
-dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-dnl
-dnl See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-dnl
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
-# Check availability of HYBRIDPLUGIN binary distribution
+# ---
#
-# Author : Marc Tajchman (CEA, 2002)
-#------------------------------------------------------------
+# File : check_HYBRIDPLUGIN.m4
+# Author : Vadim SANDLER, Open CASCADE S.A.S (vadim.sandler@opencascade.com)
+#
+# ---
AC_DEFUN([CHECK_HYBRIDPLUGIN],[
-HYBRIDPLUGIN_LDFLAGS=""
-HYBRIDPLUGIN_CXXFLAGS=""
-
-AC_CHECKING(for HYBRIDPlugin)
+AC_CHECKING(for HYBRID mesh plugin)
-HYBRIDPlugin_ok=no
+HYBRIDplugin_ok=no
-AC_ARG_WITH(ghs,
- --with-hybridPlugin=DIR root directory path of HYBRIDPLUGIN build or installation,
- HYBRIDPLUGIN_DIR="$withval",HYBRIDPLUGIN_DIR="")
-
-if test "x$HYBRIDPLUGIN_DIR" = "x" ; then
-
-# no --with-gui-dir option used
-
- if test "x$HYBRIDPLUGIN_ROOT_DIR" != "x" ; then
-
- # SALOME_ROOT_DIR environment variable defined
- HYBRIDPLUGIN_DIR=$HYBRIDPLUGIN_ROOT_DIR
+HYBRIDPLUGIN_LDFLAGS=""
+HYBRIDPLUGIN_CXXFLAGS=""
- else
+AC_ARG_WITH(HYBRIDplugin,
+ [ --with-HYBRIDplugin=DIR root directory path of HYBRID mesh plugin installation ])
- # search Salome binaries in PATH variable
- AC_PATH_PROG(TEMP, libHYBRIDEngine.so)
- if test "x$TEMP" != "x" ; then
- HYBRIDPLUGIN_DIR=`dirname $TEMP`
+if test "$with_HYBRIDplugin" != "no" ; then
+ if test "$with_HYBRIDplugin" == "yes" || test "$with_HYBRIDplugin" == "auto"; then
+ if test "x$HYBRIDPLUGIN_ROOT_DIR" != "x" ; then
+ HYBRIDPLUGIN_DIR=$HYBRIDPLUGIN_ROOT_DIR
+ fi
+ else
+ HYBRIDPLUGIN_DIR="$with_HYBRIDplugin"
fi
- fi
-
+ if test "x$HYBRIDPLUGIN_DIR" != "x" ; then
+ if test -f ${HYBRIDPLUGIN_DIR}/lib${LIB_LOCATION_SUFFIX}/salome/libHYBRIDEngine.so ; then
+ HYBRIDplugin_ok=yes
+ AC_MSG_RESULT(Using HYBRID mesh plugin distribution in ${HYBRIDPLUGIN_DIR})
+ HYBRIDPLUGIN_ROOT_DIR=${HYBRIDPLUGIN_DIR}
+ HYBRIDPLUGIN_LDFLAGS=-L${HYBRIDPLUGIN_DIR}/lib${LIB_LOCATION_SUFFIX}/salome
+ HYBRIDPLUGIN_CXXFLAGS=-I${HYBRIDPLUGIN_DIR}/include/salome
+ else
+ AC_MSG_WARN("Cannot find compiled HYBRID mesh plugin distribution")
+ fi
+ else
+ AC_MSG_WARN("Cannot find compiled HYBRID mesh plugin distribution")
+ fi
fi
-if test -f ${HYBRIDPLUGIN_DIR}/lib/salome/libHYBRIDEngine.so ; then
- HYBRIDPlugin_ok=yes
- AC_MSG_RESULT(Using HYBRIDPLUGIN module distribution in ${HYBRIDPLUGIN_DIR})
+AC_MSG_RESULT(for HYBRID mesh plugin: $HYBRIDplugin_ok)
- if test "x$HYBRIDPLUGIN_ROOT_DIR" == "x" ; then
- HYBRIDPLUGIN_ROOT_DIR=${HYBRIDPLUGIN_DIR}
- fi
- HYBRIDPLUGIN_CXXFLAGS+=-I${HYBRIDPLUGIN_ROOT_DIR}/include/salome
- HYBRIDPLUGIN_LDFLAGS+=-L${HYBRIDPLUGIN_ROOT_DIR}/lib${LIB_LOCATION_SUFFIX}/salome
- AC_SUBST(HYBRIDPLUGIN_ROOT_DIR)
- AC_SUBST(HYBRIDPLUGIN_LDFLAGS)
- AC_SUBST(HYBRIDPLUGIN_CXXFLAGS)
-else
- AC_MSG_WARN("Cannot find compiled HYBRIDPLUGIN module distribution")
-fi
-
-AC_MSG_RESULT(for HYBRIDPLUGIN: $HYBRIDPlugin_ok)
+AC_SUBST(HYBRIDPLUGIN_ROOT_DIR)
+AC_SUBST(HYBRIDPLUGIN_LDFLAGS)
+AC_SUBST(HYBRIDPLUGIN_CXXFLAGS)
])dnl
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
SALOME_CONFIGURE_FILE(VERSION.in VERSION INSTALL ${SALOME_INSTALL_BINS})
-
# scripts / static / binaries
# temporary standalone project version of mg-hybrid.exe
SET(_bin_SCRIPTS
- essai.bash
mg-hybrid.bash
mg-hybrid.exe_Linux_64_avril2014
mg-hybrid.exe_Linux_64_juillet2014
+ createGroupsOnEntitiesFromGMFFile.py
)
-
# --- rules ---
SALOME_INSTALL_SCRIPTS("${_bin_SCRIPTS}" ${SALOME_INSTALL_BINS})
--- /dev/null
+# -*- coding: iso-8859-1 -*-
+
+"""
+to create Groups On Entities From GMFFile /tmp/tmp.mesh
+"""
+
+import sys
+import salome
+
+salome.salome_init()
+theStudy = salome.myStudy
+
+import salome_notebook
+notebook = salome_notebook.NoteBook(theStudy)
+#sys.path.insert( 0, r'/somewhere')
+
+###
+### GEOM component
+###
+
+import GEOM
+from salome.geom import geomBuilder
+import math
+import SALOMEDS
+import SMESH, SALOMEDS
+
+from salome.smesh import smeshBuilder
+
+smesh = smeshBuilder.New(theStudy)
+
+
+nameFile = None
+the_mesh = None
+
+nameFile = r'/tmp/tmp.mesh'
+
+if nameFile != None:
+ #do not work (the_mesh, error) = smesh.CreateMeshesFromMED(nameFile)
+ (the_mesh, error) = smesh.CreateMeshesFromGMF(nameFile)
+
+
+#print "the_mesh", the_mesh
+
+if the_mesh != None:
+ blue = SALOMEDS.Color(0,0,1)
+ red = SALOMEDS.Color(1,0,0)
+ green = SALOMEDS.Color(0,1,0)
+ yellow = SALOMEDS.Color(1,1,0)
+
+ for i in dir(SMESH):
+ if "Entity_" in i: print i
+
+ entities = [("Tetra", SMESH.Entity_Tetra, blue),
+ ("Pyramid", SMESH.Entity_Pyramid, red),
+ ("Prism", SMESH.Entity_Penta, yellow),
+ ("Hexa", SMESH.Entity_Hexa, green)]
+
+ for name, entity, color in entities:
+ aCriteria = []
+ aCriterion = smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_EntityType,SMESH.FT_Undefined,entity)
+ aCriteria.append(aCriterion)
+ aFilter = smesh.GetFilterFromCriteria(aCriteria)
+ aFilter.SetMesh(the_mesh.GetMesh())
+ Group = the_mesh.GroupOnFilter( SMESH.VOLUME, name, aFilter )
+ Group.SetColor( color )
+
+ if salome.sg.hasDesktop():
+ salome.sg.updateObjBrowser(1)
+++ /dev/null
-#!/bin/bash
-
-echo "hello essai"
#and also assume licence file set to overriding licence file of other distene products ( HEXOTIC, GHS3D, etc... )
#all that for for only one call of mg-hybrid.bash from salome plugin HYBRIDPLUGIN
+function findOutFile {
+#find --out parameter result in $resFindOutFile
+while test $# -gt 0; do
+ case "$1" in
+ -o|--out)
+ if [ -z "$2" ] # $String is null
+ then
+ resFindOutFile="None"
+ else
+ resFindOutFile=$2
+ fi
+ return
+ ;;
+ *)
+ shift
+ ;;
+ esac
+done
+resFindOutFile="None"
+}
+
#echo "mg-hybrid.bash initial parameters are:" $1 $2 $3 $4
echo "mg-hybrid.bash initial parameters are:" $*
#$0 is ignored
# export DLIM8VAR="dlim8 1:1:29030@132.166.151.49/84c419b8::87af196ab2a936ab31363624539bff8096fbe1f3c83028c8f6b399b0a904ef85"
#fi
-echo "mg-hybrid.bash juillet2014 assume licence file set:"
+echo "mg-hybrid.bash assume licence file set:"
env | grep DLIM
+findOutFile $*
+echo "result output File is:" $resFindOutFile
+
#mg-hybrid.exe_Linux_64_avril2014 --help
#mg-hybrid.exe_Linux_64_avril2014 $*
mg-hybrid.exe_Linux_64_juillet2014 $*
+#to EZ and direct debug visualization (with gui salome load script createGroupsOnEntitiesFromGMFFile.py)
+cp -f $resFindOutFile /tmp/tmp.mesh
+
#ldd `which mg-hybrid.exe_Linux_64_avril2014`
# linux-vdso.so.1 => (0x00007fff3bfff000)
# libpthread.so.0 => /lib64/libpthread.so.0 (0x000000358b400000)
# libm.so.6 => /lib64/libm.so.6 (0x000000358a800000)
# libc.so.6 => /lib64/libc.so.6 (0x000000358ac00000)
# /lib64/ld-linux-x86-64.so.2 (0x000000358a400000)
-
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
#
ADD_SUBDIRECTORY(examples)
-ADD_SUBDIRECTORY(gui)
\ No newline at end of file
+ADD_SUBDIRECTORY(gui)
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
SET(DOC_SMESH_MeshersList HYBRIDPlugin)
SET(smesh_file "$(SMESH_ROOT_DIR)/bin/salome/collect_mesh_methods.py")
-SET(kernel_file "$ENV{KERNEL_ROOT_DIR}/bin/salome/prepare_generating_doc.py")
+SET(kernel_file "${KERNEL_ROOT_DIR}/bin/salome/prepare_generating_doc.py")
SALOME_ACCUMULATE_ENVIRONMENT(SMESH_MeshersList NOCHECK ${DOC_SMESH_MeshersList})
-SET(_cmd_options ${smesh_file} -d -o tmp/smeshBuilder.py HYBRIDPlugin)
+SET(_cmd_options ${smesh_file} -d -o tmp/smeshBuilder.py HYBRIDPlugin)
SALOME_GENERATE_ENVIRONMENT_SCRIPT(_cmd env_script "${PYTHON_EXECUTABLE}" "${_cmd_options}")
ADD_CUSTOM_TARGET(usr_docs ${CMAKE_COMMAND} -E make_directory tmp
COMMAND ${_cmd}
COMMAND ${DOXYGEN_EXECUTABLE} doxyfile_py
COMMAND ${DOXYGEN_EXECUTABLE} doxyfile
- COMMAND ${CMAKE_COMMAND} -E remove_directory tmp
+ COMMAND ${CMAKE_COMMAND} -E remove_directory tmp
VERBATIM
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build ${PROJECT_BINARY_DIR} --target usr_docs)")
-INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/HYBRIDPLUGIN DESTINATION ${SALOME_INSTALL_DOC}/gui/)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/HYBRIDPLUGIN DESTINATION ${SALOME_INSTALL_DOC}/gui)
INSTALL(FILES images/head.png DESTINATION ${SALOME_INSTALL_DOC}/gui/HYBRIDPLUGIN)
INSTALL(FILES images/head.png DESTINATION ${SALOME_INSTALL_DOC}/gui/HYBRIDPLUGIN/hybridpluginpy_doc)
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
This hypothesis allows creation of layers of highly stretched hexahedra, prisms, and tetrahedra) near
mesh boundary (onto the wrap), which is beneficial for high quality viscous
computations. The elements constructed on the layer mesh faces are
-actually hexahedra or prisms or tetraheda.
+actually hexahedra and prisms and tetraheda.
</li>
For more detailed description of the this additional hypothesis please refer Distene MG-hybrid User's Guide
\image html hybrid_hypothesis_layers.png
-HYBRID algorithm mesh layers on groups of faces. Pay attention: theses groups should be defined
+HYBRID algorithm mesh layers on groups of faces. If <b>Mesh layers on all wrap</b>
+is checked, all wrap is meshed as layers (as boundary_layers_surface_ids 5), else
+only submeshes selected an added are meshed as layers (as boundary_layers_surface_ids 6).
+Pay attention: theses groups should be defined
into the shell mesh from a previous group defined in the geometry.
-- If a group is added, their faces will be source to generate layers
-the group.
<br><b>See Also</b> a sample TUI Script of the \ref tui_hybrid "creation of a MG-Hybrid hypothesis".
<ul>
$navpath
<li class="footer">
- Copyright © 2007-2013 CEA/DEN, EDF R&D<br>
+ Copyright © 2007-2014 CEA/DEN, EDF R&D<br>
</li>
</ul>
</div>
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
-// Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-// File : HYBRID_Algorithm.idl
-// Author : Julia DOROVSKIKH
+// ---
+// File : HYBRIDPlugin_Algorithm.idl
+// Author : Christian VAN WAMBEKE (CEA)
+// ---
//
#ifndef _HYBRID_Algorithm_IDL_
#define _HYBRID_Algorithm_IDL_
typedef sequence<HYBRIDEnforcedMesh> HYBRIDEnforcedMeshList;
/*!
- * HYBRIDPlugin_HYBRID: interface of "Tetrahedron (HYBRID)" algorithm
+ * HYBRIDPlugin_HYBRID: interface of "Tetra-hexahedron (HYBRID)" algorithm
*/
interface HYBRIDPlugin_HYBRID : SMESH::SMESH_3D_Algo
{
};
/*!
- * Parameters of "Tetrahedron (HYBRID)" algorithm
+ * Parameters of "Tetra-hexahedron (HYBRID)" algorithm
*/
interface HYBRIDPlugin_Hypothesis : SMESH::SMESH_Hypothesis
{
*/
void SetToMeshHoles(in boolean toMesh);
boolean GetToMeshHoles();
+ /*!
+ * To mesh layers on all wrap Default is yes.
+ */
+ void SetLayersOnAllWrap(in boolean toMesh);
+ boolean GetLayersOnAllWrap();
/*!
* To make groups of volumes of different domains when mesh is generated from skin.
* Default is to make groups.
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
<?xml version='1.0' encoding='us-ascii'?>
<!DOCTYPE meshers PUBLIC "" "desktop.dtd">
<!--
- Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+ Copyright (C) 2004-2014 CEA/DEN, EDF R&D
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
- version 2.1 of the License.
+ version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
-->
-<!-- GUI customization for MESH component -->
+<!-- GUI customization for HYBRID Plugin -->
<meshers>
<!--
- Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+ Copyright (C) 2004-2014 CEA/DEN, EDF R&D
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
- version 2.1 of the License.
+ version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
INCLUDE_DIRECTORIES(
${QT_INCLUDES}
${CAS_INCLUDE_DIRS}
+ ${PYTHON_INCLUDE_DIRS}
${KERNEL_INCLUDE_DIRS}
${GUI_INCLUDE_DIRS}
${GEOM_INCLUDE_DIRS}
HYBRIDPlugin_images.ts
HYBRIDPlugin_msg_en.ts
HYBRIDPlugin_msg_fr.ts
- HYBRIDPlugin_msg_ja.ts
)
# resource files / to be processed by uic
-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
//
// ---
-// File : HYBRIDPluginGUI.cxx
-// Authors : Gilles DAVID (Euriware)
+// File : HYBRIDPluginGUI.cxx
+// Author : Christian VAN WAMBEKE (CEA)
// ---
//
#include "HYBRIDPluginGUI_HypothesisCreator.h"
//=============================================================================
extern "C"
{
- HYBRIDPLUGINGUI_EXPORT
- SMESHGUI_GenericHypothesisCreator* GetHypothesisCreator( const QString& aHypType )
+ HYBRIDPLUGINGUI_EXPORT SMESHGUI_GenericHypothesisCreator* GetHypothesisCreator( const QString& aHypType )
{
SMESHGUI_GenericHypothesisCreator* aCreator = NULL;
-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-// HYBRIDPlugin GUI: GUI for plugged-in mesher HYBRIDPlugin
-// File : HYBRIDPluginGUI_HypothesisCreator.cxx
-// Author : Michael Zorin
-// Module : HYBRIDPlugin
+// ---
+// File : HYBRIDPluginGUI_HypothesisCreator.cxx
+// Author : Christian VAN WAMBEKE (CEA)
+// ---
//
#include "HYBRIDPluginGUI_HypothesisCreator.h"
#include "HYBRIDPluginGUI_Enums.h"
}
myToMeshHolesCheck = new QCheckBox( tr( "HYBRID_TO_MESH_HOLES" ), myStdGroup );
- //aStdLayout->addWidget( myToMeshHolesCheck, row, 0, 1, 1 );
+ //aStdLayout->addWidget( myToMeshHolesCheck, row, 0, 1, 1 ); #stay, not view, may be used tomorrow...
myToMeshHolesCheck->hide();
myToMakeGroupsOfDomains = new QCheckBox( tr( "HYBRID_TO_MAKE_DOMAIN_GROUPS" ), myStdGroup );
- //aStdLayout->addWidget( myToMakeGroupsOfDomains, row++, 1, 1, 1 );
+ //aStdLayout->addWidget( myToMakeGroupsOfDomains, row++, 1, 1, 1 ); #stay, not view, may be used tomorrow...
myToMakeGroupsOfDomains->hide();
//aStdLayout->addWidget( new QLabel( tr( "HYBRID_OPTIMIZATIOL_LEVEL" ), myStdGroup ), row, 0, 1, 1 );
myOptimizationLevelCombo = new QComboBox( myStdGroup );
- //aStdLayout->addWidget( myOptimizationLevelCombo, row++, 1, 1, 1 );
+ //aStdLayout->addWidget( myOptimizationLevelCombo, row++, 1, 1, 1 ); #stay, not view, may be used tomorrow...
myOptimizationLevelCombo->hide();
QStringList types;
// Enforced vertices parameters
myEnfGroup = new QWidget();
QGridLayout* anEnfLayout = new QGridLayout(myEnfGroup);
-
myEnforcedTableWidget = new QTableWidget(myEnfGroup);
myEnforcedTableWidget ->setMinimumWidth(300);
myEnforcedTableWidget->setRowCount( 0 );
// Enforced meshes parameters
myEnfMeshGroup = new QWidget();
+ myLayersOnAllWrapCheck = new QCheckBox( tr( "HYBRID_LAYERS_ON_ALL_WRAP" ), myEnfMeshGroup );
QGridLayout* anEnfMeshLayout = new QGridLayout(myEnfMeshGroup);
myEnforcedMeshTableWidget = new QTableWidget(myEnfGroup);
myEnfMeshWdg->SetDefaultText(tr("HYBRID_ENF_SELECT_MESH"), "QLineEdit { color: grey }");
myEnfMeshWdg->AvoidSimultaneousSelection(myEnfVertexWdg);
+ ////myEnfMeshWdg->hide(); //may be used later
QLabel* myMeshConstraintLabel = new QLabel( tr( "HYBRID_ENF_MESH_CONSTRAINT_LABEL" ), myEnfMeshGroup );
myEnfMeshConstraint = new QComboBox(myEnfMeshGroup);
myEnfMeshConstraint->insertItems(0,myEnfMeshConstraintLabels);
myEnfMeshConstraint->setEditable(false);
myEnfMeshConstraint->setCurrentIndex(2); //EZ: use mesh group of faces for a layer
+ myMeshConstraintLabel->hide(); //may be used later
+ myEnfMeshConstraint->hide(); //may be used later
QLabel* myMeshGroupNameLabel = new QLabel( tr( "HYBRID_ENF_GROUP_LABEL" ), myEnfMeshGroup );
myMeshGroupName = new QLineEdit(myEnfMeshGroup);
+ myMeshGroupNameLabel->hide(); //may be used later
+ myMeshGroupName->hide(); //may be used later
addEnfMeshButton = new QPushButton(tr("HYBRID_ENF_ADD"),myEnfMeshGroup);
-// addEnfMeshButton->setEnabled(false);
+ // addEnfMeshButton->setEnabled(false);
removeEnfMeshButton = new QPushButton(tr("HYBRID_ENF_REMOVE"),myEnfMeshGroup);
// QGroupBox* GroupBox2 = new QGroupBox( myEnfMeshGroup );
// GroupBox2VLayout->addWidget( info2 );
// anEnfMeshLayout->addWidget( GroupBox2, ENF_MESH_WARNING, 0, 1, 2 );
- anEnfMeshLayout->addWidget(myEnforcedMeshTableWidget, ENF_MESH_MESH, 0, ENF_MESH_NB_LINES , 1);
+ anEnfMeshLayout->addWidget(myLayersOnAllWrapCheck, ENF_MESH_MESH, 0, 1 , 1);
+ anEnfMeshLayout->addWidget(myEnforcedMeshTableWidget, ENF_MESH_MESH+1, 0, ENF_MESH_NB_LINES , 1);
QGridLayout* anEnfMeshLayout2 = new QGridLayout(myEnfMeshGroup);
anEnfMeshLayout2->addWidget(myEnfMeshWdg, ENF_MESH_MESH, 0, 1, 2);
- //TODO remove or er usmay be lateful to select layers...
+ //TODO remove or not be lateful to select layers...
//anEnfMeshLayout2->addWidget(myMeshConstraintLabel, ENF_MESH_CONSTRAINT, 0, 1, 1);
//anEnfMeshLayout2->addWidget(myEnfMeshConstraint, ENF_MESH_CONSTRAINT, 1, 1, 1);
//anEnfMeshLayout2->addWidget(myMeshGroupNameLabel, ENF_MESH_GROUP, 0, 1, 1);
anEnfMeshLayout2->addWidget(removeEnfMeshButton, ENF_MESH_BTN, 1, 1, 1);
anEnfMeshLayout2->setRowStretch(ENF_MESH_NB_LINES, 1);
- anEnfMeshLayout->addLayout(anEnfMeshLayout2, ENF_MESH_MESH, 1, ENF_MESH_NB_LINES, 1);
+ anEnfMeshLayout->addLayout(anEnfMeshLayout2, ENF_MESH_MESH+1, 1, ENF_MESH_NB_LINES, 1);
anEnfMeshLayout->setRowStretch(ENF_MESH_MESH, 10);
tab->setCurrentIndex( STD_TAB );
// connections
+ //connect( myLayersOnAllWrapCheck, SIGNAL( toggled( bool ) ), this, SLOT( onLayersOnAllWrap(bool)));
+ connect( myLayersOnAllWrapCheck, SIGNAL( toggled( bool ) ), this, SLOT( updateWidgets() ) );
//connect( myToMeshHolesCheck, SIGNAL( toggled( bool ) ), this, SLOT( onToMeshHoles(bool)));
//connect( myAdvWidget->maxMemoryCheck, SIGNAL( toggled( bool ) ), this, SLOT( updateWidgets() ) );
//connect( myAdvWidget->initialMemoryCheck, SIGNAL( toggled( bool ) ), this, SLOT( updateWidgets() ) );
myEnforcedTableWidget->selectionModel()->clearSelection();
}
+void HYBRIDPluginGUI_HypothesisCreator::onLayersOnAllWrap(bool isOn)
+{
+ // myToMakeGroupsOfDomains->setEnabled( isOn );
+ // if ( !isOn )
+ // myToMakeGroupsOfDomains->setChecked( false );
+}
+
void HYBRIDPluginGUI_HypothesisCreator::onToMeshHoles(bool isOn)
{
// myToMakeGroupsOfDomains->setEnabled( isOn );
myAdvWidget->removeLogOnSuccessCheck->setEnabled( logFileRemovable );
}
+ bool enabled = !myLayersOnAllWrapCheck->isChecked();
+ myEnforcedMeshTableWidget->setEnabled(enabled);
+ addEnfMeshButton->setEnabled(enabled);
+ removeEnfMeshButton->setEnabled(enabled);
+ myEnfMeshWdg->setEnabled(enabled);
+ //xxx->setEnabled(enabled);
}
bool HYBRIDPluginGUI_HypothesisCreator::checkParams(QString& msg) const
if ( myName )
myName->setText( data.myName );
-
+ myLayersOnAllWrapCheck ->setChecked ( data.myLayersOnAllWrap );
myToMeshHolesCheck ->setChecked ( data.myToMeshHoles );
myToMakeGroupsOfDomains ->setChecked ( data.myToMakeGroupsOfDomains );
myOptimizationLevelCombo ->setCurrentIndex( data.myOptimizationLevel );
HypothesisData* data = SMESH::GetHypothesisData( hypType() );
h_data.myName = isCreation() && data ? hypName() : "";
+ h_data.myLayersOnAllWrap = h->GetLayersOnAllWrap();
h_data.myToMeshHoles = h->GetToMeshHoles();
h_data.myToMakeGroupsOfDomains = /*h->GetToMeshHoles() &&*/ h->GetToMakeGroupsOfDomains();
h_data.myMaximumMemory = h->GetMaximumMemory();
if( isCreation() )
SMESH::SetName( SMESH::FindSObject( h ), h_data.myName.toLatin1().constData() );
+ if ( h->GetLayersOnAllWrap() != h_data.myLayersOnAllWrap ) // avoid duplication of DumpPython commands
+ h->SetLayersOnAllWrap ( h_data.myLayersOnAllWrap );
if ( h->GetToMeshHoles() != h_data.myToMeshHoles ) // avoid duplication of DumpPython commands
h->SetToMeshHoles ( h_data.myToMeshHoles );
if ( h->GetToMakeGroupsOfDomains() != h_data.myToMakeGroupsOfDomains )
{
MESSAGE("HYBRIDPluginGUI_HypothesisCreator::readParamsFromWidgets");
h_data.myName = myName ? myName->text() : "";
+ h_data.myLayersOnAllWrap = myLayersOnAllWrapCheck->isChecked();
h_data.myToMeshHoles = myToMeshHolesCheck->isChecked();
h_data.myToMakeGroupsOfDomains = myToMakeGroupsOfDomains->isChecked();
h_data.myMaximumMemory = myAdvWidget->maxMemoryCheck->isChecked() ? myAdvWidget->maxMemorySpin->value() : -1;
-// Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-// HYBRIDPlugin GUI: GUI for plugged-in mesher HYBRIDPlugin
-// File : HYBRIDPluginGUI_HypothesisCreator.h
-// Author : Michael Zorin
-// Module : HYBRIDPlugin
+// ---
+// File : HYBRIDPluginGUI_HypothesisCreator.h
+// Author : Christian VAN WAMBEKE (CEA)
+// ---
//
#ifndef HYBRIDPLUGINGUI_HypothesisCreator_HeaderFile
#define HYBRIDPLUGINGUI_HypothesisCreator_HeaderFile
typedef struct
{
- bool myToMeshHoles, myToMakeGroupsOfDomains,
+ bool myLayersOnAllWrap, myToMeshHoles, myToMakeGroupsOfDomains,
myKeepFiles, myToCreateNewNodes,
myBoundaryRecovery, myFEMCorrection,
myRemoveInitialCentralPoint,
} HYBRIDHypothesisData;
/*!
- \brief Class for creation of HYBRID2D and HYBRID3D hypotheses
+ \brief Class for creation of HYBRID 3D hypotheses
*/
class HYBRIDPLUGINGUI_EXPORT HYBRIDPluginGUI_HypothesisCreator : public SMESHGUI_GenericHypothesisCreator
{
virtual QString type() const;
protected slots:
+ void onLayersOnAllWrap(bool);
void onToMeshHoles(bool);
void onDirBtnClicked();
void updateWidgets();
private:
QWidget* myStdGroup;
QLineEdit* myName;
+ QCheckBox* myLayersOnAllWrapCheck;
QCheckBox* myToMeshHolesCheck;
QCheckBox* myToMakeGroupsOfDomains;
QComboBox* myOptimizationLevelCombo;
<translation>HYBRID</translation>
</message>
<message>
- <source>HYBRID_OPTIMIZATIOL_LEVEL</source>
+ <source>HYBRID_OPTIMIZATION_LEVEL</source>
<translation>Optimization level</translation>
</message>
<message>
<source>HYBRID_TO_MESH_HOLES</source>
<translation>Mesh holes</translation>
</message>
+ <message>
+ <source>HYBRID_LAYERS_ON_ALL_WRAP</source>
+ <translation>Mesh layers on all wrap</translation>
+ </message>
<message>
<source>HYBRID_TO_MAKE_DOMAIN_GROUPS</source>
<translation>Make groups of domains</translation>
<TS version="2.0" language="fr_FR">
<context>
<name>@default</name>
- <message>
- <source>HYBRID_TO_MAKE_DOMAIN_GROUPS</source>
- <translation>Pour créer des groupes de domaines</translation>
- </message>
<message>
<source>HYBRID_ADV_ARGS</source>
<translation>Avancé</translation>
<translation>HYBRID</translation>
</message>
<message>
- <source>HYBRID_OPTIMIZATIOL_LEVEL</source>
+ <source>HYBRID_OPTIMIZATION_LEVEL</source>
<translation>Niveau d'optimisation</translation>
</message>
<message>
<source>HYBRID_TITLE</source>
<translation>Construction de l'hypothèse </translation>
</message>
+ <message>
+ <source>HYBRID_BOUNDARY_LAYERS_GROWTH</source>
+ <translation>Croissance des couches limites</translation>
+ </message>
+ <message>
+ <source>HYBRID_BOUNDARY_LAYERS_HELP</source>
+ <translation>Attention:
+chaque mailleur a sa propre convention sur l'orientation de la normale,
+en conséquence au dessous signifie à l'intérieur et au dessus signifie à l'extérieur ...
+... ou vice versa.</translation>
+ </message>
+ <message>
+ <source>HYBRID_LAYER_GROWTH_INWARD</source>
+ <translation>Croissance des couches limites à l'intérieur</translation>
+ </message>
+ <message>
+ <source>HYBRID_LAYER_GROWTH_OUTWARD</source>
+ <translation>Croissance des couches limites à l'extérieur</translation>
+ </message>
+ <message>
+ <source>HYBRID_LAYER_GROWTH_UPWARD</source>
+ <translation>Croissance des couches limites au dessus</translation>
+ </message>
+ <message>
+ <source>HYBRID_LAYER_GROWTH_DOWNWARD</source>
+ <translation>Croissance des couches limites au dessous</translation>
+ </message>
+ <message>
+ <source>HYBRID_GENERATION_ELEMENT</source>
+ <translation>Type d'éléments utilisé au coeur du volume</translation>
+ </message>
+ <message>
+ <source>HYBRID_GENERATION_TETRA_DOMINANT</source>
+ <translation>Dominance de tétrahedres</translation>
+ </message>
+ <message>
+ <source>HYBRID_GENERATION_HEXA_DOMINANT</source>
+ <translation>Dominance d'hexaèdres</translation>
+ </message>
+ <message>
+ <source>HYBRID_ADD_MULTINORMALS</source>
+ <translation>Ajout d'extra normales extérieures aux arêtes et coins</translation>
+ </message>
+ <message>
+ <source>HYBRID_MULTINORMAL_ANGLE</source>
+ <translation>Angle des extra normales extérieures</translation>
+ </message>
+ <message>
+ <source>HYBRID_SMOOTH_NORMALS</source>
+ <translation>Lissage des normales intérieures aux arêtes et coins</translation>
+ </message>
+ <message>
+ <source>HYBRID_HeightFirstLayer</source>
+ <translation>Hauteur de la première couche limite</translation>
+ </message>
+ <message>
+ <source>HYBRID_NbOfBoundaryLayers</source>
+ <translation>Nombre de mailles des couches limites</translation>
+ </message>
+ <message>
+ <source>HYBRID_BoundaryLayersProgression</source>
+ <translation>Progression géometrique des couches limites</translation>
+ </message>
<message>
<source>HYBRID_TO_MESH_HOLES</source>
<translation>Mailler les trous</translation>
</message>
+ <message>
+ <source>HYBRID_LAYERS_ON_ALL_WRAP</source>
+ <translation>Mailler les couches limites sur toute l'enveloppe</translation>
+ </message>
<message>
<source>ADVANCED_MESHING_GROUP_TITLE</source>
<translation>Options de maillage avancées</translation>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS>
- <context>
- <name>@default</name>
- <message>
- <source>HYBRID_ADV_ARGS</source>
- <translation>高度な</translation>
- </message>
- <message>
- <source>HYBRID_HYPOTHESIS</source>
- <translation>HYBRID</translation>
- </message>
- <message>
- <source>HYBRID_OPTIMIZATIOL_LEVEL</source>
- <translation>最適化のレベル</translation>
- </message>
- <message>
- <source>HYBRID_PERMISSION_DENIED</source>
- <translation>ディレクトリを作成することはできません。</translation>
- </message>
- <message>
- <source>HYBRID_STD_ARGS</source>
- <translation>パラメーター</translation>
- </message>
- <message>
- <source>HYBRID_TITLE</source>
- <translation>仮説の構築</translation>
- </message>
- <message>
- <source>HYBRID_TO_MESH_HOLES</source>
- <translation>メッシュの穴</translation>
- </message>
- <message>
- <source>HYBRID_TO_MAKE_DOMAIN_GROUPS</source>
- <translation>ドメインのグループを確認するには</translation>
- </message>
- <message>
- <source>ADVANCED_MESHING_GROUP_TITLE</source>
- <translation>高度なメッシュ オプション</translation>
- </message>
- <message>
- <source>INIT_MEMORY_SIZE</source>
- <translation>初期メモリのサイズ、</translation>
- </message>
- <message>
- <source>KEEP_WORKING_FILES</source>
- <translation>すべての一時ファイルを保持します。</translation>
- </message>
- <message>
- <source>LEVEL_NONE</source>
- <translation>なし</translation>
- </message>
- <message>
- <source>LEVEL_LIGHT</source>
- <translation>光</translation>
- </message>
- <message>
- <source>LEVEL_MEDIUM</source>
- <translation>(標準) の方法</translation>
- </message>
- <message>
- <source>LEVEL_STANDARDPLUS</source>
- <translation>標準</translation>
- </message>
- <message>
- <source>LEVEL_STRONG</source>
- <translation>砦</translation>
- </message>
- <message>
- <source>LOG_IN_FILE</source>
- <translation>ログ ファイルへの印刷します。</translation>
- </message>
- <message>
- <source>LOG_GROUP_TITLE</source>
- <translation>Et のログをデバッグ</translation>
- </message>
- <message>
- <source>MAX_MEMORY_SIZE</source>
- <translation>最大メモリ サイズ</translation>
- </message>
- <message>
- <source>MEGABYTE</source>
- <translation>メガバイト</translation>
- </message>
- <message>
- <source>MEMORY_GROUP_TITLE</source>
- <translation>メモリの設定</translation>
- </message>
- <message>
- <source>NO_INITIAL_CENTRAL_POINT</source>
- <translation>元の中心点を削除します。</translation>
- </message>
- <message>
- <source>RECOVERY_VERSION</source>
- <translation>バージョン境界の復元を使用します。</translation>
- </message>
- <message>
- <source>FEM_CORRECTION</source>
- <translation>GEF 補正を使用してください。</translation>
- </message>
- <message>
- <source>HYBRID_GRADATION</source>
- <translation>ボリュームのグラデーション</translation>
- </message>
- <message>
- <source>REMOVE_LOG_ON_SUCCESS</source>
- <translation>削除ログ成功</translation>
- </message>
- <message>
- <source>SELECT_DIR</source>
- <translation>...</translation>
- </message>
- <message>
- <source>TEXT_OPTION</source>
- <translation>テキスト オプション</translation>
- </message>
- <message>
- <source>TO_ADD_NODES</source>
- <translation>新しいノードを作成します。</translation>
- </message>
- <message>
- <source>VERBOSE_LEVEL</source>
- <translation>詳細レベル</translation>
- </message>
- <message>
- <source>WORKING_DIR</source>
- <translation>作業ディレクトリ</translation>
- </message>
- <message>
- <source>HYBRID_ENFORCED_VERTICES</source>
- <translation>交差点</translation>
- </message>
- <message>
- <source>HYBRID_ENFORCED_MESHES</source>
- <translation>制約メッシュ</translation>
- </message>
- <message>
- <source>HYBRID_ENF_NAME_COLUMN</source>
- <translation>名前</translation>
- </message>
- <message>
- <source>HYBRID_ENF_VER_X_COLUMN</source>
- <translation>X</translation>
- </message>
- <message>
- <source>HYBRID_ENF_VER_Y_COLUMN</source>
- <translation>そこ</translation>
- </message>
- <message>
- <source>HYBRID_ENF_VER_Z_COLUMN</source>
- <translation>Z</translation>
- </message>
- <message>
- <source>HYBRID_ENF_SIZE_COLUMN</source>
- <translation>サイズ</translation>
- </message>
- <message>
- <source>HYBRID_ENF_ENTRY_COLUMN</source>
- <translation>ポイント ID</translation>
- </message>
- <message>
- <source>HYBRID_ENF_MESH_CONSTRAINT_COLUMN</source>
- <translation>制約</translation>
- </message>
- <message>
- <source>HYBRID_ENF_VER_COMPOUND_COLUMN</source>
- <translation>複合</translation>
- </message>
- <message>
- <source>HYBRID_ENF_GROUP_COLUMN</source>
- <translation>グループ</translation>
- </message>
- <message>
- <source>HYBRID_ENF_SELECT_VERTEX</source>
- <translation>・ ポイント (s) の選択</translation>
- </message>
- <message>
- <source>HYBRID_ENF_SELECT_MESH</source>
- <translation>1 つを選択/メッシュ (s)</translation>
- </message>
- <message>
- <source>HYBRID_ENF_VER_X_LABEL</source>
- <translation>X:</translation>
- </message>
- <message>
- <source>HYBRID_ENF_VER_Y_LABEL</source>
- <translation>Y:</translation>
- </message>
- <message>
- <source>HYBRID_ENF_VER_Z_LABEL</source>
- <translation>Z:</translation>
- </message>
- <message>
- <source>HYBRID_ENF_MESH_CONSTRAINT_LABEL</source>
- <translation>制約:</translation>
- </message>
- <message>
- <source>HYBRID_ENF_MESH_CONSTRAINT_NODE</source>
- <translation>節点</translation>
- </message>
- <message>
- <source>HYBRID_ENF_MESH_CONSTRAINT_EDGE</source>
- <translation>セグメント</translation>
- </message>
- <message>
- <source>HYBRID_ENF_MESH_CONSTRAINT_FACE</source>
- <translation>Faces</translation>
- </message>
- <message>
- <source>HYBRID_ENF_SIZE_LABEL</source>
- <translation>サイズ:</translation>
- </message>
- <message>
- <source>HYBRID_ENF_GROUP_LABEL</source>
- <translation>グループ:</translation>
- </message>
- <message>
- <source>HYBRID_ENF_ADD</source>
- <translation>追加</translation>
- </message>
- <message>
- <source>HYBRID_ENF_REMOVE</source>
- <translation>削除</translation>
- </message>
- <message>
- <source>HYBRID_ENF_VER_INFO</source>
- <translation><b>注意</b>: 交差ポイント関連ジオメトリなしメッシュが考慮されます。</translation>
- </message>
- <message>
- <source>HYBRID_ENF_MESH_INFO</source>
- <translation><b>注意</b>: 要素制約の関連付けられたジオメトリなしメッシュ考慮されます。</translation>
- </message>
- </context>
-</TS>
-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
)
# additional preprocessor / compiler flags
-ADD_DEFINITIONS(
+ADD_DEFINITIONS(
${OMNIORB_DEFINITIONS}
${CAS_DEFINITIONS}
${BOOST_DEFINITIONS}
# -*- coding: utf-8 -*-
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# Mesh algo type identifiers
#----------------------------
-## Algorithm type: HYBRID tetrahedron 3D algorithm, see HYBRID_Algorithm
+## Algorithm type: HYBRID tetra-hexahedron 3D algorithm, see HYBRID_Algorithm
HYBRID = "HYBRID_3D"
## Tetrahedron HYBRID 3D algorithm
pass
return self.params
+ ## To mesh layers on all wrap. Default is to mesh.
+ # @param toMesh "mesh layers on all wrap" flag value
+ def SetLayersOnAllWrap(self, toMesh):
+ self.Parameters().SetLayersOnAllWrap(toMesh)
+ pass
+
"""
obsolete
## To mesh "holes" in a solid or not. Default is to mesh.
-// Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2004-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-//=============================================================================
-// File : HYBRIDPlugin_HYBRID.cxx
-// Created :
-// Author : Edward AGAPOV, modified by Lioka RAZAFINDRAZAKA (CEA) 09/02/2007
-// Project : SALOME
-//=============================================================================
+// ---
+// File : HYBRIDPlugin_HYBRID.cxx
+// Author : Christian VAN WAMBEKE (CEA) (from GHS3D plugin V730)
+// ---
//
#include "HYBRIDPlugin_HYBRID.hxx"
#include "HYBRIDPlugin_Hypothesis.hxx"
-// Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-//=============================================================================
-// File : HYBRIDPlugin_HYBRID.hxx
-// Author : Edward AGAPOV, modified by Lioka RAZAFINDRAZAKA (CEA) 09/02/2007
-// Project : SALOME
-//=============================================================================
+// ---
+// File : HYBRIDPlugin_HYBRID.hxx
+// Author : Christian VAN WAMBEKE (CEA) (from GHS3D plugin V730)
+// ---
//
#ifndef _HYBRIDPlugin_HYBRID_HXX_
#define _HYBRIDPlugin_HYBRID_HXX_
-// Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-// SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
-// File : HYBRIDPlugin_HYBRID_i.cxx
-// Author : Edward AGAPOV
-// Module : HYBRIDPlugin
-// $Header$
+// ---
+// File : HYBRIDPlugin_HYBRID_i.cxx
+// Author : Christian VAN WAMBEKE (CEA) (from GHS3D plugin V730)
+// ---
//
#include "HYBRIDPlugin_HYBRID_i.hxx"
#include "SMESH_Gen.hxx"
-// Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-// File : HYBRIDPlugin_HYBRID_i.hxx
-// Author : Edward AGAPOV
-// Module : HYBRIDPlugin
-// $Header$
+// ---
+// File : HYBRIDPlugin_HYBRID_i.hxx
+// Author : Christian VAN WAMBEKE (CEA)
+// ---
//
#ifndef _HYBRIDPlugin_HYBRID_I_HXX_
#define _HYBRIDPlugin_HYBRID_I_HXX_
+#include "HYBRIDPlugin_Defs.hxx"
+
#include <SALOMEconfig.h>
#include CORBA_SERVER_HEADER(HYBRIDPlugin_Algorithm)
#include CORBA_SERVER_HEADER(SALOME_Exception)
public:
// Constructor
HYBRIDPlugin_HYBRID_i (PortableServer::POA_ptr thePOA,
- int theStudyId,
- ::SMESH_Gen* theGenImpl );
+ int theStudyId,
+ ::SMESH_Gen* theGenImpl );
// Destructor
virtual ~HYBRIDPlugin_HYBRID_i();
-
+
// Get implementation
::HYBRIDPlugin_HYBRID* GetImpl();
-// Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
HYBRIDPlugin_Hypothesis::HYBRIDPlugin_Hypothesis(int hypId, int studyId, SMESH_Gen * gen)
: SMESH_Hypothesis(hypId, studyId, gen),
myToMeshHoles(DefaultMeshHoles()),
+ myLayersOnAllWrap(DefaultLayersOnAllWrap()),
myToMakeGroupsOfDomains(DefaultToMakeGroupsOfDomains()),
myMaximumMemory(-1),
myInitialMemory(-1),
_param_algo_dim = 3;
}
+//=======================================================================
+//function : SetLayersOnAllWrap
+//=======================================================================
+
+void HYBRIDPlugin_Hypothesis::SetLayersOnAllWrap(bool toMesh)
+{
+ if ( myLayersOnAllWrap != toMesh ) {
+ myLayersOnAllWrap = toMesh;
+ NotifySubMeshesHypothesisModification();
+ }
+}
+
+//=======================================================================
+//function : GetLayersOnAllWrap
+//=======================================================================
+
+bool HYBRIDPlugin_Hypothesis::GetLayersOnAllWrap(bool checkFreeOption) const
+{
+ return myLayersOnAllWrap;
+}
+
//=======================================================================
//function : SetToMeshHoles
//=======================================================================
}
+//=======================================================================
+//function : DefaultLayersOnAllWrap
+//=======================================================================
+
+bool HYBRIDPlugin_Hypothesis::DefaultLayersOnAllWrap()
+{
+ return true;
+}
+
//=======================================================================
//function : DefaultMeshHoles
//=======================================================================
save << (int) myElementGeneration << " ";
save << (int) myAddMultinormals << " ";
save << (int) mySmoothNormals << " ";
+ save << (int) myLayersOnAllWrap << " ";
save << myNbOfBoundaryLayers << " ";
save << myHeightFirstLayer << " ";
else
load.clear(ios::badbit | load.rdstate());
+ isOK = (load >> i);
+ if (isOK)
+ myLayersOnAllWrap = (bool) i;
+ else
+ load.clear(ios::badbit | load.rdstate());
+
isOK = (load >> i);
if (isOK)
myNbOfBoundaryLayers = (short) i;
bool p_sn = ( hyp->myTextOption.find("--smooth_normals ") != std::string::npos );
bool nolayers = false;
+ bool layersOnAllWrap = hyp->myLayersOnAllWrap;
//help mode
if ( p_h ) {
//--boundary_layers_surface_ids 5 #for all wrap shell
//--boundary_layers_surface_ids 6 #for all enfMeshList
- //TODO if ( !nolayers ) cmd += " --boundary_layers_surface_ids 5,6 "; //as all wrap shell and triangles of enforced mesh
- if ( !nolayers ) cmd += " --boundary_layers_surface_ids 6 "; //as triangles of enforced mesh
-
+ //TODO? if ( !nolayers ) cmd += " --boundary_layers_surface_ids 5,6 "; //as all wrap shell and triangles of enforced mesh
+ if ( !nolayers ) {
+ if (layersOnAllWrap)
+ cmd += " --boundary_layers_surface_ids 5 "; //as triangles of all wrap
+ else
+ cmd += " --boundary_layers_surface_ids 6 "; //as triangles of enforced mesh
+ }
+
if ( !p_eg && hyp ) {
if ( hyp->myElementGeneration >= 0 && hyp->myElementGeneration <= 1 ) {
const char* value[] = { "tetra-dominant" , "hexa-dominant" };
-// Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-// HYBRIDPlugin : C++ implementation
-// File : HYBRIDPlugin_Hypothesis.hxx
-// Created : Wed Apr 2 12:21:17 2008
-// Author : Edward AGAPOV (eap)
+// ---
+// File : HYBRIDPlugin_Hypothesis.hxx
+// Author : Christian VAN WAMBEKE (CEA)
+// ---
//
#ifndef HYBRIDPlugin_Hypothesis_HeaderFile
#define HYBRIDPlugin_Hypothesis_HeaderFile
*/
void SetToMeshHoles(bool toMesh);
bool GetToMeshHoles(bool checkFreeOption = false) const;
+ /*!
+ * To mesh layers on all wrap. Default is yes.
+ */
+ void SetLayersOnAllWrap(bool toMesh);
+ bool GetLayersOnAllWrap(bool checkFreeOption = false) const;
/*!
* To make groups of volumes of different domains when mesh is generated from skin.
* Default is to make groups.
void ClearGroupsToRemove();
static bool DefaultMeshHoles();
+ static bool DefaultLayersOnAllWrap();
static bool DefaultToMakeGroupsOfDomains();
static double DefaultMaximumMemory();
static double DefaultInitialMemory();
private:
bool myToMeshHoles;
+ bool myLayersOnAllWrap;
bool myToMakeGroupsOfDomains;
double myMaximumMemory;
double myInitialMemory;
-// Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-// File : HYBRIDPlugin_Hypothesis_i.cxx
-// Created : Wed Apr 2 13:53:01 2008
-// Author : Edward AGAPOV (eap)
+// ---
+// File : HYBRIDPlugin_Hypothesis_i.cxx
+// Author : Christian VAN WAMBEKE (CEA)
+// ---
//
#include "HYBRIDPlugin_Hypothesis_i.hxx"
MESSAGE( "HYBRIDPlugin_Hypothesis_i::~HYBRIDPlugin_Hypothesis_i" );
}
+//=======================================================================
+//function : SetLayersOnAllWrap
+//=======================================================================
+
+void HYBRIDPlugin_Hypothesis_i::SetLayersOnAllWrap(CORBA::Boolean toMesh)
+{
+ ASSERT(myBaseImpl);
+ this->GetImpl()->SetLayersOnAllWrap(toMesh);
+ SMESH::TPythonDump() << _this() << ".SetLayersOnAllWrap( " << toMesh << " )";
+}
+
+//=======================================================================
+//function : GetLayersOnAllWrap
+//=======================================================================
+
+CORBA::Boolean HYBRIDPlugin_Hypothesis_i::GetLayersOnAllWrap()
+{
+ ASSERT(myBaseImpl);
+ return this->GetImpl()->GetLayersOnAllWrap();
+}
+
//=======================================================================
//function : SetToMeshHoles
//=======================================================================
-// Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-// HYBRIDPlugin : C++ implementation
-// File : HYBRIDPlugin_Hypothesis_i.hxx
-// Date : 03/04/2006
-// Project : SALOME
+// ---
+// File : HYBRIDPlugin_Hypothesis_i.hxx
+// Author : Christian VAN WAMBEKE (CEA)
+// ---
//
#ifndef _HYBRIDPlugin_Hypothesis_i_HXX_
#define _HYBRIDPlugin_Hypothesis_i_HXX_
public:
// Constructor
HYBRIDPlugin_Hypothesis_i (PortableServer::POA_ptr thePOA,
- int theStudyId,
- ::SMESH_Gen* theGenImpl);
+ int theStudyId,
+ ::SMESH_Gen* theGenImpl);
// Destructor
virtual ~HYBRIDPlugin_Hypothesis_i();
*/
void SetToMeshHoles(CORBA::Boolean toMesh);
CORBA::Boolean GetToMeshHoles();
+ /*!
+ * To mesh "layers on all wrap". Default is to mesh.
+ */
+ void SetLayersOnAllWrap(CORBA::Boolean toMesh);
+ CORBA::Boolean GetLayersOnAllWrap();
/*!
* To make groups of volumes of different domains when mesh is generated from skin.
* Default is to make groups.
// Get implementation
::HYBRIDPlugin_Hypothesis* GetImpl();
-
- // Verify whether hypothesis supports given entity type
+
+ // Verify whether hypothesis supports given entity type
CORBA::Boolean IsDimSupported( SMESH::Dimension type );
};
-// Copyright (C) 2004-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-// SMESH HYBRIDPlugin : implementaion of SMESH idl descriptions
-// File : HYBRIDPlugin.cxx
-// Author : Julia DOROVSKIKH
-// Module : SMESH
-// $Header$
+// ---
+// File : HYBRIDPlugin_i.cxx
+// Author : Christian VAN WAMBEKE (CEA)
+// ---
//
#include "SMESH_Hypothesis_i.hxx"
-# Copyright (C) 2007-2013 CEA/DEN, EDF R&D
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of